From 8b93aac617a8537dee3140db1f4caad0fd25e280 Mon Sep 17 00:00:00 2001 From: Stefan Bethke Date: Sun, 1 Nov 2026 20:13:39 +0100 Subject: [PATCH 1/2] Add Hackertours Admin (hta) --- .sops.yaml | 7 + .../chaosknoten/group_vars/all.sops.yaml | 571 +++++++++--------- .../chaosknoten/host_vars/hta.sops.yaml | 195 ++++++ inventories/chaosknoten/host_vars/hta.yaml | 13 + inventories/chaosknoten/hosts.yaml | 10 + .../auth-dns/zones/hamburg.ccc.de.zone | 2 + .../hta/docker_compose/compose.yaml.j2 | 96 +++ .../hta/nginx/hta.hamburg.ccc.de.conf | 46 ++ .../nginx/acme_challenge.conf | 1 + .../public-reverse-proxy/nginx/nginx.conf | 1 + 10 files changed, 661 insertions(+), 281 deletions(-) create mode 100644 inventories/chaosknoten/host_vars/hta.sops.yaml create mode 100644 inventories/chaosknoten/host_vars/hta.yaml create mode 100644 resources/chaosknoten/hta/docker_compose/compose.yaml.j2 create mode 100644 resources/chaosknoten/hta/nginx/hta.hamburg.ccc.de.conf diff --git a/.sops.yaml b/.sops.yaml index 02147972..153ff2a2 100644 --- a/.sops.yaml +++ b/.sops.yaml @@ -45,6 +45,7 @@ keys: - &host_forgejo_runner_ansible_pull_age_key age1az0k6cadssk6r8qcqxfr8cyu5mndy59pwt8yqq6w065ew6au4ezsmg2vkf - &host_forgejo_runner_external_ansible_pull_age_key age1pq1jqrcp3te50xugmv5wst3s9ahj0d38rfktxt43wlcqz7vnwyn3y2h7kyfr6rckrvmuk9m7yvp4efjnfsuxx6d8r9gn222r2eal5593arywrjwrgeypf745wyuvf3z2xk9tm5fgnwckftuvdggk66fph59rw69nt5dpjeewuww4vzt9gs4xelre952s7zjz56qv8tvesg2c89sp8rmy9dvhwfd6tucjhs6sjr6yp2njjra2u6w7c7f0sch3rwkw3wf2dc9su9aaa9q2f22sh5yf0fqejxa2qqpq4pg752589st5xsa5g8tpkjglj4tn35gd4hjj0xet9cjwhydmkmmkffy3nr8zdtctqu6pqsyf7aphvktryez39ru3qe7m6nvr465ffxr0ltvr85nddzxvcwpwpac64nu5tdfrxgjfqzc99vr3zxv8carpsw5evmruqlvrq6v6a4m2cwsz5gqw7nyk3jlj75kp5cnafzjn5dyrf8ppfhp5g5s34zsl7pejmmx2uuudjt7ru2y7as9mtagykrgqgt80fvp3eeh4gsmmd3ujgtp0ranq28aq9x0xdekqh49pfhhprjj6zqdfac5gxtjj736kh5jktc4ls4mjs3p33rzt6ze54uqsfept3qhua2pmugypup6hm6j2ek5sgxjnwvqyfj2l8vz4yfgkaxf699v7jqlwf7g68ang5kzqrjsu78lyardm4zen8zhrr24j334qdgs4zr8dhsfsnmvx9cdvu0swx27tcz8txs46zds9kekgmua7w7fnw3l2lf6zla956ssycac4zjy87rawr4thusxtcqgfzfzh2za9np0s34e5dwkp2l2k06cq09myxqfe7ze6a53d8sl5j43qcekh6kfvl9k0t7903q99pc35630zwm3hwxgnw354du5gngnz56skq9zx3pcnkr5eyh8r8t0dqudmvrrwmxreu6tgrklxw7yvu3zkjgt3gyjhc8kqcrevlukay45sz4k9zqxx9yrs88hzt4h52r2g74alf3cedes3atufy06q4lfq3nxdlnve0kqcwstzr6z6u7fqpqvacezdrr62ycteju6dqawkpthu0drtlxj547htfjcsnrmhgvhskwtuhk6yp7wp30p7qc5vkk8fegg6qx5kc9xs4trx7hj9xgydu7vd30hkceuxsczywjs9v2fl3svkwfypg62882yq6ltv7gfj4ajuy8ezd76g0z7juwspe7q6zs5ceshd6038tvvh2nlpjty6rg6a9qfzhgmjx9s6hynyk7xnq9zra6hxstg8p58x75hapd2mk6rapfunlnnkz5dsxjf4ud4dsvgjfjpzxcdy7sp8dzxtengrsdyu4824mqlw8p63d7m2z4mcyme4tm2qkugtdgrkyphe7akk2geukf6xkfkzd2pkdq5s3qm9fkvfkgrv6yw5kdgjak8xcgesg6tumans4fs8yrxtqlvv2z3emdvwchrjfq4xpzsj27yt4gdg8pknwz9tqpjkjxq6lysutrvwkvt2fwyj8wvv8wtmdl6fk6rsd9kq9a6wkhuq7vvrgwgj3xg2s229sprj4g2vzhy2dfesrp403gs64jqkrjuezwm4zd6uw2x4e2qkj8xqcf7c0zprdzu959x23u878vqqetgpjwt0z3kedt8l6dgpm0rf5dmrya5h3wgzfa0jjvgjphyxgxrwlrzpv4czgal933zs64tn90ks66ejjdaw4t67sch8r3q0kljeqnpdgmw0cpj6arc6k46wcqaccygczy76zt9362vslakvzqqv33tv3sjldp6qxprharmpm9uykgpx66343wuur5xj2aw0rgutpm4ztjzycn3a8d2jq2zpdzwmevezm7mkp9dmndkc3qz0kklgkxq9yehrk5ayfly97umhws0jll8qqg0r7gzxgw5vv76 - &host_matrix_sync_external_ansible_pull_age_key age1q7kz3pnfq6cvtn56rlfgs52efcvtcmaq4xny0va3x5wxj4vpgccsenwxk6 + - &host_hta_ansible_pull_age_key age1n44q80zmsnq8dehnkm8g78u0ku48zafrq4vg5pzz8ft9jkqja5jsamwxhn external: age: &host_external_age_keys - &host_status_ansible_pull_age_key age1p546j6whqsyfkjuf674lawrnk2ex653fuvwhcwt46gkrspkq59sqzm5y87 @@ -132,6 +133,12 @@ creation_rules: - *host_netbox_ansible_pull_age_key merge: - *admin_keys + - path_regex: "inventories/chaosknoten/host_vars/hta\\.sops\\..+" + key_groups: + - age: + - *host_hta_ansible_pull_age_key + merge: + - *admin_keys - path_regex: "inventories/chaosknoten/host_vars/tickets\\.sops\\..+" key_groups: - age: diff --git a/inventories/chaosknoten/group_vars/all.sops.yaml b/inventories/chaosknoten/group_vars/all.sops.yaml index 57273b50..358bee65 100644 --- a/inventories/chaosknoten/group_vars/all.sops.yaml +++ b/inventories/chaosknoten/group_vars/all.sops.yaml @@ -4,452 +4,461 @@ sops: age: - enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHNzaC1lZDI1NTE5IHFyYkk3dyBuYkk0 - ZzNwWGVvSnEvWjEwREpaTGpvRUVCOGZuRTVBK1ladVA5ajY5ODBRClFXY1ZYMElU - Mk54WUV4SXdUWmNpbVMvREhld3JTVFZ5OGxoVStYSVlNd0EKLS0tIEJUTFdRVlNI - cXV6bWpibEFYdEZVRnhIcDIvOXBzQkdYVUQ0RElxVHRqS00KueMwxtalr0DlYylv - lu8yuu/igntcbN8G+tyj28GstQJsVPJk7WKQ6TIX2xmuCDrhS5HykH9sUTxE1o+m - 36UgzA== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHNzaC1lZDI1NTE5IHFyYkk3dyBrTUhB + NmFpUzdRUlIyWTBhUTBqVFRsN2RpaDduOU9ISWxBa0pueXYyUEFrCkhUdklZaCt2 + dllyblJvTXpwUmhjS1IrcFJlbWFPYVpsejZ5bjdqNFQ0SEEKLS0tIFd1S2MzV2RM + WWtwZkZsZnJUOTQraEQvQjJiVE5oclVMeE8zbkVCSW1PN00KywgA5kiymnW18YKH + FnriA2Tt2EpRN41Xkfu2mzuQg0yyAIrgoh0YWoCX9Dy+NdFejNFRLOFCx+74Y8T2 + s46Neg== -----END AGE ENCRYPTED FILE----- recipient: ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIBQgnQAq6FUSDK8bxtYPjx3oRCAKG+xy9J3Gas2ztJk - enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHBpdi1wMjU2IFZoZXNPdyBBc0p0N1g5 - SXNacmViRTFubnpDV2UvWFhxTGg1QXpqcjhXbHM4cXU0ZGJWNworaXc4Z09QM3FX - amhlb3ZmeXJXdFhDd2x3WnY0Tmw3QVVISkJSeUJaRW1zCi0tLSB4SE13MlNablZu - YlVDWTEzOXRvUWszS2prcHpZcmVROGVHeU8zUUtMVEhFClk080enyfNCdttCqXaP - c1y6DPlMX3nf87yOPbjfAKp6fMU3BY5GNGheJFnsaMgakCF2QKlPRxOFY75/+TxL - qFY= + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHBpdi1wMjU2IFZoZXNPdyBBbjhWYjFO + RXVDNzQ5N3VtQmlGNUpJK0RkczNMMk8xWUtMaFBES2JKa2pKQQorcFFKTGhTNzcw + SFVrYW1aSzkzWGVxbnJDUS9PemZseENNaTdZRExmQ3JvCi0tLSBNcTZuQkRMQ3Uz + QUFvSGhlQUhCUGdPbDZzNDBFUTRFV1QvN1F0NnMxUmg4CqYtoYjgAW3IgrSeAxl6 + tmWHAN+E0/3XFtTGzoFjx5NmXggi6qStJS4TqDeCSIw4z9w9X0vi1HT1aY46TIPZ + 0hM= -----END AGE ENCRYPTED FILE----- recipient: age1yubikey1qv7jkffslarpma2fxjm9gnq43xfvwdws0m6y3u58h033edwdyg0uzt8jl5n - enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBtQThlRTJLeUh1dHlZTE5z - aGlhb0JqSWNZRjFFR25PMVR3dHZ4MzZ4R0UwCjQ5Ly91ZE5jQWJQZWFQUjJIejd5 - QlZWKzNSaEhlN2NUOVh0ejhqK3NZK2sKLS0tIDRGWllIZWZQdUc0MkRCaWk3SGNE - d1RLcmY2bys2ZzlOZnV0cUtORnRnWE0KbHZfpiERwKLar7Qi62mp/kpaK60OwRon - n33HbK727DbaB7vGXx4jFZsB4vMqddWVfNq+ByxtJ6YfSq2cUtkLJw== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBlR3ZSK2h0ZlpqUy9Jcys2 + ckdiUVl2VDFCQS81MkJQeENndDRvY2Q1Y2l3Cm0rQi90bk0yS2pyNU5GZFFTaEsx + SFZ1eVlwS3FVK3BUL2JPYW5MY052U3MKLS0tIFBwMmJoUHE4L1dlQ1pvZjFuUFlS + aHZmbnBEZnRzQmttUVZHY0M5TG1CaTQKcEpGVRMwaNK3XmwMN4A61xHneFWZY87f + WmFxf7gT1ublQ40oYdMk9Zsg2Oc1yYYcxayIuncAwGJA8x2V7zmu0g== -----END AGE ENCRYPTED FILE----- recipient: age1ss82zwqkj438re78355p886r89csqrrfmkfp8lrrf8v23nza492qza4ey3 - enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBUVDZsUjl0ajlwR0wzRUZE - V0tNZnJLREdlUjMvV0pXVzhWd0hORVlhdGxvCm1EUm5mM1lseXhQR0xISCtFZ21s - aXJ4TFlhelRsWGdSUFAvazI5L2w2ak0KLS0tIDcxYzdaWTN5OHh4R3FZK05oSWZV - M3hmMGNHY0t3WlN1TVlOOUZXY0ljc2cKHqdX4VkprUIgo9X3TIZfpZJ7m6wMtWxR - PO36ykssCrQ3fHCfhS+Dd8QjCNsQ4PFYa5LK1FdbwN3FVS2C90aGcA== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAwbFRhSVphS0xlS0R1OGVH + ZHRqY3ZFT1hYdk55YzlmSUhqMEFkMG44Z25nCmdiNndQc1BmcjlwdElMSzRncXpn + L2Yya21VTnUxcHBZMWVoR2NDWmkrM2MKLS0tIE1QeGdiWGlIQWZla0M0ZnJHTHY4 + Q2lydFh2eFhWTE1tWW15cHA3WW9RNm8KRurtDC7/+8wtCfliolk6Xsu9nhJHyWLN + Y1zodKXUgP9QnAzY8coGF3CBsgs8hrD5le5bK/kU8IFQ1st+N3FTbQ== -----END AGE ENCRYPTED FILE----- recipient: age1gdfhx5hy829uqkw4nwjwlpvl7zqvljguzsnjv0dpwz5q5u7dtf6s90wndt - enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBZUEdZQ3lHb2QrbHZXQnZo - SkZmRmpCdW9XaWRjdkdNSWZyM3d1NUR5TVRJClhETGtoT2ZFSWFjek5JR0hQMi9I - Ukowa1ErRDdpQWtodUFsNEN2VzBSMHcKLS0tIHlEbDhrWkRnSXh4a2xVZUNzTjlk - NDY3Ty9rSHVBNzFLTUtXbE0wZ1ArdGcK1XSryr6gUZX3L33mROMaeOApnZeLQQ0G - HPr4sQJgrjVUL0vig8hiOvxDKfOE5eGgOtdrxMZLXD2cHUJjZMPqww== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAvWGVrdmNEOGNWVjNOLzNC + bm1HNHNKZUR5Njd5TTNTZkZmNmRCZExUYjJJCmdPMTE2cEpvakFUc1c2cjlOZkdT + VitSNTFVc3lKeVYyZ3BxelduN3kwVVUKLS0tIEdxbXpKQmEzTWx3dGdSQndJMmhO + NmFFTmdSdUp0NWRPTmh3QmpKYkJ3TE0Koxn/Y4AYriBNyJVkQ0SJr/QVUMbKEXQz + 1bJSFAQTd+08kaFYmkdwiFYmBG1gnpY1LkxsfjWwCsXZjH0OCXzLVQ== -----END AGE ENCRYPTED FILE----- recipient: age13nm6hfz66ce4wpn89fye05mag3l3h04etvz6wj7szm3vzrdlfupqhrp3fa - enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBRai8ydGVidHBrdXk2QWV6 - TEd2d0p6S1lKeWlmRk9sOFhpUkRqeC83VDNJCkhqdEwyaWdwdkQvOVJZZUdURUQ1 - bTB3SitrT21HNXdvRWVOcGRYYUtrb1EKLS0tIDJ6bDFMOXJxamt2Skt2VVlxa3Bu - K3MzQ243TkQ0SCt6dDVkV0xJY1I5M0kKD6Y73NEAQYUs5vWeV1GeIPZ2i1FJI3ci - Z5g2FbXtAONIJ4Nwg3FFqdK/q41sMpPa5/f3PwlvXEbK4eBrtdHWRQ== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBhNDhhNTcxcE1adjMrUHpV + MjZTdkZRd3p0a0V4YU5CL05KNkdSUVVEUFIwCjhnQmNjb3FMaVc1WTRiWDRXRU5H + YTJsZFVHamlONHU5cGVNYjZDUDY5V00KLS0tIG5VbFdEa0Q5UG10TUt5RHYzK2dW + MlNNZzVacXRMTnpJT3NNbWFIbko5WUEKhzMm0WRM00HnZY/yINnk6M8MVG40ozD0 + 0lqQ6FchG8NDltGMYcxOWEQ/JGYsCEHGDfV9XCEoN420gBNn+NGyTw== -----END AGE ENCRYPTED FILE----- recipient: age1jtusr294t8mzar2qy857v6s329ret9s353y4kuulxwnlyy4dvpjsvyl67m - enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB2OFRxMmZMRkV5dkttQ3Y5 - MFVqblo5V0tTaFpUaXBFanRoanpmWndSeEVrCldaTjhqS0xwWlpycWkyaHBZMVlI - MFFBaWMxQmVkQkdDdGovRXdtMVMvSk0KLS0tIGRiVkVjQkdZb2pubUoyL2VOVmJl - OHVmTG5iWWt2bkxvenBSdUpsK3JwK0EKZwjNeJiIMhDtfPYDOLS1vM76ddWw/756 - k51dAKcT9WOmrBsxTMxLyZv2i0gs3XAoF2umi6CtbLu5wV3JSj8I+w== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBHdFVRdFU0cnR2ZURvZ3hx + aG9tQ0o0TTBaeTRBZ2FVWW1oZ1dkR2tRcFFBCkErTmJMT2s4Ny9IRDB1UFczY2Jo + akVCYW0xdkFJWnlmSHp1eUQ4TWh1S3cKLS0tIEVTVHVHZmphcXQ2OXB6RXJYUzEx + ZjkrWlNGL05TNm1FN3M4VHg4azFuc3MKNSowh/Cd7bPTdLAXZA3NAR0tFm8GeqPv + dAimYwNq0GWTMSpYgLY0fqLP8Sy5LajaOVS25bjU+HZNPGzdC+Fr5A== -----END AGE ENCRYPTED FILE----- recipient: age1a27euccw8j23wec76ls8vmzp7mntfcn4v8tkyegmg8alzfhk3suqwm6vgv - enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBtcU0zZXNNMXFWOUxyY2Zt - WkErUFIzTEFGeUtkMmRldlNmemY3aFBQQ3dJCmJLK2k3MGJHcUNvWUplNEZmVWN6 - UUZ2anY4QkkwazNzcURGdTRQSDh5RkUKLS0tIDFVdnBNMDhpZ1JIckk1YzQwUjFM - bDV0WXpaOHRLekNMa3FBTjdKdk1jSFEKyEW36xrJyJkD4yW6qfkhtlkn9j8uk2G/ - FbWFVfWKVVPLefeeUNCG1hssphnQp44gn0n3IlYLRxzmdwzuSZ+YfA== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBoNnhDTm9jY3dtbEFTdVFm + Y0x1YnM3R0gwbWFYRzMzUzhxbWRxWmJnRldrCnJyZTB1WXpFYXE2Z3h2UWttVytp + bEFMRlU1K1VyZzlPV2pFeEhkMEkrUUEKLS0tIDBjZjYzZVIydnBHZnpJVklvUUJ3 + WEk3MnhlSHZzM3BvbmFva2xzNWxsOU0KHlrRt/eXsaYenAnUtcQWxj68hcItheIg + ZClPUels4xNNRwCQy9E74OhlO2FjqzZX7UsJPOBgkG+lBk/olv0nUw== -----END AGE ENCRYPTED FILE----- recipient: age133wy6sxhgx3kkwxecra6xf9ey2uhnvtjpgwawwfmpvz0jpd0s5dqe385u3 - enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAyRTJydk9OZ0N3R25yN1hq - bEllVlo1MlhWZk96aFFMcVM5MjI3dnhpWVE4Cmk4cVhKaFNTQWFQaVU2eStiYmFS - R0pjZElVcTZxODJHaGlGendXNnFxNk0KLS0tIHozREt1RG91a3FOVXZJNTdHNUkz - Q3NJR3Q3NzRBSjVGVjU0ZnlUMzRWcm8Kyeam0hAhQM5Bx1nqKoDRdqdycdu7NPsE - 5u0G4gLiKWwhVO3mzLmhBBvKjp4OIWs2bK3y7+POCSXQlhNgHwZdyg== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBRS2k2cGRvT1JHRTd5OUdC + S2l4VzJzYWxnUklaUEpyWFEwTEx6TjVmK0Z3CkVJMW5ac0FZR2NGUnA4dHkrL2N1 + cUhRaGFxa1JudUVtYUJEWjE3VytKZ2MKLS0tIFFVZ2l4S3VmQW9QSDlvVXVtV012 + dVVHd2VHU1RXalMvTjFBNGFuSS9OVm8KiC/FQqdDrwSCSFPOHWzx38FLiyd3Xj3W + 2fy0w1OOjqcWC2yMVEBqWJW/w5YoiMe9VQgo2+9d0Ih99XxDkBswPQ== -----END AGE ENCRYPTED FILE----- recipient: age1na0nh9ndnr9cxpnlvstrxskr4fxf4spnkw48ufl7m43f98y40y7shhnvgd - enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBMdHNUcGVxV0VScDc2R2Rs - MTNNSUsyRU9TUlNRMWdiSWE5bjIzYnNXbm00ClVpVUw4UE9IVDlyUXRMWVZqUW1z - S25jQTQxcXBiN1RsSTNFbG5HWjc1NlEKLS0tIFFtWENqaDlWZ3BUbWo4ZWQ3Sk9V - MG1qTlRHSitJa0VjS0IwMHREMzJsM3MK33pKvGNISdlyofjZCSWtAp2TtEnkgDL4 - 1t2n/dKQ/N5B4A1GYbmezv6Rqk82CPqCR4aEEcAKNOQrkH6VSUhyxg== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA1VHdsNkN5b0cramhXaGxD + UjdaRVF4dDFaUW1GdXp2TkZ4SHdBanBxQ0MwCi92a0RXekhVNkZmUExIMWE1cW15 + UzJYRlJMcmdOeGtPMHJtZU1QY1VjbTQKLS0tIHRORmZKM1pYTlNUM3VselIxMk92 + WXI5WmxwM0tWSHg2aUJzRHNEc2h1NFkKpUEeb8J9hFt2KJGNezDPvCdOwmF0idPA + GGE31iW63RN9aiwuvhXXAqn4b1GooK/77fOjajhFc055Vn3g+KeY4g== -----END AGE ENCRYPTED FILE----- recipient: age1sqs05anv4acculyap35e6vehdxw3g6ycwnvh6hsuv8u33re984zsnqfvqv - enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAzQzN6WXNIelF0SWU3bTRt - NTBmODljL0t0aUNwbksrdGpSanhhOHJFUW1zCjZLQWYrRklnb0xiZjN2cHBIOXZp - S2tvRnBwSFdiM2lsbENheHVOV2V6VEUKLS0tIGZXcCtZNjQyUU1NSnJFbUxkeVRM - M3B0ZDZDei9PMFFSWHdQYTBIRlhGQVkKfXKL6lBiErI8PUUsQgmLQasMuGcswdP0 - KKXwKH9DQwpLJzUTCB6PPfFZggv5bmAFjUHoOUdPwHWpQFa9o2LNRg== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBzd01qNWFEUkNuNjdyRjRY + Qm5yZ0lOaTBDMmQ0UDJXSWt0dXBXODdEWlVzCkNxT2VwNDFiV2MvMjAzeVowZjZI + WnlHeWppYlEzMlB6Yjd4Z1M1UnRaZk0KLS0tIDRodGlyNEIybWNGcTZGcTJtblFF + a080V1kxdVFGTzNsb3ZsbDJMRzlSbTAKuYI58g851ozGFv0B7PYTNTeFmAQzHEfE + nGbESjAp+N+SjdOvCFeFo3IkZg8jj/bWf+Hrvp4tP7PY6EXU+4X1eg== -----END AGE ENCRYPTED FILE----- recipient: age18qam683rva3ee3wgue7r0ey4ws4jttz4a4dpe3q8kq8lmrp97ezq2cns8d - enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAvREVZL1BxdkhWVk92bUpE - MUFaSFRXb001bVd4V0hpV1dIMjVkNWhsT2hFCi9Pdm8ya0dGNlI4aDZUdGlpTllW - a0dDN3lCVGR2dzdtOEtEWER4L3d1UGsKLS0tIER2dTFTbGN4eTZ5dnE2TDBMSUF6 - RGk5QzZVUjB1Q24vMWtoVXc4Umw0b2cKb1iHjrU5rFyCbbcXKX0DoZZeC9SQDimb - 09oEzR/5bPb4zPRwWC5cUiI5TTjxKiW34p1Qo6eSMUNc8rh/5feNtg== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBUYjNKNTVZZisvcmdPZzZ0 + RlA5R2hUV3p1QWgyUlpqc3VaV1l3QkdNZEVjCmhhbUZtOUhBdUMrRXdFL3liczB2 + d0NCNHJkaTFFOFpDd25odE5WNzZyeXcKLS0tIFYzZGYxTjhBQ2Q1bGRRdGNoTUI4 + bmhkSDEvaTFRT3EyR2I3eUlOcmU0L2MKtGPNmJSlSKF8zVsX6DerEx85M09WOr9/ + R3gzyzrFhqDEcHvXN1jzwXgvwpaB/Shcf0sTBMIPgHWKGzwyamuypQ== -----END AGE ENCRYPTED FILE----- recipient: age19rg2cuj9smv8nzxmr03azfqe69edhep53dep6kvh83paf08zv58sntm0fg - enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBDYTBybklnZW1QYjRzS3NE - RCt1c1BPS1RjZzlTZGlMY3hQZWI2bU9wamcwClNtSFZmZmlRMXpFQ2pyYW5hc00v - bjdpb05SMndiRlZJVGhEWk9GMEJTZ2MKLS0tIE5Fd0dLdjYvM2owWGhBcUc4Y3Ja - ZTlVSmlmazdKYkM1WU1YWldFNVMzUVkKr6FR6B2zLKjgiQhVPGAhVHJJfyTBTnfC - pw/Ox/qSDtniJWj2TD0rvM06+4lCVGDDcO44kgDLcILzX3mRFC70XA== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBPL1pIR2lIWkJCWFQ3R2xR + UER0ckpkc05hUXJCTjNSSWpOUElWb212MlVvClRiUktvNnhSUkdQYnhIUGZzeTRo + cEowRlQ3cE1mckJwVXBBdlVaV01kR2cKLS0tIFdHa1k1R2xTTDJ0ZU5ZUVRZZkNt + SUFueUVXSG9vQTRRa3EwUEkxQ1VZWGsKrCraitWrtma/8Onx5RIU95ZhzseoOtPx + XUWD0i0094SRMmwsXt0+9XHF+QQ8CMxmQ/TGO4TeH7kIlvz7YEvxZw== -----END AGE ENCRYPTED FILE----- recipient: age16znyzvquuy8467gg27mdwdt8k6kcu3fjrvfm6gnl4nmqp8tuvqaspqgcet - enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBmNklDOUFFVUw1MGJpcGM4 - Q3NLNEJUU3I3RDNXbmZSRkxrNXhVWm9lRGxBCmJOWlI5ZE1vZzJ5bnhmREFCZUxt - bitOVnF4d0k4MTFLQnJkQlZBL1B0NjgKLS0tIG1EWWhpdkZFQ05iVjFrajJzbUVF - WUgzQVErdFRiMG81dzRsK0VveGZwN0EKNaX190SiwMM7/vO7OBV9N++4/4ODGJJ8 - Hk7761qSx7TTQp+dBck1zyW2gZ3viVZ32b/tkOizqBxOgKy1P6yCdQ== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBFZ1prQ0s4SlpFUkRYbERF + a0NKRGZ0RktsMWg1NWNlOHFFU1ZRT0FDMlVVCkphTGNwODlxdFMvemZWai9lMEZu + WXRodUxXTWowcDlFQ2Y1cGhNTFJmYjQKLS0tIFRHNFRFMysrMGlORVRCcFlIRFJF + VnZjUWxvUW4vN05yanBUcTZ3OWxDWEkKqGkRtJnUfw58SQb11jXHcnfaczCoxN/v + wMowwkk0PPgJIinnKS4e4uis6YP7mdoQsDmyWa291hArYgwSo15+uw== -----END AGE ENCRYPTED FILE----- recipient: age187zdk64205lx7r83a4m26pfa8hq6khc8sf83k266jasngeq08v3sfqswfg - enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBEQlJ0T3J5R0pucDV1VldB - ZU9JRmFBQWxnSndnZk9NRU54eEg4bzI5NjBRClFkWFdFZ1lzYXUwdk11d1pTMmhh - eERkeTVUVklFekJYNGlyckhuNVN5NTgKLS0tIG8wd0k3SE5jSEZFMFYwbGlhd3VU - dVNTQUx0YWxPVWtVMVltN0xFVTRxUlkKBk+C9FnnCrP+lftnl1QFHwnAe8E4QBnd - UX0DbVjz5KQ2Hi0j4RJk7e4uhKBtgIZEK67eko/G0oJ5rY+KD/JkMA== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBKcC92ZlNYVFpEQ1VIb2U4 + TzlSbExBSVFYNTIreS80dGZISXIzNmtwNkZZCjFUZFg1OWxObXl3N25kVkJMc3hu + Q01lODNNOGozT0g5N2s1TE5MZ0djZUUKLS0tIHhwOTBFSk5hVW42MTU5SEV6VXRz + VnJiRmswWTBDaGY3RktEVFdEWUxseWMKx+YVZbF7lS3JrbKhHibLwjk8+cxMTwaw + O5DlSka0sDR34jgA0sdaxVE8C45py+a0nm6RkPFLsc/tqN3zBhzUxg== -----END AGE ENCRYPTED FILE----- recipient: age1azkgwrcwqhc6flj7gturptpl2uvay6pd94cam4t6yuk2n4wlnsqsj38hca - enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBLWHR4RXpJd2NJVXQ5Rmcv - Yjl5dGwvdk5xN1B6SVdqYXhyRzhBVDFKRXdnCmExR2JQQlZTdUxNOHlnSlhzWUhS - ck5pWENJQUgyeVFVK0ljL1J5OGcwWDAKLS0tIFB2cnVKcjVkTlhDZmt5QjVoemh6 - ZzNKTERYYTRoTmhyR3VRZE95aEU5U28K8cDg+1QeAoDMy4dOHDyGFC3I4EYURiou - 0UgObnJV2dLEcegNBQQYVjoTU3dglO7xz7pfdOwhQ7oH3xro/9fLig== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB2QlJSOTFRZ09qdTBsTGVP + WXkxK0JKM1pTQjFjbzVJSDdJdGd0UXh2d1I4ClZPVzdIVjhaWFA4OFM0OUhsejhD + cThLNFJQbFNmcnZiUDVmS1BYTUlKd0UKLS0tIHlyTTBGcDQvN3VVZVh2Qmx2Y0Z3 + T1pMYk1lcjhjNGhucXF5c3poSWtZS0EKvva4BEpLJO3AW2m1tMRO6pFft57zmnDR + gepy+V2gVk4oUcXFJe4lBVwGAn173WvfW+p2/rcUBwSlx4JWIyZTug== -----END AGE ENCRYPTED FILE----- recipient: age17x20h3m6wgfhereusc224u95ac8aj68fzlkkj5ptvs9c5vlz3usqdu7crq - enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB5UXEzT1FxT1BYZGpvY3Qx - dWFSU3hDbjBtRCtkN1dxamppckpUdVBkeGwwCjlJOEowQkJMZkNhait4MDZ0RFV2 - RGdFWmZOWFVVbTlBMDN5aDRwWndQaHcKLS0tIEZEZTczTDZwYzdYMFFMVjdUckdo - ZE1pTGU3bFpMZnEvY2xiYVlBT3Z4N0EKb2iDZvQ71/HLzUe+8BVwS1qhtsVK/zfN - GhjABKXnNNauf2bmpGwh3DUcflkfEp2awCgJh+TxjE5LFwMnIcoaqw== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA2Vm1QWXdGTXZWZ28yNDMx + anE0Sy8xUlRhMXF0RlZEQ3lDUkVJb20vK0hNCldYSEtyLzZVVTVUQ2xJbnVYZFF5 + WGJHZHhaQ2N0QWQ0cW11Q2E4RnBGYVkKLS0tIEowUTFpbW9tc2JXTWVPblI0elZY + YUdYRk1HYWhFWW40R3pQRnptOUFLZXcKcxdrNiTuMKZ0jyHKmqI4kKBO+l6Ppp0l + UyvED1+ZXvxUc7wFsWrTPsWLbiilepLvPXJOj7LiNNKDtGTvmBUXkg== -----END AGE ENCRYPTED FILE----- recipient: age1wnympe3x8ce8hk87cymmt6wvccs4aes5rhhs44hq0s529v5z4g5sfyphwx - enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBFcGIwRUxaMStxMU1ieFZi - emJleW12eWVHR01aWVh0SitvSkJuNk04SUZJCmtRcitYTHBkNjk2RTdsRXdCd1pO - NDM4U0NvQUlUSUtxYWUvSHJaMHN0T3cKLS0tIFQ2THhUdmo0MzdQUjhuc0g3Rnoz - aXhtc09pVzdFa0pOaDFmTDVlaWFGZzAKWEpuBMLOv61vsvcu5Tflaxi4Lwy84pEM - YXq3kM3ETimoXB/Yh9XpXCPeq4y/lhifd9CkJKhxo4cbdbyq6uF4oQ== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBkU2lLK0NRZkVSVm1zODd0 + QkNjVXJsYlhGYzlqQUROL1h3cWg1bXZnWTBRCnQ3UUdUZHAyeWVaWFM5U2YzQTYw + MXJTYnM1amluK2x3SDVweWRLOThnRW8KLS0tIDhndEIxWFRBRmc2VnJVenc4czY1 + cllRNjNoMHlxSno3MXFtVndwMWY5a0kKMqxHOQ8Jw9njx8cvUMEKG39XxwRKho4e + /NM7ScEV3JHT/zV2WyIyeiGTF2O9vza3tdq3qdCSxk7OEpRGtcMudQ== -----END AGE ENCRYPTED FILE----- recipient: age172pk7lyc6p4ewy0f2h6pau5d5sz6z8cq66hm4u4tpzx3an496a2sljx7x5 - enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBsdVR4bXVtcjBlZDdGa096 - a2hXTFBob0t4UTVvdTEvem5MOFliK2FGYmdvCktLM3RBR3ZpS0dST29vOXExdGhn - ZVJZeHJHMXRVZ2FBVG5GU1Z0SmcycDAKLS0tIDZsNXVCUUNZcFY1Y0tCaW1pdzVu - cWQ4Zm0vMHg3ZmJUM21SYlI3dkNuZDQK0zMzDVtiBhi61fLHUnS2lQ0Am5JUrh4R - Yr+KuxPftoCww7X6m/Hl5pwhd6CDm+SOm5ysHHaiTTUSFATr7ci7hQ== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBENE4rNmJpWXRlRXFPdXZH + OGhSNzdORUY2aElIUDFpamdZazM5Z3ZEYjNnClJ3Zzc0MmEwdVhwdVp6aXhMSGVq + anArZUFsVFY3Z01oMUhhK2ZUTTdTRWcKLS0tIERhcEJ4N0pqbGx4UzZZRW5yRm5r + MlgzK09lZUs1anF6K2lRQU5talpwNEUKStXF8Yb1mkE9BqljqPCOCUsJ99ba05lk + dXznOb/CEPlRWwV1APp+DXgwpFI+uSEVeo9G1kUtoczafHxmVBKXYw== -----END AGE ENCRYPTED FILE----- recipient: age1p7pxgq5kwcpdkhkh3qq4pvnltrdk4gwf60hdhv8ka0mdxmgnjepqyleyen - enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA1WlVseTA4empPWGtkZ293 - bXVTNm9iMS9iSGxCNGk2MFNjeDJ2WkhBOFJFClArOUl5bEk0MVV5eVd4bWk0WnhS - czR3VFFacHVSOVV1dTc2blQvOFZpR28KLS0tIFBZdGxGTjhtSmdiTGlDeEhWYndi - d3RIL1lpL1h6WGVaYzZpWERRQTR2cWMKIUoagSG8+i4g1RDa+fbXGVAjJocyMVkA - fLpm9lAwUDs+9RQ95LMduj6xoPW8vtNL9CQ70Ai5hAZaUgL9HtL0XQ== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB6YTFTZS8zbUZwUTZQTVpV + NjRYTTJNaC9FVUxmVStwcjE2OTFJNmlucVNnCmowSjdJRExRUEhSOGZaSjBZMkh4 + dFRyUTJlYitlWHNabzc5bnpFRldXenMKLS0tIFBxTk1OLzZLeEQ4SkQraWlwL1hi + RGIrZnRBUjMzTmtuS1JrUnZFclpiSEEKsrrJhmnFyzRy2ZeXJlqfNv2uckvHLl/L + wDo/li0yOJtgThwovM9k6UJvlPZtvPokr1ixN1+H5s9Xy3x8a72yvg== -----END AGE ENCRYPTED FILE----- recipient: age1sv7uhpnk9d3u3je9zzvlux0kd83f627aclpamnz2h3ksg599838qjgrvqs - enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB5WVJIVUFpYmphdnBITGFR - dk1vRnJwdFluVW9TZFBjc0RwTG9JS0l3dWdzClRKVUQrSno5czR0MVd0eEk1Sk1X - SWNxTEI0bktGVGgzK3hFZzJ2NlR2bGMKLS0tIERtVFFOS0J2WVRJbVNzWTNTL2ZZ - Ym5BL2xZRjFpYW9GNFNCbXBTODh4UXMKnZQGe1jhdPDp89w6LdfoRm5qBMaAzuTZ - bwg3QeBHDPYYpB2b4q+mD3XxdIRZh87l+KdrdvrM/7IA9VF0ZNZWsQ== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBCUElkMlVPdk5iVEtuODNU + TDlUbHlMS1hJZ1ZiRW1xakNmdE5saEVlTmlNCnZBVnRiRDFuS1Z1UjJHWk9lVUMy + UDUzVVZPWm1MN3FLOWZQeEU4SU11TlkKLS0tIFhGaTZnYTB3QUV1cDhBZXNSODZF + ZndVWTdoTGZtcjV5Q1QxeUw0N1FyR2sKHKX4RbISsILmy1dXjMqz8atA2iw/lZaE + LtnU2o4X112K8uVxAf0oLP28cFXL2UozpYdZLIHLLZULz4hUgsdzWQ== -----END AGE ENCRYPTED FILE----- recipient: age1dkecypmfuj0tcm2cz8vnvq5drpu2ddhgnfkzxvscs7m4e79gpseqyhr9pg - enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBkc1V0bUtXYWFSVHVnNFYz - MWlIdVFtSFhvQUd4Q2tRMjQvMlcxWmhwQWg4Cm5xS05kcjVRU2VEa3VYWFZHVGxH - eUh3Yzl5VEF2YjFBdXNBejVTN0tMRG8KLS0tIDJVUEFhNlg4cTJrZCt4UDgzVWVn - SjQxSVo1eklzWm8vVjgxR3F2VXViUncK97WqQpdVMds+gmf1TNC1TCQFFuD7jk0Q - sqdCOxceIaQudTM+1M0YYGn6l2sKuBzL290wLVfEDYA31lyu2/ubaw== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBablRGZHd4UCtMVU1zb1dS + eDFyOXFub1BMMzJJR2VPcUF3QWk5aXFhenlnCmpKUVJBK28xMHZPay9FQUU5T1dP + MkYrUjdUWUQ4QkVNNk94V1hwN3JZaGMKLS0tIEd1RWFUSnBXYXh3SFEySTlvRmg2 + Q3dJTTJhaHdwdnZvMlFCMTBHTkZ0NW8KaYU/3x+j63LUEOV0L1rxW6YqT/G+KJT+ + mXniem6MkKYj9rLShRIcO2ejKhdiux1V/8RymfXGmqBXq3zWYrNW6w== -----END AGE ENCRYPTED FILE----- recipient: age1mdtnk78aeqnwqadjqje5pfha04wu92d3ecchyqajjmy434kwq98qksq2wa - enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBDSlAveWFBckpyYVNNR0xP - OUh1SFpjVkl1WXk3RXRjMWRweVVlRXppd21RCnJFbkU3OXM2dDc5bDRiVDQzNjdC - aGhvdldWUkgyVVp5a1BndGV0K0xUSUkKLS0tIDR5OXpFcFFJNmwyWmVvNGFOWEFn - Z25FL201YUlNT0N5WnR2UnE3ZHpKMWsKuX+ARk/5fo0w8nG1eqhdpZ8KDQEaVh3S - 8nf/jJ39QrJwnukQP3+4JvLKl/tp5NihlP/eQ3ZUmvTNqQOsXpTY2g== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAxcEVXYmJxTmM0RjNYci92 + dGhuMkhEQUV0YTVxQ2l2ZmVleko4SU9UMUV3CldwRmo3NWNRRUpUbndTUjJ2WnN3 + TldqaWpIMC81eVBMQ2tObzM2bjliRW8KLS0tIGNFeThZQVlHTk0wY2NoTDZSbld2 + NDFMeHlvdDVjaWgreVZkZWlEaWlQdDQKITK/o6YEdwuVI0z4MJ3cgwSV7nxTQc2d + FoeP6rFQSFyFsut2WQDQJp5adtDunBfXomXIfK6qWQRJa1zZmyU53A== -----END AGE ENCRYPTED FILE----- recipient: age16pxqxdj25xz6w200sf8duc62vyk0xkhzc7y63nyhg29sm077vp8qy4sywv - enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBITTU3TVhZcTJGVDRlK1J6 - aVhsQlhvMm9JdXcvbTc3eExxWjQxdmU0NFZVCmVqbkN0QS9QRHo2SzQ5T3FNTFA4 - Vm9zdkg0THFaRzdsU0kwUDVMQUdDM1EKLS0tIGhtdXRMRWxDVVRUQXNCaEVPd0ts - Y1ZSOTNjV2ZhZTJzZk5IUENrMUVheFkK3WZbruOLBTzm0WghE+4iCT9l9ZX7LyVu - g2K39QgOva2VJPi8TKZ+SUPAJkTs+n++KiEtaanhSKJWhfoCa2hCJA== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBaM1kvZllmTXlIMkhKZGdY + MFllTE8wUXRJekcvU0pDdkdXS0VhTm83Q2tVCmhpQ2dBQ1BidktJa3JZMEtpRnVQ + SlcrRWpWQlQyM20xcVF2a0FIc2pYSFEKLS0tIEwxekhwZmlSS3JEM05wT0lNQUJJ + M3dGZVptNkIzd2ZLdFlKeENSZlVhQ3MKXOu60nAn8BA5ji/Q1SCeyI4la5dXhgbX + qEQSy7OiGiA4z0q62OnjCk8qjWBW8v2wsKIxKx1Hpli1YOLCEq5A1g== -----END AGE ENCRYPTED FILE----- recipient: age1hv7m3xypesdfm0dfzwgctde8v307g9xaunnfu2687y0lagcs5q7s3eg0kj - enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBrMmlUdE1XVjMvZ1k3SWRY - cTA4ZHF2K2F0VTU0dzhvM2k3S3NXRENJWGxFCnlWZVJ6d3p6eWFSeFFZdU9FRmZS - MWJRWElrTXI3SjRUZE5nVGVkZHFXdkEKLS0tIG9veHJjL0lIb25LTWhvcW9oY001 - MzZWUHJnaUJiamI3S1RJd2lweG5FVzgKFb/9A1Ukx1aL51Tf987RMBD1H3Jiosba - XBqvr7B+8URqPO0rvFDvlCV/RtLAG9RhxmJqJ23+4Oqm0FzNCx11KQ== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAwdXVwVlRvanBIajZ3V25M + MERtZlFEQVlLa1I3Uk1tanY3bUZBL0JybUJJCmFDd1JLWkxKT1VQK3Y3UGdkWHlw + WDErMmx3L3Fabk1qSWM4aThjWGdwTmMKLS0tIExVKzF3Ky95dkFueVBoSFZPWFIr + MkQ2UzZndUluOWxpOXg1bmVkeDh1MHMKwgIZthY7K3YL7I5AA0GDsRRW0vcszHKv + fG6DTHAUSzs+Exh9MwGmmYVLEdVlif+YQR+Y0grzE5kurjeObKxfRg== -----END AGE ENCRYPTED FILE----- recipient: age1522f3qzddm82w63j7ajdkr0khvced6ht7tzp3grvp0j3hewtvesssr5kpf - enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBrdXdrbU5hTnBMaWxwSHNx - emNyQTB6UHVmVUh0N3pnbERtWi9naTBnM1gwCnNnZ3ZEcUtVM1JPY1NnRUUzNElY - QmVtbVNiem9LbnFUazFlZW55U3pwZ0EKLS0tIFo2elRISEV0TDdEZlVHU2thclF3 - SDgrekZBL0tRaTlYTVUxUzM1SVJ4VGcKUaA5Y+cZ99yary7gt5u5DxPcPhHVcpnd - /ffKgiuXQytnaqTjuK+LznHd0zFh3T4Wgt55ctLP31vr9O3iwzp5Ag== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBIbEtENUZmTzZLMnl3bnll + aGtBS0FPb2kzNjZvL0JKTWNpVHBueTIrK0ZNCmFJWndDNnV2aXBmOVVPWnNacVVD + Z0tmUVV4ME1sczVhckNzb2JGdWE0c3cKLS0tIEdkU2NkYXIrK3dOUktwZEt5N3lI + ZGwyTkxhQ1lVYklzRC8xR1hPT3piV1UKqaE3ri1l0FYxj2r7662Ln6aZ2NyhpRj7 + N/B91rNGLYhhVR5GSRujnSehFFkW1N7vt1Z6JSGEHrTu+JdqAohmag== -----END AGE ENCRYPTED FILE----- recipient: age18zgt4y2sd75hxnpe333zz39048ctxpr0q8a3uqh3jajjkyawsdrq8yg5ve - enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBvcWMyRytmR3R0clBEUHZy - N1hLV1Q5VnZ2TWJNSE5pelozN2lBVU8vc1VvCmh5bkVoQUo2ejhBVU1hVkNtc3Vs - ZnVGQnFaMFV5ZDZacnoya2k3SXFSWEUKLS0tIDVxSUUzTlR0WmpxalBVLzRyYmlq - SzRVODNGQU1MeHIrZWQ3RnYzNFAwQzAKFVFt6uESNx6nQwSCqoVt3CFIIykKjz6R - AwVU03KFdfTMSHx2KBTDhOnFGdh33m3axIw/CxDFaI5NB8MMa50lBQ== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBKa0JGbzJwb1JJR2xhSDg5 + M1lqM3Z5YmFRZVdpbnFTcDBydVBpc1pQR2tRCkpzcWlscjNvQ0JoQVpiblo2Y2xy + ZVF0YUtBaU4xRFdaTDZHRVlDTzhKMVEKLS0tIDNXMFJPWHRuQ091ZWRycDR2cUpJ + YXQyTVhwLzhrenpNTFFKclp0TWczY1EKSUGR2oe6SOgQOjJYQjCV7S6tlyMSMSAc + I0GYFEEXxS18vrJQwC4kS6HfFAX4bl3VqswTnZytTaXAGewecSWwQw== -----END AGE ENCRYPTED FILE----- recipient: age1az0k6cadssk6r8qcqxfr8cyu5mndy59pwt8yqq6w065ew6au4ezsmg2vkf - enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IG1sa2VtNzY4eDI1NTE5IEREcjlDL0Zp - eEh5bE9wOGt2NTRYd21HbTBQWWFrZ2xCTSthc0hRcmJ0V1Q3UUNXbFRKa25UNWo0 - UUFBMHlLTmdaaXpvOHZiOFpmWk5DMUVZbHdRaUdvQks2cEZKZ0dncnlGb29nb2pU - MG5LUEVWelFNTGYvRWN1Z2xwTzE0bG1VVzZHeXlGZXZjaGw1OFZoTGsvTmZWNkM2 - bkcvbVNpSmhjN1hFVG5nTk5YTTJqVml0MktQcXdnQk9ROW1HV2I2dTMrb29MUDY5 - U3dsWXpBdVdNT1VPV1RUSTZhSGxUUUxPeTVrUU04Wk1jMERNWFZ6VGZ1dVlxaHVa - amNQd3d3RGZ5bnpWS2ZESEFwdXdtRVpad25RdFUvU0pCQm1rak1YbVprSVFLT0w1 - V3kzdDdYTjNOdnpFdkN0NlFOeXRTb0NxZkdpdkJTdDhQTVlSWmF4bHpDd21hVkhZ - OGJwN0VxT1Z0RTBxeThjL1h3N2RPM1o1S3hrWk1YeHN4dmdpQ0daaWtXc3I2SmQy - Tm9LdUs2cXdsL2FkWnIrcFBnazY0dnluaEl4KytYclRmSDRhT0M1Rkx0T3MyOU5U - eDVPNW5RY0tsVE1tMDc3dzc2TU90Lzhzd2E5VjVjcnRua3FEeHVEeDBjVXAzcW5a - K0VDOEx4VlNUNmszZ0QvTFRsMlRySHNpM3M0STVyeXJmaklUV2pFakZDMjIvQUNH - MVNkLzZ3MXpONEM2eE4xSmllR3Y0SVhlSG4vSlVHNytMeWVpY1F3bmZZNWh4SklQ - R3VOaUdvbWtIeHhzUkxxazAzOXVEckVISGN4RHZnRzdKU0hUNGJqSi9tN3JJR3pk - U0JzSVhXWHB5amxCTUhvTFdLTzZEODhtNXJBZkQrWTd0NUxVWVlleENLNlp3bzlX - NmxWV2NsUERzbGVHdm4ya2Y2RXhLaDV1dHFFV3FqaHlHQVNlOC9hSlgrVWlGOXlD - eURoMjNBOVhUZC9iQmdIZnlYZXAxNXhuWlBTbjNkZmdsMmlZUVBEeW9wb0ZFaVpF - UERta0FpdnQ4ZVExQ0dzeGx1SHBIdGJQRkVsZTMwM0lHVUcxOUc2bWNIeEFSN1BN - MjZQU3crc0luZWNtaTVESldLK1cwVWZwOXhlR3JtRm9weTNMOHh1aEFSNnczb0Zl - dWFXelpjRkI1T0JaTzJVSGNsRmx5bUFzR2dFSUVUNXZTS0ZjTEIxT1BVYm5VUmFY - SlVLc3dQYmRWTUIvUE5Fa3l6clBCaUdhMVBVQm5tV0sxamNYNko0UGxjcHR3SkVv - dXk1Mlp0ZXJTMUFoejI3NXVTa3FzVVhEQ3lWMmJPdFVFZ3dKbDR0b1phYSs5OXVY - WnptZ1ZNZ3NHSjBVanpnUmd2em5weThjaGZpekZTUUpPQVRaa2ljVUR3UjVvYmlw - a3NXWFBpdnl2YkNRZTdzdGI1OUhQSW1DcHRNSWlGS09yL1krc3BOaXljSFc4eDRq - R0w4TnJSR3I0OThDT1RpaWtPM1NKYlZRQUhGekk1ejN4eEIrZmN1c3pSVnpZa2Zp - SmVqa2VmZzRJN25NcUF1RGU3ZTltdTIwVzVGaXlZazJnL3VKanplTDUzb1JDS28z - eDcwUGRnTGs1dzEzdWFXOHJKazB3eWtyTEJyME5aV3QrMDdaVVMxSi9rYW1vUnZo - YTJGbGNuYlV2Snd2b2E4QjhPVit3d2J0S0dpa3R3L21uMm1sTUp3ekdGcmFNRURV - OTBkaHZ6czU2emlmVjk3dFREUjBkQTFXVVZSVFphcWt0L3lHK21jNGt6ekJoWFVu - dGN4eW5HT3NIZnNqWDBHZVZlQ3kvZUNZRUJsckJITmY0MnAveGFMcnppT205LzR6 - UG5zRUF1bGxYdHc4QytHZllHdFhMaHp1djQzU0RlOVFCTFFKRXczNzlxbmYzdEI5 - VlBzRGlJdEVwTWlhRVR4S2srczNVbVVWTkt4RWpFWk9oSjduZC9xd3ErWUZYdwpJ - Y1owa1hUL3BZMFg1Zlp1dTJWSDVWZWYvcUttZk1YM0N0S0ZvbXBlUXU4Ci0tLSA5 - R3hGbHdFYmVtcU9EVk11VGcwL3NmVUdRTzl6QXYxeHZSTU5URTJJUzY0CuZDGfZX - dFRT0LZDTdxOUWHEjhn8koUBE2R8qRRWD81Zk21P7V7gOuvfNHGnPPAp4AGBwz8y - FONEUqwbdjuoU6M= + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IG1sa2VtNzY4eDI1NTE5IHdGZUU3MmJ0 + Y21IbWh4UFZ0bXlwM05HK3k3YnVhYSswZXFLQ1Fvc0lONmwwTGRPVEZsRndBSnhH + enVQWGwyWFMxTGtGUkxQNGJ3c2JYN0JGQkE3S2FKUFJielA3M1JPTSs3YWlmczA0 + SjNZTnhzWDF4MXI2TmhKZXh4NXkrV2R4L3Q4STk5eVdCZjE4LytEa1FVMnNEaVBN + UFJzSFZPVk5rVWgrOXdQTC8rNW9CVTZ2Z3A2cEl3SnFORW15S0VsOC9HTWtmOXVT + cFhydHkvMHI3bjR4WUVYa2IvNzJ3enNUVG9lc3JIek9PYzRKYUgxcUdKd05yVDVw + ZXc5WmV1RGVGYTNWT3kwSE11S09KTUp0eDZ4M0ZsUkZlZGxBMTJEWGNEUTM0RnVv + NE5rcFJpbG5JS3R2c3hCS0xPVjVtYnN4aWl0QUlCN09lTFpUais4bkZiUlRmcFNK + UzU5RVkzTWxMaWh6MzhTcWVkaG52UFhKMXI0M3NKa3pQWExvOTlpZ0NPYUNFbGYv + Mld3S0F2OGJzTWpkOU9GdEdlQ3lJNXZ1WDE5WTRNTktvZUZnTEtocmFmSGJDME01 + NDJiN3lFVk5mY25lYVozQmMrSytiMUtQZU1VNURDbVBiU1RVZlpob2ZMbnp3K2JZ + dEhVVVpPcUhGV3V1d3ExdEM2VFhwdFpnalV4TjI5Q1NQdU5QSjFQQ1pkWElzTW8x + RS9vM0RaM2xOT0RKSk9odlJhcFFlR3Y0T0VoMWd1NDhUTUNERWVUbWh1STZIOXVt + K1h4Sm5ZbE51NzFRM3hNSnphalJTOFlmU2ZrRER6SWdVUkl0bE9HYWNDTkNjOGNT + eGtaaFhPVzZvSFpFQXgxcm9lTVFvMzBLVkR1MDZUQm9HL2N3aDZ6djd1N2FWNTVV + anBJTEdmM0NVN2JtcmxmKzdRMmhObnFEN3F0WXVtaFVVNnhqeGxFbmpUZnFaRWFJ + aGVqK3g3cTdBbnZGN3kxRklXeitGMVUzUEdqT1BLbm0wNUw3amZQV2JpWkhlTmYz + Zk1KOU83QXQrYU1ReDlwaTdTVWYrcVUvYkZnZzBMMGFBcXNoTmhPTFRjeXBLY21t + czRJQXEvSGZPeXo5c2kvdlhrZGdyVHk4dnFRY1FZaGpMUFUzMG1rOXdOTDd3aXFJ + OGlHNGFqdDBnRzBMY0dpK25JMVNROTZQRzNHR2tZVzd6S2txYnR6MW1OdTYxWHF6 + cWdIYWpNeXREMEZtQURWcTAzM0x2QVNaYnowTnhvL01ZQXVqVzdnTDlETDVybUJD + UDl1aXd0VlltdUtZNUhZcG9QZmsvcWsrcDh2MmJtL0FhdndzT3NUcnhuZ2xuK1E1 + VStkYmZ1Z3dodW9BV0dpUTRjSzZJazV4TVA5VjFTR1FNWDBzS1puamt2akJPOEFv + SlgwZnJaVXU1RUNGRmVxR0ZPUzByS2srRkxVZ1lOV3J4anRSdnBudCsxT0FKeHl2 + MHFjSDE2WDVZYlR1dVZuOTBvMGQweks1WFZXOGVlT1RRS1hVelhwWVJoaE5UOS8r + K2FTb0w3QmJIQXB4NmZDVHE0M2NUZ2ZYeTZGS1BWejhhQnRsQ3RFRlZuTWtrcVBs + NDlleU0rZGw1TXE4UXcxMHJCU094TVJWLzduemZqWkpLYmtCQlNnQTUwbmdMVUtC + SnlxSlF5cUw5djIvUmxTMVRmTHVoc0IwbEN5b3BqdzYraitZa284Rzc0cy9tb2hW + TWZZeWhEL09MZi9xZDFHZHRBMjY4UUQyZEJKc0tpbFc3VXF1VEFjMWtTM3J0bmRP + R3o1TmhIVC9OUE1NSWp6eElhWGdGWk9oeGNrZ1dYNTNPZnZIckJoQ05DaVM2YWVn + ZU9kSXJKRmRZNDZ2b0NQUkY5SlgrUytXOTF3bUpzSkpsMVpGcVVzeVQ0UnVSdndB + NWlhOHhzWVFhblJudjBLeWlKMWNxWmZwZGY0SnhqYjBkK2ozcU1nVzBicWJJUQpI + bU50a2cvejY3a0JLMnhhZy9hVnNCdi9IeXVjNEhWSnZBeDh3WWYydXA0Ci0tLSA1 + NnZkUnllTlNVR25EclUzczg2cmhZVnIrY0NqZlNZWklzR0hmRCtVQ2g4CtGsWsU5 + pCInXyKNJCijgumV0eK1Z0NnVSlzA9brkIKlDwkBbozzHTpYpMc3ypvPYoz4Cqba + kwNqCbiqFYfsWlA= -----END AGE ENCRYPTED FILE----- recipient: age1pq1jqrcp3te50xugmv5wst3s9ahj0d38rfktxt43wlcqz7vnwyn3y2h7kyfr6rckrvmuk9m7yvp4efjnfsuxx6d8r9gn222r2eal5593arywrjwrgeypf745wyuvf3z2xk9tm5fgnwckftuvdggk66fph59rw69nt5dpjeewuww4vzt9gs4xelre952s7zjz56qv8tvesg2c89sp8rmy9dvhwfd6tucjhs6sjr6yp2njjra2u6w7c7f0sch3rwkw3wf2dc9su9aaa9q2f22sh5yf0fqejxa2qqpq4pg752589st5xsa5g8tpkjglj4tn35gd4hjj0xet9cjwhydmkmmkffy3nr8zdtctqu6pqsyf7aphvktryez39ru3qe7m6nvr465ffxr0ltvr85nddzxvcwpwpac64nu5tdfrxgjfqzc99vr3zxv8carpsw5evmruqlvrq6v6a4m2cwsz5gqw7nyk3jlj75kp5cnafzjn5dyrf8ppfhp5g5s34zsl7pejmmx2uuudjt7ru2y7as9mtagykrgqgt80fvp3eeh4gsmmd3ujgtp0ranq28aq9x0xdekqh49pfhhprjj6zqdfac5gxtjj736kh5jktc4ls4mjs3p33rzt6ze54uqsfept3qhua2pmugypup6hm6j2ek5sgxjnwvqyfj2l8vz4yfgkaxf699v7jqlwf7g68ang5kzqrjsu78lyardm4zen8zhrr24j334qdgs4zr8dhsfsnmvx9cdvu0swx27tcz8txs46zds9kekgmua7w7fnw3l2lf6zla956ssycac4zjy87rawr4thusxtcqgfzfzh2za9np0s34e5dwkp2l2k06cq09myxqfe7ze6a53d8sl5j43qcekh6kfvl9k0t7903q99pc35630zwm3hwxgnw354du5gngnz56skq9zx3pcnkr5eyh8r8t0dqudmvrrwmxreu6tgrklxw7yvu3zkjgt3gyjhc8kqcrevlukay45sz4k9zqxx9yrs88hzt4h52r2g74alf3cedes3atufy06q4lfq3nxdlnve0kqcwstzr6z6u7fqpqvacezdrr62ycteju6dqawkpthu0drtlxj547htfjcsnrmhgvhskwtuhk6yp7wp30p7qc5vkk8fegg6qx5kc9xs4trx7hj9xgydu7vd30hkceuxsczywjs9v2fl3svkwfypg62882yq6ltv7gfj4ajuy8ezd76g0z7juwspe7q6zs5ceshd6038tvvh2nlpjty6rg6a9qfzhgmjx9s6hynyk7xnq9zra6hxstg8p58x75hapd2mk6rapfunlnnkz5dsxjf4ud4dsvgjfjpzxcdy7sp8dzxtengrsdyu4824mqlw8p63d7m2z4mcyme4tm2qkugtdgrkyphe7akk2geukf6xkfkzd2pkdq5s3qm9fkvfkgrv6yw5kdgjak8xcgesg6tumans4fs8yrxtqlvv2z3emdvwchrjfq4xpzsj27yt4gdg8pknwz9tqpjkjxq6lysutrvwkvt2fwyj8wvv8wtmdl6fk6rsd9kq9a6wkhuq7vvrgwgj3xg2s229sprj4g2vzhy2dfesrp403gs64jqkrjuezwm4zd6uw2x4e2qkj8xqcf7c0zprdzu959x23u878vqqetgpjwt0z3kedt8l6dgpm0rf5dmrya5h3wgzfa0jjvgjphyxgxrwlrzpv4czgal933zs64tn90ks66ejjdaw4t67sch8r3q0kljeqnpdgmw0cpj6arc6k46wcqaccygczy76zt9362vslakvzqqv33tv3sjldp6qxprharmpm9uykgpx66343wuur5xj2aw0rgutpm4ztjzycn3a8d2jq2zpdzwmevezm7mkp9dmndkc3qz0kklgkxq9yehrk5ayfly97umhws0jll8qqg0r7gzxgw5vv76 - enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBtVktpa0YxTFlYc1hVM2dP - NFZtbFpERUhuU2FENTFkTVpkQ3lXNzFlMHhVCld2cUQ4Vmc3YmtvVUZYOFFBZUFn - R1g3b1pHWFpXVndUNUpKcW5jcGRnaVEKLS0tIGRqUnltQklEczFzbjJ0Ymx6OENa - S2ZRMWxlbVQwS01EWmV3aHdDWjh2V1UKXfo7ZYYZXIjolTKc+aXHpi0P6QxzpaKA - 5wi2gYOF5RdoyOyfjPYsIxCLFc+HO12X3BD2osomsT0yUGD12xWu5Q== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBsUUJCK29UN3ZXWjVIa2Ir + QVNJb2ozQnFHNTl2Mmw5RVVtc0JET0xnZHhzCmxJV3hLWDEzWlFKa2xlVGVBYlB0 + ZldLdzZ6ZHhlYTF6aklaYzhRRk9IUDgKLS0tIEIxT2Q4NGhMRjdBek9sSVdmRzlL + NFlMci9pU05FZjNsSEZWbElBUCtWWmcKpjimvt2iS7UYEKrX3TTNoLdboaNzakmp + Ju5+ZMG1tHYfj/RziIyNwrQPID/IwqGWNn/+yf3Ybhco2bjTsZ6voA== -----END AGE ENCRYPTED FILE----- recipient: age1q7kz3pnfq6cvtn56rlfgs52efcvtcmaq4xny0va3x5wxj4vpgccsenwxk6 + - enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBuaXpKMWVwbkE3WHhrcjZ4 + c3kzanZKZG9GaWVOcEYwNWVXVk9sZXUwYUgwCkZQb2k3SHByNXVxQk9KUGRiVzUy + SE90VkU4TXNlUkNSZG52bHkxNzVQS3MKLS0tIEt1bzVsdmFCQmVuR1Vkd3dvQUsy + OUFlL1NoVzlxT054WmRMdUx4Sml5MG8KH0ORrmvXjrnBd9nkWABQEEIZJDF6gdol + Zur/Bfe3YLNn57axzhKrmrqUhHrEtCTIbFAK20poLMuYPVPCfBgwbA== + -----END AGE ENCRYPTED FILE----- + recipient: age1n44q80zmsnq8dehnkm8g78u0ku48zafrq4vg5pzz8ft9jkqja5jsamwxhn 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-10-08T12:21:49Z" + - created_at: "2026-11-01T18:44:28Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxK/JaB2/SdtAQ//YjXqHd2fkAaaW3+lpKubSFc0EDoBfVqLm3rF1TSBjmLW - wC7Xm+Q7TANTVAWSjdvsHhuMVKRtkZHvkM5BWPGAJ3kgv4ATplGg4NQFQCgUMaXm - JynCePI9yeFtMJuXIjMdcxdEK4TW5QzLpUPyEPsaL2N6yWAQuhNeF0mgxpPwaFYq - 9BTGHzz42JZciJ8CZzBS88fhxdH7vEFAb1jj4Gjz3NHqphaIDHB27Kk7rWVtr5+d - Xem/pGd5op16LDeJkYbWwB/H1IwlqnGMEj1cfet0mdvTAR34mhKTXi5goA4DvL11 - eXjFwIsJaXmoqrATkRFjh5MblxQ1T/Xi7s0pf18AY6VpgLTeCEODwZRtRTzw3oh2 - /ZNVKrpY9LAlAGJS+2PKNyI1N/s88gtE9PFPQV6mKlkTGrKh/VzSlUI1FY0D2vhZ - 6I9qZ7kM+B+D4+nZazc9RCangZjFQOss2eK0XFaAD7p7Ea40Xmv9QJvYO1DIhl5O - 8SA2ibRcOZijvtMxZh6HE3kwmtDdrPV3rxO53QlgXOTnmcuvqKB/pviF73EkPpI6 - wdRZ/Jouz3EEpkrMwSX/+sfKJkTYiPF+2savWX6f2Rt7xuWD4REC9vKFPgRp7rrW - bkk9NAgJ10G1VaRCjK5kH2P4+ODsGXSumE/yNgPaYa8fILgw/zA/A9Hrm2+DMPHU - aAEJAhAvMlG604H1bleSNePoqXi1No2wFvOUAPd0jnDKPasKQRbBzXcIVXSa5Gs7 - BG59T5ntp9G1dSkGJwt7IFdnyEVJgQ+/LxhlneK0Ql6WcCvki6CieM92aekMJzGK - jFFdoOk8OPHo - =DOii + hQIMAxK/JaB2/SdtAQ//a6SmxhJJAcKHlHzU6YH/fn33OQmKRSsORJHKIlMKn0zC + lZ86YlprQ4XaWNdzcApVIr9NzJ5FzNHHgvwyu/KsyHoy0QfEwODqUwLH6KzMGUyT + X2VWJjHQrhMoHcfKkMfrjSuMANRDnViriiP/jV6Hv1Z6iC7j5vbkx1yYdC43BhRN + poJnW/zldSkETM8NDCSlCVIeKMp9a//ZIi1xLv1M8dvGCtrqMZyYDQjvfdHNYBKe + iUCLe6OYCqnLCVnPwTjvyhrNl9KCXQ275fj47dDYL0QYORnKftBZ2wssozHk9ykR + 7/wwok7UCHQflz/3pO15aXfFcKUC4A+ZmiLvIOlCcJ2Ot91sObcFQxCGN2tsMoyt + HzNFktSwU7A6x/7PyCYaSPqq/6RcpyxrxvmCwYsEdo65UW0TOb/eK7qP36ImZfRS + UdNKl3rjJ69HVlP2R6mxEw8Qaf/8lkIB6qmowdOXob6tnchVKkCir/9rq00Tlnaq + qdqOvOrBlqLBr5vYu6TtC4DONxeowiqoBYoOCwb2wo3kpd8y68RAClX+Lt+r/uov + d6rF8xj3JG6CyumraXeWhG2cWjmAVxNT+Xm4LVyrYZWw+Wf+fllCvjyCr1bmyUBg + GVuyDjkuxumZRZ2u1H+NzCRn2WCv6oOQ3F8zuSk/Jr29fO8Chm+zA/9VEfohcgvU + aAEJAhBlGN0Su6nfTE/xE9Z9x34CmHrNt2MBLp/IO6kjoONQ8wUWbQmvWuv1S6dd + cdS5yQdhizolbqmpOS/vRy/uIwbGvTAciayKP4H/4tQBMhmWMSDUdc+3+hoR5+dY + N/+ESUwTT0dS + =c0sR -----END PGP MESSAGE----- fp: EF643F59E008414882232C78FFA8331EEB7D6B70 - - created_at: "2026-10-08T12:21:49Z" + - created_at: "2026-11-01T18:44:28Z" enc: |- -----BEGIN PGP MESSAGE----- - hQEMA1QflAioE8i3AQf/WEIasJedthFN+4ADOlvk6739WrA3tAG+Ml8IH5VguWWY - rhquIJ01No1uyWlBnjl+zY4u5KedzBNwiSGH9NqdoFl4T9PDyPzhjwNKdKydelA0 - B9h4T1SNNNlhLzW7xwnaE2zzdVXc90MEzpsGXKGmaUjol3glxZGdLw2O/9lYakIJ - F68fW4NJSnQ3mDwFzO3fZBUMZxaMrj0eT2fXOFkzpLwO+k99QO5J+H6YDndFIrqJ - NMNeKAPoj/IBAe8gO+zvFqMP6iA+1zyN/WLsMfbRb5F4lnnVkLfcNc0wI2Fzv1p8 - yWL3j7es1OYd3Zo6y9Oe/w7QmQJ+8h5+ginRmWic/dJeAU56lkfIB4pbCnGJBLgz - +nS6EsY7ok+yzG/HelqGEtQwJPfZ9HR6yK2WseP4eYdbIGmkOISnt53Ft3xZPDHg - FyylghYaF9KiEXknRY2b+fyRCfbHBBjnh6xVyILqPQ== - =ytdu + hQEMA1QflAioE8i3AQgAmv5KqxgdrS74h5R74W+uswYn9PIZDosTGnlhYDD0Otp0 + C2OSx4gVVi47HpFcw7Gby/faIYMVLCeboRSefV8WbtJMR/E8AqHUjDoDEZ+Qmcwo + 0xV68JRDI2woSxtGgvEDQi8VJ2At0ui3DlA0OfQBpvcc6uH39J4qUWlpEV3GB97g + t98LphM1C+4PJlFQJ2P+S3JJBtT5Tji4dUCMu5PAfQDSTRFwLSm1GS5zZZc4CVmo + KkW66T5PvCkUmsY7GI/ckF4jY29ainvzvd4bNIw3BtVcdaYC4cjnV9a9bibmAbcB + 6RAC8AMdkwBV/R+vW9Zzo3u0ENinzDheXlWyc3qe29JeAZM8DLwehy1/cPqPaolM + NjDrD3sBtqONjJlISeUabBrKuz5vg4j9HUxG3SIuetmzskbqFnCmnsthx8q2G0oR + exA2QAnWq5ddHouCeqo0ShcgNjAUehP3pTMDA9StAQ== + =6M/v -----END PGP MESSAGE----- fp: 21C9579E6503CA815A68ABD8541F9408A813C8B7 - - created_at: "2026-10-08T12:21:49Z" + - created_at: "2026-11-01T18:44:28Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DsZXvxFXTXoQSAQdAY/QEMTJA1mP4qlWnMD9l3lYyEsF9LO+u0jeYwMR5c1kw - GFdqNpvhgbq56qmxgux1lCOcCgforwRZNrRV6zdQEccEpWLRUy/pmvqRBaSOYYe6 - 0l4ByIKrIab1smIea0ZeM7oZ2sRnzgNCOEo44ABuXQW3DoiFc+49DFKi1zM1+0mZ - uRbhv383SvMNWai5Tmf1JkrQHwfBwIuJT63AK98TfmEVrAu20qZ3E0TfB8cZ46PZ - =8UMl + hF4DsZXvxFXTXoQSAQdAjS+2KClUsw4b1A9DvHUkL86lRbErmzMUsd7ZG1Nh7jsw + vHyiOoPAkDf2DWwZ/FwInNkOjxfkOJF/55+6QUW6bha8WgF5/K5nl3VjpNCMtC8a + 0l4BkLt7QCYP7HzYw/5XKG5CFnjehjHdAklQ0HjLE4wmGwKy/WSOesg1ARvVD6c2 + dcuSHjeDpF8Wa8o4OiDm2/V46gq7QKnLzJYGBuaYi45H8NSbsyv0ew1jBpaT7Iyj + =TGYW -----END PGP MESSAGE----- fp: 9633412309CCB83BFA39BA5F2FEF746201D7FCFE - - created_at: "2026-10-08T12:21:49Z" + - created_at: "2026-11-01T18:44:28Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdAB+o7XTZVQJyJVV+5LDdF2qp3mViYE6srWmSBBQmplB8w - o411SxMsKEk8ow1VgNKCr7KQsVgYrMTHVjzt+fWT3/CNYYtIs7/ox1RISHBjmUUg - 0l4BYqWvDsPEyjW1WXVjstuNOJtEgm1JOQwdKMNbBXKa245gFKmV1udAizGpI6DJ - xiIAOSSYSLxuCY2PzCWsv2jx36nHW8LvELMRWy/YeaSQt4PKMSzqPucXq+2H/dAJ - =bJQp + hF4DerEtaFuTeewSAQdAF4fOXWjCoBRpm53UvgR6mjBdrvaq11nibf7ZuF+yYwww + QEDP9Bap52zIHaeWr7ej8HFixdPINvcxS+tw0qai3mdwRElqeWCODbQq7Ts4m6CF + 0l4BVl3Lv6X5v+sGrvJfu3ivxjJ3UWg2+9b5XbFGRX/p9Fr7CeqUgSxm4NCztmYn + qUqHWQOXZMOyW8z1bITL0C8uEHXaTbMgtvl7nvoVQcac0zi+TCGdWyGQArSC2wrZ + =UoO4 -----END PGP MESSAGE----- fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2026-10-08T12:21:49Z" + - created_at: "2026-11-01T18:44:28Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMAxjNhCKPP69fAQ/+Lc3kfJqZabyEvtn0mT1uWm/TB9K7RcL0tfl7gZ7LVecD - 0CS4vzNFtv52YsKYVJNAnjOWOPcgiXDCfBFAYQyuWINFqhKmeJqnjxCj6jki77j4 - tZq3wx6MA7es3lzsyw2uSX1duX0AG96YOCxTKuaAufVzWzKuRaxaQSp6fwKYxkGK - dnhQNcAmcUqgn48zzHppFIotAO+BT8Q3Yl6jwPnU6ofZLruxjsE+KmakNebg4zJ5 - 8oc+KfgDF/907mxe7200nKmVRcuQas83q22SJS60n0Mf6S0nGowijqvkWSvDiQCa - 3gBYuffrv1D8yjMPqf0qAz+OGdTz+75FEZYOIvCCspb5mgnMnkXTTOSzWQI8LeWu - Gx+1gQpGHoD3BGJ2wM744A5J1uVyR/vFF1LGcSXrK2ScGLd4z2ipjjptZOSCjE2D - Kua4WK5tf+oLPMKDSOz+i+UBwOA3vMTPHMoJs+jGqNGqwBjKcbcZneHt080ror3F - aQawOFtHAxOBXYr+pFsHfbMODXTB570dA3qViVneNUPn8XXYyOYwYkE7/L3XpBV0 - b8qfW4ueZRLMl2/Iva7YofzzvBoWRsxCNxhejYKsXfBE/N51jVHwFvd/VFQTwNZo - FIeDB/VwwsTSGQCKGPvYkLM49R4jrkIYcfmPdkiitGB94VuyREncJZ3j0twWrl7S - XgHxOo1fzxBVy7UTRJCdjsxeoLBd1SFUAyzsRe0os5hO7gixCgacPIGvk47BHK1l - NtY/JjeNltphHX8FOS98wv9NASAB3SVylfpcU16+u5Viv9cTvU7Y9Lev6ukx+Pg= - =zXaI + hQIMAxjNhCKPP69fARAAlki0dewpbEBT7SmnsVBF19/QrrKhXYpfpysJSXxma2Zu + thdNYO9Ng8oE6alrOf0y8H9fFRR0RJUP2Ag2dLxFjLfX27dZQXH1p6w404mGoypR + ljFfNqAgMbE3sXCiS64IEb0/iP/7K7dy8QNTSsGSxcfJeiv6MrvuKBMrCw4npOcm + tSsoj4zVFfkZV2QQq+7g4E8ASca3MbtRLM1Y+eZIYQho825Kq08WW5CgvLmMTBzh + sClG2dfCVmv//5eA5lRRnprUvkRvKg2VYocc9F4OwP5BQHA+ZI/UEiyv3RfzZoh/ + VYx8477+P1mZciQtzQe2AgEiYPsB+1DSy7r+7M5aPAG2j84syvuslD31Pi6Ny4pB + upg7BG0m7PHnAPSrXh5yY3yDTrP3KcgeOSfzusmRvKyQP3Sw03vwfGsgc0mnxXKP + O9JaILpjWzVCL/EARCvaAtb47O1Zv0CjUNhFRXlcB/AasZs4QqzYkSEskVMtRT2Z + 3NNwnFLD8nUbyiWn2nrXeu2S8d5cF/IsNLTKjHgLGMQ6iVE7YuKb5u0v/MZvFbdH + Bs5z6wE5QboV1q1wO5g/E7kDEx20HBEa5ZIx5ggdcqYxkf893ujnRQpzFGuJ4ufw + 3Txc6YJ8GHyaaoFFa7ejF1qjP3Mh8wwlfGq7JMT13iH3o9ksh4ovnPz9QnQRWG7S + XgGagzv149EX2GdbPItQocxNMlKO4aaPeTL7IhoNTw01TNMYtdMTc3kKMqJ8YGIL + KG0D8sUYkBbWjDbKGlLJKwBu4Xqmvz78pgpFsied6n50um76qsw0dm9oDKV1s0A= + =SPwe -----END PGP MESSAGE----- fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 - - created_at: "2026-10-08T12:21:49Z" + - created_at: "2026-11-01T18:44:28Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA46L6MuPqfJqAQ//WYtKlggqzpAwBFD8mXalq69/I60hzt+ByURt3/+3jbz0 - +rJd8K4iWvcoNLFYeVJ2gQ4WYUUdFEKRfrrUkytswNddfMEkGMBu1KdHyJuimAqI - xrtf63nXUSjqsjtsKplybBBEKeyHBN1JU1yT7jSU2RYpdoihTVvGIq6ceZbjB8+v - iLWWXGio2sdPtmXrofQ79muWvH6p1XIUHcKfMDA+L4y3AtOyyFZ149S8YaacIKq+ - U8Iba677T5yxAbQ1z7+7ftWGu7RU93oL72oN9tx4Y7jlqbUCn2KvwRgZbjkdksgK - 6nfM7clX8EgbFxLermRy52WrooWZwFGuZw0U++fKxfrE/r5b1+uIli3EgNIw867r - FooXu/vHClnIuqzE2YO4IABb+jI1qCEyyrrFqIfZJhU/jiueQBMrFgJz9oHvGOTt - niqyAZAGR4j1No8l58ofeUc54TqmJRTgGtOlOJBI8AZPTZdhlN6jwqJl3yPkuRQj - qJrC/t5ZvJUDhuy52GTtZNu9Zyc3lLKPs7sIqm3E7ctq7W1sDudNHvEyQmttXtiN - FvF6vLyphMTlJWpqmEYfxsG2mFr+ScBFNdjqhmlKy1sPJ5b46yxkD38DsOYuDdSX - +RVHIj9awqqv/DpwSWbfTK/Ao5ZthJrmcbH277in/DngbleU4MRMitsAu7ZQHHLS - XgEdwO28fTGFvt7jVugFbBUa2HNl/SMBrMJFpMXKPhUv23J97C70cH1XyTNw0p0p - RIvbdopk87k8+xr7woi/mAZsBEE9wkNGzDoLgK6vzjA/7VbM9VRrPd9oDbZzkl4= - =KbFY + hQIMA46L6MuPqfJqARAAodz+Cl6T6I/krKtWqer+dEMDQS+UslV7nJPqyCoTZsDh + Aghb01QxJR7rppom0vBpLUaHBu7069s3kufU5hdyBKVdFFPYcZpPEe5u7dUYU9mo + QRXnKLg/PG8DfthdEsk9bE7oeaq8+FgP74Gx1SNwlKGzDy5p52tbcw6+GEMRM+RN + B2SPv+WlA+q3oQ1W7opEiqgl19Ec+dU/fVqN2aeNdf4pNrOYefQ0TCCpun0sTU4q + NUVUz7nBTcCdxIOeMEa2weOegzlGrZnVGhCqkr0AP6Uc4zsdJ4cYOyWOsJJpnZJM + 79dZn0JuOB/h5mdbYfObC0TfqFp5tJ6FObj7YXDj0CaguERY6pkfPA97GZQZsh/E + GXyc/9yfuIlxBAH016yIb/Ezv1rPfWbDE50XBfPG/IAxnHeoxzYhRS1qP65zCe9y + +u/6lsAndSS4QPlPL3B2SfT1pojVEwKoHrWugl57NGrIvN4JNI48j2ip0ixXkJ/m + oxAfcKVeMoZU50RoHJSmThO1r9mROwos6WOUHBTgZlCV9wbVVRxAVybHyOInPVpo + Fv8AH2gwaYvrGCsNLev5EoZQu/1O3fefPxjVhK9epjkirsJ+J5aRbyHxpvuyxV8g + S5nH/qvbqGfJ3Fu4IHiYQnqs3aFrdYminSAnqCobxnzEqwLvSUzPemcJSclY+qrS + XgEIfBQsSAr7Mfv1zZqRFRT7BBncHLrTo8eL+ULCn4qg9IgPetVA0lxn2+/wx6NI + ZNrGHLMkZBgsspqw0vd4XnOZlXG1Y4LPOrmSTeIZNqTqUrsYT5km4rcm2MWKSi8= + =32VQ -----END PGP MESSAGE----- fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A - - created_at: "2026-10-08T12:21:49Z" + - created_at: "2026-11-01T18:44:28Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DQrf1tCqiJxoSAQdA44QMLrMf7v9+JsZLXyE3Qv5sOc+DmVkU6LvboKyV2Wkw - Mmm7BWQXJJV3Kc5rYLRUr7R7qg0QRVVekg2mh02TLqb6vcuCTgrKcWYq7ofez6w8 - 0l4B9Y5JV8sUH0uqnKq+TV4SyeGn6G6lSEGypPQ3YBmFSvMLuKzcf/SlR9bHYiHs - 63g19HXDCAuO0bWP59hmwZL8DV0v55d6wqItA0KmlqreGQjM+11sEdDO5X90XsqL - =Xuqq + hF4DQrf1tCqiJxoSAQdA/qQN0Pihbb/tPy7GuQrmEJe5+tA5umGHxX5vIr8mIgcw + gCb3fkowcfxBouZ812tEMyHU9CdMjfxHj5K69Bcbx5FgO+25PdDBgkd3oQejtGUw + 0l4BhaVqE4DWbu9ogqFnXPHT2QbfFXhL0VXqupAbgx97EC1y+Abo9BccUsreTaNc + YFiwnVFF2El4B5K1TukP3gNJo46HHUrBV3rJOSy20fCABnvKyzlj8s9GzEowQPfd + =wDJ8 -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2026-10-08T12:21:49Z" + - created_at: "2026-11-01T18:44:28Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdA9Yi0ArgXI5MDjhB8mgruSNLl7V78N2QWolaQB0xhT04w - OLdslCiJJdsdmVJ1ctiD6uURznfn1fCFUL54mzciOF8C9/nHKrJEZt0WiPFXdEBx - 0lgB5x1GK6zEo/HxyZ0AquRn+kZ0F0W7tYsMLziiDrGMqmc6gIjzA89JyP0fNTZQ - QNcKfhb97qPlka4XiLunRJyn7yE77a1m7WEW737HWndbYtcIRt5oRCFK - =vrvO + hF4DzAGzViGx4qcSAQdAo2Od00xLHWBSn57UMXHAtrOaNr8XAZLUmYQa5XxiJ3Mw + KCW4RFt+yC84pzuhfNVDx26y1O9B/nKU771w6lDb2UJtxsqD0qcc65th/y0aiqtg + 0lgBDQe3JIDHgLk4TCgKLY+Lp4NspfdFxu7/2U1SYrzf94KioZWuXI745ar3QrRm + i5SFYNaLRDK26k6tjIjLqaPWcrrWQkkochHI1ZldpW2rVtdZISjpoTiC + =8Rxf -----END PGP MESSAGE----- fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2026-10-08T12:21:49Z" + - created_at: "2026-11-01T18:44:28Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA2pVdGTIrZI+AQ//fH+BFkgjaT20AyGJHUsVfv9BSRi1T7+8ISBiv1yGQ+bA - TqiShHPcJsq/M++iN+CTRiLpLbZYfSN71mRgYwVsy/2ykGZIzLzEelYAtyfDk17M - GfMwbPSaux0rW/FnwYmYqRgz+4O/FT9N1HQ7uNErAYYoTT7McN1olQxT/qeCcqnD - pDsodxZxQBGAW8gBTAFodubhj0jNSpaKgy7FUPF5OGeYyF76FjSe7BdKRksTgCPG - LXMcJ1P//sMXuTvs3iLQa7mYtp6n+kHU6dIFRL2iM/skxqvfXjXe13FZ6zFJaI4e - QU0FVlm6Tnx0DrBl+gk6/y6+ajVOfY3T+Rj3gBGUoAPuPCNVCcQrg/pSTTV53TyN - FpVGwYf0f9kCVjqqviW/f0Bgy2KwqIwSKiTmWP9iFM3C7oEFonXWbtR97DG0OnuF - dyw3QeyOnIVXsgpnwouc4FtP7fb+sMZLKaSloo+XzzJSxjP/CWshOCnyZP2PWX7X - pqNXrAnJnZKu4rO79osj4VX8tVXf7vPjjKufzmpuXiErwuS6CNARnLS6PS717hse - wEkz4XLcRd3jVfBlYgkMgzyYiqlSMzL7hHYSyvE1nBP3xPCfKJ+LZ3dnJALT4Bmr - CovNtl4ZcHLHpSG0Uf1pXLEAJsNXMpfdSL6oFw0gS7e9rPoL8tAF1QROFRJ8lEzU - aAEJAhB1Cio/Bv4BJ74/4GOUJZFmA9oPAoXsJxlLRjNMdkSZEuHI1cQJsr9+TIuu - FOdzTax3Uo9tbCQbLgIh4SAIIl2s3HXzmBcpUg7j+TooYTJRbpeL5FlePysXyxSJ - TCSr2lu4uSj0 - =VINh + hQIMA2pVdGTIrZI+ARAAwOjBr2qpld94OghshQ64LtuudK5iQfqLiJ6lVsiJCpz4 + UTHKlJBd693A4Pbnt4o72jx2m3kWSEsUOjtUssGeVflnYZ43cCEfnNRK73GRGgf2 + ZR9Qx9tlR9fU18vuIa3XRwmrco0JUz2sm0BzTLC+Y6KqyLo2eXfywXTOKgGYRKOQ + o2bmplFGLp0u63IuXsnxhbUEQXp4o+/Hw18QPGOffQBE29yhpIpoK15/d6yKV6cJ + DXA+elNBK0UvBcOYVy+Ho8YsuHAb4Hnir6zt9/ODHtfXtLdHShnsNUpAvgW0NAxh + EnvbHHSq0KwQteAMrPxiIjlxQHdu3iPq14fg5O42p5l/W7f2atB0NFFtNSehU0WQ + nGp5BJvgwPOW6X5pEZpZHiIsiSP4ym9n5KQ8KSkQQPVexw12FI5vFdPokzWT6UEM + 5vgtNGHxM3NmdR7ZjEy3MriYKxzkg+CGSfvh8S6fhpKWA8vQL7HP3mZJTUh9ua9Q + MoW6UazxaDA4wHwjx069oasNTwzXUBNvoa+ldfF+kwDB9bKemu5UkuWEWs0IZk4C + LDgeba6whYI0yxObjb9aeXbAdioGhSpRq5A/1SExncXw9H8y5XWzHvUYgy9HN7dO + J4hLNj/YhDF0qrHP2kVJ7ZlJyNMstV+lvAtuAwtnT7aVd5uQG5E7kI9Rf+OMYqHU + aAEJAhCdu5lpnFz4ZvXb7EU4yBuVlQFFkhpNBgS5Tpw9G2kPnrG+wyGAoWkCXVE3 + iOLZbuZTMJ/vVZckeFaG/0L2IY86sfimiWNRyP41W+jphgdR6yzTmZpu4RFJ88Gj + gNpFW+hJCX+W + =CVeN -----END PGP MESSAGE----- fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 - - created_at: "2026-10-08T12:21:49Z" + - created_at: "2026-11-01T18:44:28Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DKKbvh61jX5USAQdAi0Rv5GPtHE2h+nFFCxBAgIMtt5DmsvAHEd+ZK8BO7SUw - vKs6PtoSCJKsMcr94ZAMoIeJ/QhrmCEm5yK2Q9zB19wnCCJ4ec2KNISRGbFFEKsS - 1GgBCQIQZe+/ScZmD8ShMUYQftcGfi89ylZrOq2ejDpPW/05XFcatLu3yvKa1DVG - myj1Svg4cW831BEUzeLLMwDVAD8Pg83SyFlzqwXxqReCEkylmHDBEkuXlG7hLriX - K5gy3LzBcHqjng== - =kqyb + hF4DKKbvh61jX5USAQdAZQ6hoMmScCmxIQd2DHF5sw2/vudqlTFQUXVWziiUV0kw + dkIVboZSBFBIShfr+pqfYE7HjVhaQPyc68X5xfCCXL29XZU9n7CdESlZiJ/QSdWs + 1GgBCQIQwzaZ1yLI2i8WmsVta/TZOiiytw5C5ttIWxfg5obzL+9TeVoZUrNXbcEH + 8ES/eaO+7ZdnSlZh3qZS7rCwZQ0agZTbsWX3BNbiq6MgxB6r2AMJ3VzfF+VhLKFq + goQ4yRpuNFBHVA== + =QIW/ -----END PGP MESSAGE----- fp: 41FFAF3D519CF5C039FBD8414BCC213729AF0E49 unencrypted_suffix: _unencrypted diff --git a/inventories/chaosknoten/host_vars/hta.sops.yaml b/inventories/chaosknoten/host_vars/hta.sops.yaml new file mode 100644 index 00000000..d554dd09 --- /dev/null +++ b/inventories/chaosknoten/host_vars/hta.sops.yaml @@ -0,0 +1,195 @@ +secret__hta_db_password: ENC[AES256_GCM,data:b8YhuqgD9n/xwNGin1GSllix72hZSD6wgtH5rfp3/JVMudKNFvUdO6MIGiqURbvm,iv:ZN3mrmpdOvzDeKuT5HsKHR5V7rx0qLsHZJix96Q7GR8=,tag:RPSUa9J4RkBWq2fetCF6kg==,type:str] +secret__hta_django_secret_key: ENC[AES256_GCM,data:RwTP5uPYISzGvH5VZnzb4vcB8roFICPhIfl/Ni5V4E4=,iv:KChOZQ4EVsXdPq2qzmhDyFWQ6yc/Gukl/pfY0kqyPnc=,tag:iKH1UQEKFLgkQsmOicGmMA==,type:str] +secret__hta_hugo_repo_ssh_key: ENC[AES256_GCM,data:B09k96c8MQtpFd6Lb1BAOErSYgqmVBPpUL1IdfbM9hcBDMyxzNOWi+PGyQ3E8cfEt0EHtUQpoVd9/2wJ1ckzit1NTfUjKjssAaWXE7XW4EpKBRtX3C2OQik9JkYLNsAJ8CRBft/nb6XUYpbL5Hz5iVFe643wS6w3r2QRLv8Tjh6WwcUxAA8RZYyOzCKGuCZiE7KZ0eQ+B5XttRisy13klDwclFy/y9+rgqA1xs0k6xfsNF13JwL/FX4Gtr2BcVPc/ROO9kIl+hLzV2FEaAqyc5abiIoqZsE83fPBusRUCQgGDe/BSPq67kGLdaCCbJtAk9EUpKjiZ0I3IO3K+fWHXmNfWWygA/BqDQzfUIUQ9nip+3W+MrJjk3ZzcJhTxwc1zak7U1ikzMxnbEAK8bbhEdLyK9NMCbwhn8TBgpBsMm6WLqU3p32Yo2FdIjy4BWNRi1KybSjcxvB6vtNn4DsMAtoxPY9fmonbpE9ajMJxTeFjUpixPwKMF9mb+jE32DmR6EPIBAyIhjvvXYs7awsfBrqm7ArxJBXNDhyw7p78fjxhjgO8NdEt7Q==,iv:L1/Hv3S6bieMjCizQ4FePOUD0awu93fO6wzm9F2rv88=,tag:1fxJf/QeJzBiRds5vgEoog==,type:str] +secret__hta_pretix_token: ENC[AES256_GCM,data:PZ/uWhH4zOJgawM9FcQE/Vr5jeVJh45kc2iemJb3JjSdYv195aSdVAr5L5IxwTGleKmSn1WNSeEUb1p2Q9yIEw==,iv:sZKBPkcAiRaxQEYbkwFYZGXy7fOwz7qgmQ/h34sUamo=,tag:A9JJgmTf90DHjPYEafqhxQ==,type:str] +secret__hta_db_fasta_api_key: ENC[AES256_GCM,data:4XFSEJgPu/VRFEgADReKxAtiIFoZTm/1DiyPhyQdb2g=,iv:NE1Pu06zvaFmpCReI6Euwl2rHPzk10WYznKFKrJ99bo=,tag:4BL3Fchew6V7W0mcR4s6+g==,type:str] +ansible_pull__age_private_key: ENC[AES256_GCM,data:fmm0tr2E3MYznW9vXc4TTn9fJxpyA/84DVZ+Q2hcMa0qp31P6bdIUN4DxExxE8s4/MduSYZmyjRwIUQgpSW3WjNkjMkLeX5RvDI=,iv:jZyNAxeY3WmsVRA3dUM4zlFGbnyaSJq+b7V5eILIfJg=,tag:BEfi42kTqvE87P6EvU3Hlg==,type:str] +sops: + age: + - enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHNzaC1lZDI1NTE5IHFyYkk3dyBNVjdj + Vy9sMHJWb0R1TzN3WUZwZ0g3MkE2VG53cW4zNk4rWmlaR2N0cm44CmdDNnN0Y0R2 + c2FnQkRjbnBxQWFicGRlL2grbGRRY09idldRZVJTMmc2RE0KLS0tIDNLeFBGb3V6 + UDdsWDdyY05WM3lPL3ZtL0lzS2c1Ky9QREw0WnlGSHRUNTgKTKr0FDPjXf68ndK1 + ZuIxgTqwUERcrwgRbEOR25vIxCxDfahJfwncUMJ4KDD3UDY2hdWh9KeHChIz5lcT + XrBAwA== + -----END AGE ENCRYPTED FILE----- + recipient: ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIBQgnQAq6FUSDK8bxtYPjx3oRCAKG+xy9J3Gas2ztJk + - enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHBpdi1wMjU2IFZoZXNPdyBBbHlLSWk2 + VnpJV0xMSDFMelJCd0gxYlRtTk5YRjdsbnpxYlk2NE1RUnI4MApVVmFxSkRSNFpW + MGFWdlhTbnV2aFdIZXEyekZYS1R3Z1JOZU02QzN3TDhBCi0tLSA2THN4MzIrR3hC + N1FEVnhmWWlPcDJqZTBEeTlTcFdxaW1hK0ZGcFM0ZW53CrjodlHPlQpdXAzebkeJ + nYYxoH2rRuk2lKyGvRQo6SvERSdNoqydLqcWMKl1W8TIN5LkHg/Ci8+LEoGbCHFI + XSA= + -----END AGE ENCRYPTED FILE----- + recipient: age1yubikey1qv7jkffslarpma2fxjm9gnq43xfvwdws0m6y3u58h033edwdyg0uzt8jl5n + - enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBMY2xJeGkzeUdSNjkxTUVF + WHZCUVQvOVIycGZJZHJua09VdE1qUWhwRHdVCmdDRWk1eTF0WXlLZTY4M1R5citw + dS9JaFZTWlNlUndVZVZyd3FEMGhvbjQKLS0tIE5DbFZ3dWRCc0FCUnV1eVNURDVH + QzJjVEFZQWY1Sm14WWczN3NaN2RlYnMKYmVpvaKJW01PqP2LkMAjh7DgUBuOGL09 + T3SKXvpquNxWimzZ43GnN77IlV+mw41ynHG/CQhRfvX84svuF++WYg== + -----END AGE ENCRYPTED FILE----- + recipient: age1n44q80zmsnq8dehnkm8g78u0ku48zafrq4vg5pzz8ft9jkqja5jsamwxhn + lastmodified: "2026-11-01T19:12:19Z" + mac: ENC[AES256_GCM,data:bCWQh6M06KBiqyG+HER6/VNSNQyCNQeIyZ8UZTbz3AWjJAVwxwPDj5cCJQcXXGoqxlot3SRwCQYo7UWUMNNdOHLjRtr/f6kaWovxhQPQtlU18HxJIGhZc6I8ACpgcRZH8GE6n7Gp0mv90YjfipU4jJct6BtaU3Azhi0M1EJpEnA=,iv:gr4Z9kq+ubNRPQyobKGL5swG0Z9bl1txTX5MxGsWvwk=,tag:EPk648CDxK04xJDOYM0lNg==,type:str] + pgp: + - created_at: "2026-11-01T18:44:12Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMAxK/JaB2/SdtAQ//eOxZfGWAW3WYSY6N88wbIlti9wF3P8snBavUlQmFlYet + 3dr8tRxxPQr/bF68HXMJzCxG1XPp8U8jnJdzggAitF+Hyf3we/Nx45muRKS94fw+ + 6wbYiyLcP4pA/XxF3xdSTdBwKsw7jwFakPr3BEGd6hPO7zOPxguMamM3Vsq/bipT + y7xIrfvnK4NRvUyxCXxA5ObDBOgG5q88dh3/FHmx1TY77i2kYpI9fXumQVzLin/b + 9ZJuNj2zjASf/wZ7LDFOBD8VwO19N3r8LNr6NxNMSUyBbe8LaKOyShQrQb8sqRY1 + awATozmrrMbVX1z26y7mgpjrfbDDddKSanEvlNqAqiSzG5fhJwnt7reI/CDt6efr + psnZKtCp2o4UN1tKZFarrilWrJWdEXAyTWlSwpPWpCLViZZQ+NqtivrNy3YKnmnu + C0VYv37+5dqJZjRzapvSgUXcB3nZgxqm3YDBn6ABQwbEBI3JvkmX9rEdJwB/5tf8 + R8Ao+fnMILF/aX8bC+w71yZJAbQbq4HHQl2Ubmi+GukaRjwp0HO2Op7sTowsG87x + BGk0htJfzMjhwj9pLVL0q+5V/SKe/oWTQ5qkxLw/msjhqLwh4syRvYFk4toWKcGH + /VX5hF3jzXkMETgaF0jVCMY2mHejW4jN4oPu0JgrGhwTaoUa3dWL2RQLZ+GzQqfU + ZgEJAhDO58XJH7nAS5y3/pIwTNSyDa8QL9Z57RmQ/UMa3SkyChjL4Va23f1Thl/V + JBIp9xoLDzGTx+m30hUA4G0PwSM5H30V+CFzZNkmkMsWcmdngmKdKO1Xw/6DbNDu + GCzZKzm6mA== + =4Q/K + -----END PGP MESSAGE----- + fp: EF643F59E008414882232C78FFA8331EEB7D6B70 + - created_at: "2026-11-01T18:44:12Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQEMA1QflAioE8i3AQf+IRFaLRDvc1dq0H8spYeHlNm2xdAbnncNYkrw17Skknwd + LueMCWZLEq8DKodA6zUdI8ny6dgW28GbaRxR8Hvh5PqGkRt0LRDt8VlDI6rQyLqU + hr5LLBrxE4DJSRWcTFrJ0Fv5xo8f1RVXy4JKoFHl2GTmhA8a3+KL461QghS9HjFu + ak19Tc3CYmCLEYzC6F30MMGIVf2IzuMQ4SP7vDZC4AO6qmvyhkVP51FvMNbxi0zf + yRWQ0HguOFr09LMjt2fm5TeDD3AgzMcp6+PwJmY3DXC9gF17HPwkvfWj95g3WpEG + 2IaG1jMre8yaWge9J94D94AclzjU+jI7O6aa2Mj7KNJcAcS2FKCAOl0oPdj5VcNF + VaGvbbFYTfjiubweHNMMNn7V6ck4M+sjRRnfYQxR6cnWBrG7N3xFvepeFAJVtWiw + 1IZTn/LLwhdX/3efBlrQBWHyde+Tl7m88TvnjyE= + =KBQj + -----END PGP MESSAGE----- + fp: 21C9579E6503CA815A68ABD8541F9408A813C8B7 + - created_at: "2026-11-01T18:44:12Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hF4DsZXvxFXTXoQSAQdAS5TCBQcMvH/I0g2WU36nKVz39odiVyJ3bw0mnHlst0Iw + ufIoVluP33xsp64hES0gHsdclTZrz4G6dG1hqzsemoZBOREO8ZyXL1E4QOt3m9w2 + 0lwBm1k3XJdxJRf5Ymm6n2XTxEk+8jmNp4Ly2ElVIGylJOxX7wyzdOVkM47DbFSz + XUci1MZRiwTph4zwPzEHty8Z312Hn+ryjQH+fVJ1OvJVkCakuE9M9nUUt7jfRA== + =8xCx + -----END PGP MESSAGE----- + fp: 9633412309CCB83BFA39BA5F2FEF746201D7FCFE + - created_at: "2026-11-01T18:44:12Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hF4DerEtaFuTeewSAQdAmsuIVRX+gb3lpb8fg833V+Vn3qhxBtZsHTzjo9Y9Y3Ew + A9n9v30ebSiB20qiojx+Rr5AMZSxqHAqagA9SamITVfJ0GQ05pUKFCWt5LOGf7Bq + 0lwBapaFxDFqYRvfFGwfg8n2h3Q5Jid60gPZkdOoBtYiKn9Sw6t6G9OqxioyoGym + PChhFjKayp9G8E/8eAFw8zCrRkzjSwzalN/hYRWuD+G/6Fmbw9fDsXbkiLWrMg== + =koKW + -----END PGP MESSAGE----- + fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 + - created_at: "2026-11-01T18:44:12Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMAxjNhCKPP69fAQ//Uo9cHe5F5Crb5ShYaRZFrtB7vWEBCfVeDIhe4KqSxn2H + JcRrQggDsmjRoTqx4n0xlnLslhEq464d8m7e4HmgizTY0T5fwD7Dxxxl1ks4ezJ7 + OkeGlukTC8uanmpG+lKhzbqzELTd7cZrjH5KOfGmodpKm37rzuXc8AV0SVWbI0mN + 8IQkkCZu28OTNPgyr9HWmr1JTKHUecK/Iu9mcpozNE1CeIwoZxhAtRcnY1qOJ19S + EhHf9LsJsPfZ0lixrFEIHPTDG8PHe57v3xspASvJ3+/j1PkWhAitAWR8NHeiBVIX + QvouQLVocfMEX+6SbW7hILfg2D8O163qbJtE+oTsWZ9op11N5s0Yyt+R5A/iiHUK + m0JWHee5jkByUG1Z6RVSyIYUB6beVe3U8C4C5UuJ1uYC9Ql/1baO0gr8KFykWsvL + qztX0tpe+M+FjTBPdAF7Z9OwJjfKIqTR4ieQH2DhhQGSQFwFir6frKEPgXb83g2N + QX8cfa3atk+aoMwICnoEKpBniy7gkrIVJrdL0ZfzMBIzoaKYjMWLa2ytMwOWBKjW + mEulnkFK05ROTTAf6cCGqpKnbbkPr6O8w9hsjvONc6qKF53i9tBKfI5bUntVH5Te + L+J6HBxLUHfarr6P+fv0qFSSArWZUXKfE/Yd3OSfwqpdcPCuW126zdnF+PYXSDbS + XAFzQ2UnO45RHzoCmr606Aq5sH4hrIBkmxZVuVdl3D+Id3rTdy+Z3KDUz/zXnZLv + vTn6XIRqjkYoQTQSPqVREUEe1oIuWr1f3XT780w40OaoKOte1tS4WYaQ4a+6 + =BwKl + -----END PGP MESSAGE----- + fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 + - created_at: "2026-11-01T18:44:12Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMA46L6MuPqfJqAQ//RmHqBmFIcNIqxMbqB7eBIRl9lOR1YrnW96F9KPFoQ2Tv + WKZ03mxWz8GkB1bGQi+6ieBfCsbv7bseKUENOxOFSCvIibYQefSFTMPFvGopq7Nj + BdlOFqetutR0U8kQ/9cjU7vpV/WAR3kd6Kts8TvNIqmQtFk22Ccs6sfEnvv2KGcx + 57NqHmaebgDDgiV/9rQq6BMgQARl/ZNWlPwQoZjQOlWyH07ns9F9Inh7xbAPt8lV + 2lI74WjDYtUj0oJPMheCy3cwaytPGJxmc1a4NuynSqYnBqgXKDHpJ+2eCEL4aqh3 + InHU7+MWZ8wXCsDB03KXssUMGwBh47LOuok+JHrjDb/lGU4X0mMEzvTbv7H89V4N + Ge3sLT9F/znxVwRfWkAJugEWs5wExL2uC9rPfd0ay/hYYys+GdoHjFLYOXljOYaZ + ql+TttoidFseP+AGugoIzjPoEhXZuK146bpteYUaqS1dVxIb2WMfwT3ypxPS0z6W + HBboiSAz8CB7+Hy41KvPBm1Xp/T1dHUF8UvaFHmGJHbgurYUvGtgVeBAWcDm5I9X + grtpLMH4eqhK+OKewHkKI/J+sb2m7Cweyl3U1I5qJZljdYf7L8MmtqJ+M59aDK9d + i5hwGkc9gW1cEBTSrplTAYJ/Lrc+0P2sZGgcZ6jMOq8mXN2cPtGwkG2pcjtkmUTS + XAEISgpJioQJy8XHTkKOdw7olPBVH0fI294KwfD6/bfVeRhlHLUCTuroWvHMpzE+ + dhjLAM8VsMf1XNGs40cCEc+7D0AHYCtElPhqAe3KwfUe2oGZHQGv+Ot96BMW + =doYg + -----END PGP MESSAGE----- + fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A + - created_at: "2026-11-01T18:44:12Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hF4DQrf1tCqiJxoSAQdAJIO2XJJHmUa9/RQM/InsUIoU6UlDQV/3L8aq8MCO9RMw + MhG2mJ5+PPlqQwE/M6AcuBq0rpHM5MzjGFy13Sfpsl/uzNHjUT5hqUFgbykibHzW + 0lwBGBuc5xAkkxipIau1gv61W5xZ/FjpMHmx5UmcpfGW3xWiakgyRkMqshOzLioO + yzvrx/PVe7K4VHhKYQZXVTSP0DlWWHlcdM1otmTRKrtGOzGemqpDDETSLG5BYQ== + =sqyt + -----END PGP MESSAGE----- + fp: B71138A6A8964A3C3B8899857B4F70C356765BAB + - created_at: "2026-11-01T18:44:12Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hF4DzAGzViGx4qcSAQdAqVQWQC5ydfu1Vn/M+0sAfFlRrfc8NGAbOqNsL0P7GE0w + jx9nFOMNHpWUd+6L/UwEP25G4wck56gw9HKl6/L3wAgNvVn17e4QL6FUoHO3O7EM + 0lYBMHT2qZRwE8L6My+jhV/AdDqmnFXFi0zG5ez5oDJMhq4aArTNahHPO+zawfwE + 2MNwE70y6PN0frcaMadIWsl3SmUG155GIIls5SYVDTf/lSuPIHB5Mw== + =9vKh + -----END PGP MESSAGE----- + fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD + - created_at: "2026-11-01T18:44:12Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMA2pVdGTIrZI+ARAArqsqeoxcb+Cc6wsb7pPw01ONfeub+fw1t/ZzXnslywD/ + KeLNPgOv6bhBf5ISeX25/JHP/u97wq6sZuND+fSvGKZhFwZ5MMQWSTOYy32dkvR/ + fKA4TA+dKUOJsHCdZPJo8guqcy4mJYbcqTLgQ9EPza0ZaPtEkd03NyYRYGWsOo7g + YIuLyUUq4cBe28wHjbXkce8WwCB1pgM1UCFs+Of6kpF9Monc3ju5ew0Z5pyjiFwI + Zxf2i0OmA6UvCevWEUMTQ7encCAvV8Ikc7S6OfXNjRNxqVeBuSdjGq5gaILNLbq/ + gStsaW9nzgjZEDG97JvSmT5RmN2P12wwfj74D9ZBurB2ZouAgSsg7+64cOlPY62W + JCqxYt1v5j/bqyjZGyieaPZTgEl0IyPvyULY4wlMaG2x3YidRPWsCkLtKgiePQVH + GYol/gJ3gmefdeCQF9A9SI3FK33YEfVWLqZ28kriQCCmDdOoGC9M9vgV2encw8Tc + WadnPAQH7ubN+z3FMW1lY1BC7mbymc+bS3aEkenKhRQpaHCTakmoK9j9D7G04Hsz + /BjPhaFI2Hvfh2rRsMOGMtZ3Elq3qjk9u0tA2nMs5Z6p/xREIfJAZrO3ozv/TVLC + mk8JmQKhBCCnQACISbWZraNNv5nrYjH0JPBJLmC5X0l1crKUgSxqGG4sjZnwMArU + ZgEJAhAeBnypwwtIUN1kA/pyZs3Cz4XmKBsIdXPNAn7KnZW6YVuhwZUxvXMH9Ucw + CF62sniqKBG/22pEt7Y+a4cpexAAZuJCIjgKHY5/6lELymIiTaMTKKs96DozlJZu + gR7wFBybEg== + =h0ve + -----END PGP MESSAGE----- + fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 + - created_at: "2026-11-01T18:44:12Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hF4DKKbvh61jX5USAQdAReBE6buW2Oiov08R/5xtj5S15aMQNnc3S/8iw0h7lgEw + /PGdRdFEM7q0NLGD64WYsJ4iv2a1A7C3TZibm+82GUm8ouIUpau5PUVz6rVAIuIN + 1GYBCQIQY05SHWgDo/ntxZp5kqvFBide9kBJ/vWSWGKDJbr4fNq819L60V8TNqKM + ojJUvEuH3yH5F2TWWV4BkmYyANqOJ6Gv8ROJw9FOtQJTgrqTZfHFIJ02AWkrcC29 + HmGQgRx/o0I= + =qXXZ + -----END PGP MESSAGE----- + fp: 41FFAF3D519CF5C039FBD8414BCC213729AF0E49 + unencrypted_suffix: _unencrypted + version: 3.13.3 diff --git a/inventories/chaosknoten/host_vars/hta.yaml b/inventories/chaosknoten/host_vars/hta.yaml new file mode 100644 index 00000000..6fc9cd1f --- /dev/null +++ b/inventories/chaosknoten/host_vars/hta.yaml @@ -0,0 +1,13 @@ +docker_compose__compose_file_content: "{{ lookup('ansible.builtin.template', 'resources/chaosknoten/hta/docker_compose/compose.yaml.j2') }}" +docker_compose__configuration_files: [ ] + +certbot__acme_account_email_address: le-admin@hamburg.ccc.de +certbot__certificate_domains: + - "hta.hamburg.ccc.de" +certbot__new_cert_commands: + - "systemctl reload nginx.service" + +nginx__version_spec: "" +nginx__configurations: + - name: hta.hamburg.ccc.de + content: "{{ lookup('ansible.builtin.file', 'resources/chaosknoten/hta/nginx/hta.hamburg.ccc.de.conf') }}" diff --git a/inventories/chaosknoten/hosts.yaml b/inventories/chaosknoten/hosts.yaml index feedc3bf..2c1afff5 100644 --- a/inventories/chaosknoten/hosts.yaml +++ b/inventories/chaosknoten/hosts.yaml @@ -22,6 +22,10 @@ all: ansible_host: grafana.hosts.hamburg.ccc.de ansible_user: chaos ansible_ssh_common_args: -J ssh://chaos@router.hamburg.ccc.de + hta: + ansible_host: hta.hosts.hamburg.ccc.de + ansible_user: chaos + ansible_ssh_common_args: -J ssh://chaos@router.hamburg.ccc.de tickets: ansible_host: tickets.hosts.hamburg.ccc.de ansible_user: chaos @@ -119,6 +123,7 @@ base_config_hosts: diday-staging-runner: eh22-wiki: grafana: + hta: jitsi: keycloak: lists: @@ -154,6 +159,7 @@ docker_compose_hosts: ccchoir: diday-staging-runner: grafana: + hta: tickets: keycloak: lists: @@ -175,6 +181,7 @@ nginx_hosts: ccchoir: eh22-wiki: grafana: + hta: tickets: keycloak: lists: @@ -198,6 +205,7 @@ certbot_hosts: ccchoir: eh22-wiki: grafana: + hta: tickets: keycloak: lists: @@ -237,6 +245,7 @@ infrastructure_authorized_keys_hosts: ccchoir: eh22-wiki: grafana: + hta: tickets: cloud: jitsi: @@ -279,6 +288,7 @@ ansible_pull_hosts: diday-staging-runner: eh22-wiki: grafana: + hta: onlyoffice: pretalx: sunders: diff --git a/resources/chaosknoten/auth-dns/zones/hamburg.ccc.de.zone b/resources/chaosknoten/auth-dns/zones/hamburg.ccc.de.zone index 202bd495..0a3aec47 100644 --- a/resources/chaosknoten/auth-dns/zones/hamburg.ccc.de.zone +++ b/resources/chaosknoten/auth-dns/zones/hamburg.ccc.de.zone @@ -286,6 +286,7 @@ cpuccc IN CNAME public-reverse-proxy did IN CNAME public-reverse-proxy infra-docs IN CNAME public-reverse-proxy staging.infra-docs IN CNAME public-reverse-proxy +hta IN CNAME public-reverse-proxy auth.acmedns IN NS acmedns.hosts.hamburg.ccc.de. @@ -513,6 +514,7 @@ forgejo-actions-runner.hosts IN AAAA 2a00:14b0:42:102::18 forgejo-runner.hosts IN AAAA 2a00:14b0:42:102::19 forgejo-runner-external.hosts IN AAAA 2a00:14b0:42:102::1a matrix-sync.hosts IN AAAA 2a00:14b0:42:102::1b +hta.hosts IN AAAA 2a00:14b0:42:102::1c ; acme-challenges _acme-challenge.sunders CNAME a5ee8a99-3cdf-4212-972e-c0b6fda1242f.auth.acmedns diff --git a/resources/chaosknoten/hta/docker_compose/compose.yaml.j2 b/resources/chaosknoten/hta/docker_compose/compose.yaml.j2 new file mode 100644 index 00000000..7e08d4ca --- /dev/null +++ b/resources/chaosknoten/hta/docker_compose/compose.yaml.j2 @@ -0,0 +1,96 @@ +--- +# Hackertours Admin, see https://git.hamburg.ccc.de/CCCHH/hackertours-admin/src/branch/main/compose.yaml + +x-logging: &logging + driver: "json-file" + options: + max-size: "50m" + max-file: "3" + +services: + database: + image: docker.io/library/postgres:18-alpine + environment: + POSTGRES_USER: hackertours + POSTGRES_PASSWORD: {{ secret__hta_db_password | to_json }} + POSTGRES_DB: hackertours + volumes: + - database:/var/lib/postgresql + healthcheck: + test: ["CMD-SHELL", "pg_isready -U hackertours"] + interval: 5s + retries: 10 + networks: + backend: + restart: unless-stopped + logging: *logging + + app: + image: git.hamburg.ccc.de/ccchh/hackertours-admin:main + environment: + DATABASE_URL: {{ ('postgres://hackertours:' ~ secret__hta_db_password ~ '@database:5432/hackertours') | to_json }} + GUNICORN_CMD_ARGS: "--timeout 60" + DJANGO_SECRET_KEY: {{ secret__hta_django_secret_key | to_json }} + DJANGO_ALLOWED_HOSTS: hta.hamburg.ccc.de + DJANGO_CSRF_TRUSTED_ORIGINS: https://hta.hamburg.ccc.de + DJANGO_BEHIND_PROXY: "1" + GOTENBERG_URL: http://gotenberg:3000 + MOTIS_URL: http://motis:8080 + HUGO_REPO_URL: ssh://forgejo@git.hamburg.ccc.de/CCCHH/hackertours.git + HUGO_REPO_SSH_KEY: {{ secret__hta_hugo_repo_ssh_key | to_json }} + # Output of `ssh-keyscan git.hamburg.ccc.de`, newlines written as \n + HUGO_REPO_KNOWN_HOSTS: 'git.hamburg.ccc.de ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQC91Cgx/Ow3oRm1GdB5mkGbUEIKsWfggsVrvHy2EwLfTKPeDdFDzEwQaN6gzUxiLHhk6zNK4ygCOhMjEQFPw2mRAgsSk0vRnGxnnd+AhPfCMK+nZ4mAJ2EIeGiOMpYoJ49XytL+H0hwJcFlawxzkuOMFve65mOmJnA5zhDX8EsBbi8ulnuOfiXV/iq8VSRWONNCX/rgUJDBcryGAii7LY4zfTg7taWFmBZpFq/qcMaqXLwp6L63c7POmjUsrN8WphRUTYNoeZh7gmUZNanqGpGotsKisU+sQThuMpMEm7imSAtqL1qYfjPTxjlcreL1asqfvjp5K1apt+NSQdEbeRbcAU1xLjKzW3pzYh1bWvC1FJfgFHptEfqgkK3ebCBoS9xVUXtnyvUbbi569QM1Qly+W5r6N8a4aZHnVD4RFAzHNNDFYaks1E6uKfdgLQcwzLhXcB+fRMy8+b4RLz46vS/dYcrxKVMLtBiVZis9pd4GZ4IVLUXu9Z3ixFPBdf/YtW/WrKJKyEydEh0nMP0o49sWTI25yhxKPL2JXLlaQozVD6sxUP1wDU2MW1OvNlf4JsomyYiQ9gjsacP63RL5G8193Hw4A+r77pILQbv3PzVze1wqU/fyOBt/IImxxQ6fOy1sjohRuaXAPn4NaFTbykecyvr4GUaFvK5evG8Ao5Ql3w==\ngit.hamburg.ccc.de ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILrfbiDq3l25G7FUvbAGEdbBvIlbm+Od+P33OgIup2IR' + PRETIX_URL: https://tickets.hamburg.ccc.de + PRETIX_TOKEN: {{ secret__hta_pretix_token | to_json }} + volumes: + - data:/data + ports: + - "127.0.0.1:8000:8000" + healthcheck: + test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://127.0.0.1:8000/healthz')"] + interval: 30s + retries: 3 + depends_on: + database: + condition: service_healthy + networks: + backend: + frontend: + restart: unless-stopped + logging: *logging + + # Renders the PDF handouts (HTML to PDF with Chromium); needs internet access for the map tiles. + gotenberg: + image: docker.io/gotenberg/gotenberg:8.38.1 + command: ["gotenberg", "--api-timeout=60s", "--libreoffice-disable-routes"] + networks: + frontend: + restart: unless-stopped + logging: *logging + + # Public transport routing with the HVV timetable. On each start it fetches the newest timetable + # and OpenStreetMap data (about 1 GB) and imports them; it exits after MOTIS_REFRESH_HOURS to + # restart with fresh data. + motis: + image: git.hamburg.ccc.de/ccchh/hackertours-motis:main + environment: + MOTIS_REFRESH_HOURS: "24" + # Lift status from DB FaSta + DB_FASTA_CLIENT_ID: 9771ff8a0dd67637801e95fde5a5999f + DB_FASTA_API_KEY: {{ secret__hta_db_fasta_api_key | to_json }} + volumes: + - motis:/data + networks: + frontend: + restart: unless-stopped + logging: *logging + +volumes: + database: {} + data: {} + motis: {} + +networks: + backend: + internal: true + frontend: diff --git a/resources/chaosknoten/hta/nginx/hta.hamburg.ccc.de.conf b/resources/chaosknoten/hta/nginx/hta.hamburg.ccc.de.conf new file mode 100644 index 00000000..789a7a78 --- /dev/null +++ b/resources/chaosknoten/hta/nginx/hta.hamburg.ccc.de.conf @@ -0,0 +1,46 @@ +# 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 hta.hamburg.ccc.de; + + client_max_body_size 5g; + + ssl_certificate /etc/letsencrypt/live/hta.hamburg.ccc.de/fullchain.pem; + ssl_certificate_key /etc/letsencrypt/live/hta.hamburg.ccc.de/privkey.pem; + # verify chain of trust of OCSP response using Root CA and Intermediate certs + ssl_trusted_certificate /etc/letsencrypt/live/hta.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:8000/; + # gunicorn runs with --timeout 60, PDF rendering can take a while + proxy_read_timeout 90s; + } +} diff --git a/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf b/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf index 414f8ca4..256a9b6b 100644 --- a/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf +++ b/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf @@ -16,6 +16,7 @@ map $host $upstream_acme_challenge_host { hackertours.hamburg.ccc.de public-web-static.hosts.hamburg.ccc.de:31820; staging.hackertours.hamburg.ccc.de public-web-static.hosts.hamburg.ccc.de:31820; hamburg.ccc.de public-web-static.hosts.hamburg.ccc.de:31820; + hta.hamburg.ccc.de hta.hosts.hamburg.ccc.de:31820; id.hamburg.ccc.de keycloak.hosts.hamburg.ccc.de:31820; invite.hamburg.ccc.de keycloak.hosts.hamburg.ccc.de:31820; keycloak-admin.hamburg.ccc.de keycloak.hosts.hamburg.ccc.de:31820; diff --git a/resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf b/resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf index 0ec2967f..885babb5 100644 --- a/resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf +++ b/resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf @@ -44,6 +44,7 @@ stream { staging.hamburg.ccc.de public-web-static.hosts.hamburg.ccc.de:8443; spaceapi.hamburg.ccc.de public-web-static.hosts.hamburg.ccc.de:8443; tickets.hamburg.ccc.de tickets.hosts.hamburg.ccc.de:8443; + hta.hamburg.ccc.de hta.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 public-web-static.hosts.hamburg.ccc.de:8443; -- 2.54.0 From e6d469aa77f70e4e22452a3571ac8b433f324e42 Mon Sep 17 00:00:00 2001 From: Stefan Bethke Date: Mon, 2 Nov 2026 18:49:30 +0100 Subject: [PATCH 2/2] Use standard logging --- .../chaosknoten/hta/docker_compose/compose.yaml.j2 | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/resources/chaosknoten/hta/docker_compose/compose.yaml.j2 b/resources/chaosknoten/hta/docker_compose/compose.yaml.j2 index 7e08d4ca..94840173 100644 --- a/resources/chaosknoten/hta/docker_compose/compose.yaml.j2 +++ b/resources/chaosknoten/hta/docker_compose/compose.yaml.j2 @@ -1,12 +1,6 @@ --- # Hackertours Admin, see https://git.hamburg.ccc.de/CCCHH/hackertours-admin/src/branch/main/compose.yaml -x-logging: &logging - driver: "json-file" - options: - max-size: "50m" - max-file: "3" - services: database: image: docker.io/library/postgres:18-alpine @@ -23,7 +17,6 @@ services: networks: backend: restart: unless-stopped - logging: *logging app: image: git.hamburg.ccc.de/ccchh/hackertours-admin:main @@ -57,7 +50,6 @@ services: backend: frontend: restart: unless-stopped - logging: *logging # Renders the PDF handouts (HTML to PDF with Chromium); needs internet access for the map tiles. gotenberg: @@ -66,7 +58,6 @@ services: networks: frontend: restart: unless-stopped - logging: *logging # Public transport routing with the HVV timetable. On each start it fetches the newest timetable # and OpenStreetMap data (about 1 GB) and imports them; it exits after MOTIS_REFRESH_HOURS to @@ -83,7 +74,6 @@ services: networks: frontend: restart: unless-stopped - logging: *logging volumes: database: {} -- 2.54.0