diff --git a/.sops.yaml b/.sops.yaml index 02147972..c81c98ac 100644 --- a/.sops.yaml +++ b/.sops.yaml @@ -44,7 +44,6 @@ keys: - &host_auth_dns_ansible_pull_age_key age18zgt4y2sd75hxnpe333zz39048ctxpr0q8a3uqh3jajjkyawsdrq8yg5ve - &host_forgejo_runner_ansible_pull_age_key age1az0k6cadssk6r8qcqxfr8cyu5mndy59pwt8yqq6w065ew6au4ezsmg2vkf - &host_forgejo_runner_external_ansible_pull_age_key age1pq1jqrcp3te50xugmv5wst3s9ahj0d38rfktxt43wlcqz7vnwyn3y2h7kyfr6rckrvmuk9m7yvp4efjnfsuxx6d8r9gn222r2eal5593arywrjwrgeypf745wyuvf3z2xk9tm5fgnwckftuvdggk66fph59rw69nt5dpjeewuww4vzt9gs4xelre952s7zjz56qv8tvesg2c89sp8rmy9dvhwfd6tucjhs6sjr6yp2njjra2u6w7c7f0sch3rwkw3wf2dc9su9aaa9q2f22sh5yf0fqejxa2qqpq4pg752589st5xsa5g8tpkjglj4tn35gd4hjj0xet9cjwhydmkmmkffy3nr8zdtctqu6pqsyf7aphvktryez39ru3qe7m6nvr465ffxr0ltvr85nddzxvcwpwpac64nu5tdfrxgjfqzc99vr3zxv8carpsw5evmruqlvrq6v6a4m2cwsz5gqw7nyk3jlj75kp5cnafzjn5dyrf8ppfhp5g5s34zsl7pejmmx2uuudjt7ru2y7as9mtagykrgqgt80fvp3eeh4gsmmd3ujgtp0ranq28aq9x0xdekqh49pfhhprjj6zqdfac5gxtjj736kh5jktc4ls4mjs3p33rzt6ze54uqsfept3qhua2pmugypup6hm6j2ek5sgxjnwvqyfj2l8vz4yfgkaxf699v7jqlwf7g68ang5kzqrjsu78lyardm4zen8zhrr24j334qdgs4zr8dhsfsnmvx9cdvu0swx27tcz8txs46zds9kekgmua7w7fnw3l2lf6zla956ssycac4zjy87rawr4thusxtcqgfzfzh2za9np0s34e5dwkp2l2k06cq09myxqfe7ze6a53d8sl5j43qcekh6kfvl9k0t7903q99pc35630zwm3hwxgnw354du5gngnz56skq9zx3pcnkr5eyh8r8t0dqudmvrrwmxreu6tgrklxw7yvu3zkjgt3gyjhc8kqcrevlukay45sz4k9zqxx9yrs88hzt4h52r2g74alf3cedes3atufy06q4lfq3nxdlnve0kqcwstzr6z6u7fqpqvacezdrr62ycteju6dqawkpthu0drtlxj547htfjcsnrmhgvhskwtuhk6yp7wp30p7qc5vkk8fegg6qx5kc9xs4trx7hj9xgydu7vd30hkceuxsczywjs9v2fl3svkwfypg62882yq6ltv7gfj4ajuy8ezd76g0z7juwspe7q6zs5ceshd6038tvvh2nlpjty6rg6a9qfzhgmjx9s6hynyk7xnq9zra6hxstg8p58x75hapd2mk6rapfunlnnkz5dsxjf4ud4dsvgjfjpzxcdy7sp8dzxtengrsdyu4824mqlw8p63d7m2z4mcyme4tm2qkugtdgrkyphe7akk2geukf6xkfkzd2pkdq5s3qm9fkvfkgrv6yw5kdgjak8xcgesg6tumans4fs8yrxtqlvv2z3emdvwchrjfq4xpzsj27yt4gdg8pknwz9tqpjkjxq6lysutrvwkvt2fwyj8wvv8wtmdl6fk6rsd9kq9a6wkhuq7vvrgwgj3xg2s229sprj4g2vzhy2dfesrp403gs64jqkrjuezwm4zd6uw2x4e2qkj8xqcf7c0zprdzu959x23u878vqqetgpjwt0z3kedt8l6dgpm0rf5dmrya5h3wgzfa0jjvgjphyxgxrwlrzpv4czgal933zs64tn90ks66ejjdaw4t67sch8r3q0kljeqnpdgmw0cpj6arc6k46wcqaccygczy76zt9362vslakvzqqv33tv3sjldp6qxprharmpm9uykgpx66343wuur5xj2aw0rgutpm4ztjzycn3a8d2jq2zpdzwmevezm7mkp9dmndkc3qz0kklgkxq9yehrk5ayfly97umhws0jll8qqg0r7gzxgw5vv76 - - &host_matrix_sync_external_ansible_pull_age_key age1q7kz3pnfq6cvtn56rlfgs52efcvtcmaq4xny0va3x5wxj4vpgccsenwxk6 external: age: &host_external_age_keys - &host_status_ansible_pull_age_key age1p546j6whqsyfkjuf674lawrnk2ex653fuvwhcwt46gkrspkq59sqzm5y87 @@ -234,12 +233,6 @@ creation_rules: - *host_forgejo_runner_external_ansible_pull_age_key merge: - *admin_keys - - path_regex: "inventories/chaosknoten/host_vars/matrix-sync\\.sops\\..+" - key_groups: - - age: - - *host_matrix_sync_external_ansible_pull_age_key - merge: - - *admin_keys # external hosts - path_regex: "inventories/external/host_vars/status\\.sops\\..+" key_groups: diff --git a/docs/guides/matrix-create-room.md b/docs/guides/matrix-create-room.md index 23c9052e..582e94c1 100644 --- a/docs/guides/matrix-create-room.md +++ b/docs/guides/matrix-create-room.md @@ -11,7 +11,7 @@ title: "Matrix: Create a New Room" ## 1. Create the Room Rooms are always created by the *CCCHH-Admin* Account whose credentials can be found in *infra-secrets*. -To create a room, log in to [https://element.hamburg.ccc.de](https://element.hamburg.ccc.de) and click on *New Conversation* -> *New Room*. +To create a room, log in to https://element.hamburg.ccc.de and click on *New Conversation* -> *New Room*. Enter a Room Name and optionally give it an address on the *hamburg.ccc.de* server. ## 2. Configure Room Metadata diff --git a/inventories/chaosknoten/group_vars/all.sops.yaml b/inventories/chaosknoten/group_vars/all.sops.yaml index 57273b50..86fb5994 100644 --- a/inventories/chaosknoten/group_vars/all.sops.yaml +++ b/inventories/chaosknoten/group_vars/all.sops.yaml @@ -4,452 +4,440 @@ sops: age: - enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHNzaC1lZDI1NTE5IHFyYkk3dyBuYkk0 - ZzNwWGVvSnEvWjEwREpaTGpvRUVCOGZuRTVBK1ladVA5ajY5ODBRClFXY1ZYMElU - Mk54WUV4SXdUWmNpbVMvREhld3JTVFZ5OGxoVStYSVlNd0EKLS0tIEJUTFdRVlNI - cXV6bWpibEFYdEZVRnhIcDIvOXBzQkdYVUQ0RElxVHRqS00KueMwxtalr0DlYylv - lu8yuu/igntcbN8G+tyj28GstQJsVPJk7WKQ6TIX2xmuCDrhS5HykH9sUTxE1o+m - 36UgzA== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHNzaC1lZDI1NTE5IHFyYkk3dyBtb2wv + QUxXU0tZUzBBc0FXQ0ZpaWRsUjdCZGVzYW5yZllCQnBCRUlobUdRCkt2Z05NY3l0 + TUpOODJZUUJDUS84WlJ4cG9yaFNzZDVKa2JBWjRYVFY2RXcKLS0tIFJ3K1puSng4 + UUk5aVMwY3dLMVJ3RTgrenhzTFNBYnl4UzRYZTVKeUwxOHMKXg/vQz4w4t9+dmoS + 1E7usTgQS5hIRPE1q/KfUJYctpJMo516nnBOUPZGzEQrT8yUV2uf23j0e9KTjzeY + FwAFuA== -----END AGE ENCRYPTED FILE----- recipient: ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIBQgnQAq6FUSDK8bxtYPjx3oRCAKG+xy9J3Gas2ztJk - enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHBpdi1wMjU2IFZoZXNPdyBBc0p0N1g5 - SXNacmViRTFubnpDV2UvWFhxTGg1QXpqcjhXbHM4cXU0ZGJWNworaXc4Z09QM3FX - amhlb3ZmeXJXdFhDd2x3WnY0Tmw3QVVISkJSeUJaRW1zCi0tLSB4SE13MlNablZu - YlVDWTEzOXRvUWszS2prcHpZcmVROGVHeU8zUUtMVEhFClk080enyfNCdttCqXaP - c1y6DPlMX3nf87yOPbjfAKp6fMU3BY5GNGheJFnsaMgakCF2QKlPRxOFY75/+TxL - qFY= + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHBpdi1wMjU2IFZoZXNPdyBBcUgvUTZB + OGlxTlpKNUFmZTRxODlwZ2RvU2Nuck9pSWc3RjNwaWZHUUJPZwpETkFJUW9zNzIv + U2o0enJvQzlmVnJiSG5yTmlWYVFiWUdUajAwL2tmQi9BCi0tLSBhbzdpSTNkOGto + RnF2U1ZpOEYvRy9iRWJEK2lEeUdXQ1BhNWIzVDZHRUNRCrmfKVOX6l1pDs6hOR6E + w/6Xex1yrxY84rv0wRfudyb4KyTbmnbqLIDMiH7pMMz5DARHFxTEnf4gdQXE9vFx + b3c= -----END AGE ENCRYPTED FILE----- recipient: age1yubikey1qv7jkffslarpma2fxjm9gnq43xfvwdws0m6y3u58h033edwdyg0uzt8jl5n - enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBtQThlRTJLeUh1dHlZTE5z - aGlhb0JqSWNZRjFFR25PMVR3dHZ4MzZ4R0UwCjQ5Ly91ZE5jQWJQZWFQUjJIejd5 - QlZWKzNSaEhlN2NUOVh0ejhqK3NZK2sKLS0tIDRGWllIZWZQdUc0MkRCaWk3SGNE - d1RLcmY2bys2ZzlOZnV0cUtORnRnWE0KbHZfpiERwKLar7Qi62mp/kpaK60OwRon - n33HbK727DbaB7vGXx4jFZsB4vMqddWVfNq+ByxtJ6YfSq2cUtkLJw== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBEZXBNVnI3alVqY3VTamU5 + WFBXTUFRN1dhZ3F3UFdnT3Zkdnl3SGFJeXlBClVkTzF3NmlVbmJMTlNWRUhPWTBz + MnQ0S0ZLbTRlMnZucy8zZElZMmFNSDAKLS0tIGZNTjlGbHlWWnpPNitjTVRZZjNW + T0wyN001aWhCNDdzWkYva3hSZVRRS1kK2TCbV5dde4tHTVfQerRuUfixxU2Z5aaQ + 1rOxf5GdqmIu3HouAt/ALFtYHRPJXNsS81NUJeOJJ0KVq45TeCQy1A== -----END AGE ENCRYPTED FILE----- recipient: age1ss82zwqkj438re78355p886r89csqrrfmkfp8lrrf8v23nza492qza4ey3 - enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBUVDZsUjl0ajlwR0wzRUZE - V0tNZnJLREdlUjMvV0pXVzhWd0hORVlhdGxvCm1EUm5mM1lseXhQR0xISCtFZ21s - aXJ4TFlhelRsWGdSUFAvazI5L2w2ak0KLS0tIDcxYzdaWTN5OHh4R3FZK05oSWZV - M3hmMGNHY0t3WlN1TVlOOUZXY0ljc2cKHqdX4VkprUIgo9X3TIZfpZJ7m6wMtWxR - PO36ykssCrQ3fHCfhS+Dd8QjCNsQ4PFYa5LK1FdbwN3FVS2C90aGcA== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBmb3VnMjV1VVhEdURxdjB6 + QlN3QzVKdlZJTG15YWgvWHJyTmllK0pOaFJRCm1HelJtaW5JbXh3bzBLcm1DQ1VU + Tm80aUxoSWlvODJLb2ZwclNQejQvQUEKLS0tIHNwNGtaYlhRWEF0eDFTS2xtKzBB + Y3p3aDdFcHBuaGRrN21Od3pybzM2TTAKpEGKYhhqLbu17zO1QKvuVzpmienlFIEW + KXOL5ZEQ3IDAWJkbq8anAIzNzXUo1Wez2KjMGBkB8Y1mgGC8MxSykA== -----END AGE ENCRYPTED FILE----- recipient: age1gdfhx5hy829uqkw4nwjwlpvl7zqvljguzsnjv0dpwz5q5u7dtf6s90wndt - enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBZUEdZQ3lHb2QrbHZXQnZo - SkZmRmpCdW9XaWRjdkdNSWZyM3d1NUR5TVRJClhETGtoT2ZFSWFjek5JR0hQMi9I - Ukowa1ErRDdpQWtodUFsNEN2VzBSMHcKLS0tIHlEbDhrWkRnSXh4a2xVZUNzTjlk - NDY3Ty9rSHVBNzFLTUtXbE0wZ1ArdGcK1XSryr6gUZX3L33mROMaeOApnZeLQQ0G - HPr4sQJgrjVUL0vig8hiOvxDKfOE5eGgOtdrxMZLXD2cHUJjZMPqww== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAxbkE0a2YrQ2NBeXFwV0lU + ZWZEcU5uVHh5RXhoelkxM0ZlYUdRUWwvNTNFCnp6ZDkxczFBUE1lK1pvd29MOVFL + VlZCSzBFN0gvaVNyVHBwcVUyUGl0aDQKLS0tIGdOemVKTFAyVitiRGFpZGhXbEdk + MEF6Q3E0Qkswa0pwWGk0eEdKSUZXdGcKvEQSMlSepBlHKbB7/2JuCuJzbrg+jU/m + 1c77UgPnVqbXGKW53BydebcE5R+wn5hvTKJXjWPBd3KtMiz+17nC9g== -----END AGE ENCRYPTED FILE----- recipient: age13nm6hfz66ce4wpn89fye05mag3l3h04etvz6wj7szm3vzrdlfupqhrp3fa - enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBRai8ydGVidHBrdXk2QWV6 - TEd2d0p6S1lKeWlmRk9sOFhpUkRqeC83VDNJCkhqdEwyaWdwdkQvOVJZZUdURUQ1 - bTB3SitrT21HNXdvRWVOcGRYYUtrb1EKLS0tIDJ6bDFMOXJxamt2Skt2VVlxa3Bu - K3MzQ243TkQ0SCt6dDVkV0xJY1I5M0kKD6Y73NEAQYUs5vWeV1GeIPZ2i1FJI3ci - Z5g2FbXtAONIJ4Nwg3FFqdK/q41sMpPa5/f3PwlvXEbK4eBrtdHWRQ== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBSOExieTFabkkyM2puSEpw + dmVOVHJUamphRXNuSFFuTFZGSFBvMUFYeUFRCkoyalN1cWdyZlVxMUJwQ0VtNDdV + clM4TG5TM1g0ZjVVWDREd3BtMWgwck0KLS0tIFhCOUJobXRENm03U1lCT25KZDgw + QURXMDBldkhIMWtNUzc0SWo2ZE1OY2cKP2YLKg0JO3bIX9zE8GXIboSqVHtO5q2l + r7mTt3c7rCI0mRv2bhm9YkcBBhm+uAaEehDRxQ5lRZHXAWVTKTT6iw== -----END AGE ENCRYPTED FILE----- recipient: age1jtusr294t8mzar2qy857v6s329ret9s353y4kuulxwnlyy4dvpjsvyl67m - enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB2OFRxMmZMRkV5dkttQ3Y5 - MFVqblo5V0tTaFpUaXBFanRoanpmWndSeEVrCldaTjhqS0xwWlpycWkyaHBZMVlI - MFFBaWMxQmVkQkdDdGovRXdtMVMvSk0KLS0tIGRiVkVjQkdZb2pubUoyL2VOVmJl - OHVmTG5iWWt2bkxvenBSdUpsK3JwK0EKZwjNeJiIMhDtfPYDOLS1vM76ddWw/756 - k51dAKcT9WOmrBsxTMxLyZv2i0gs3XAoF2umi6CtbLu5wV3JSj8I+w== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBJVDE4Vk5wbnZpTEdkeWZ6 + WnNLdFlOWUI2SnRnbVRJMzVJaEs5ZmMybGxZCjBTeld2Z0Q4czZycmxac3VlKzIx + NEZZOWpuL2FqRlVGKzFwb3duR1BJM2MKLS0tIGQ5R3BmVzZ2aHhxcDVjbzh2V0tL + c1VZNmNGajNWVXg4QUsreDU1b2MraWsK/8c8FC+QLFiSJaqQDHWyG9LD80bMncyj + Yo0EQxNIDLEJjj5yMnSWL+rzO66HxQMfnQocoJKUvYqnv23kdChzpA== -----END AGE ENCRYPTED FILE----- recipient: age1a27euccw8j23wec76ls8vmzp7mntfcn4v8tkyegmg8alzfhk3suqwm6vgv - enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBtcU0zZXNNMXFWOUxyY2Zt - WkErUFIzTEFGeUtkMmRldlNmemY3aFBQQ3dJCmJLK2k3MGJHcUNvWUplNEZmVWN6 - UUZ2anY4QkkwazNzcURGdTRQSDh5RkUKLS0tIDFVdnBNMDhpZ1JIckk1YzQwUjFM - bDV0WXpaOHRLekNMa3FBTjdKdk1jSFEKyEW36xrJyJkD4yW6qfkhtlkn9j8uk2G/ - FbWFVfWKVVPLefeeUNCG1hssphnQp44gn0n3IlYLRxzmdwzuSZ+YfA== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBxRHp6Vkw3Ry83ZFdoVzdD + a2Y1T3dPZnVxS0luS3RrbjNrR3FEQk9DQlhZCk11bjkxbjF2Snl6RVJ2eHNGSC9L + OVJrbFFlbTJlc1hRTExiYnhra3Z2NVUKLS0tIGpvb0JZMWg5eDNuWkNTSlJJei81 + K3N1RUgyNXpDZWR3bjVqZjBmUWYvVXcKkIBP6wlWZypntZpeC8HDij2vLEomMH3X + IaVPhDRN4UTfzK7iSYoUeGG0s1rytpEJ7z2gMXKuPm77yxy1XmGXfQ== -----END AGE ENCRYPTED FILE----- recipient: age133wy6sxhgx3kkwxecra6xf9ey2uhnvtjpgwawwfmpvz0jpd0s5dqe385u3 - enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAyRTJydk9OZ0N3R25yN1hq - bEllVlo1MlhWZk96aFFMcVM5MjI3dnhpWVE4Cmk4cVhKaFNTQWFQaVU2eStiYmFS - R0pjZElVcTZxODJHaGlGendXNnFxNk0KLS0tIHozREt1RG91a3FOVXZJNTdHNUkz - Q3NJR3Q3NzRBSjVGVjU0ZnlUMzRWcm8Kyeam0hAhQM5Bx1nqKoDRdqdycdu7NPsE - 5u0G4gLiKWwhVO3mzLmhBBvKjp4OIWs2bK3y7+POCSXQlhNgHwZdyg== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBkWEl3alpsSGpKQittTWVm + dmdLU09JWlFMWitGZ0ZVNC9zb05QZHU4L1VNCkpQV014SnhzSHB4eFo2eWd6Szlx + WmhKMjhJWGN0THVsMEdHajVzNVozK3MKLS0tIGtVR1Evek5lVkpFUjlKK01iZUoz + QjJ3Tnd0SzM3YVhVSit3NVk3V2FJN28KD8pkbpghiDdDydDjO3Tzn89Xg6SpwPoo + 1JWbUcXwL5YMOz1ZLbWcP8gDzC+xGFoQEVGydzsiTRyzBndyF4scig== -----END AGE ENCRYPTED FILE----- recipient: age1na0nh9ndnr9cxpnlvstrxskr4fxf4spnkw48ufl7m43f98y40y7shhnvgd - enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBMdHNUcGVxV0VScDc2R2Rs - MTNNSUsyRU9TUlNRMWdiSWE5bjIzYnNXbm00ClVpVUw4UE9IVDlyUXRMWVZqUW1z - S25jQTQxcXBiN1RsSTNFbG5HWjc1NlEKLS0tIFFtWENqaDlWZ3BUbWo4ZWQ3Sk9V - MG1qTlRHSitJa0VjS0IwMHREMzJsM3MK33pKvGNISdlyofjZCSWtAp2TtEnkgDL4 - 1t2n/dKQ/N5B4A1GYbmezv6Rqk82CPqCR4aEEcAKNOQrkH6VSUhyxg== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBkNzNrK2doMzY4SWN2WHRC + ZjlTOC9HK3c2QnFXWkZLa2NJWURmSDJrL3hvCldCOXNOZ01YWjVkVCtLMzd2SDRO + SDgzQWduNWRMblNLMEpXNE4zNnhrYnMKLS0tIEVaWlFubGhZSDFhc1JSR0QycTZs + dHFIVkVhM2dicGpjdHdBM3Mvdm1YU1kKZ4nSq32LtQfToeRlTkPNQwK1vS0Sp4td + 5A+if0MWHHeGLmkeVbczfboxzdqyqCn9SNR/HO2SwcfTAVh+X7D9zw== -----END AGE ENCRYPTED FILE----- recipient: age1sqs05anv4acculyap35e6vehdxw3g6ycwnvh6hsuv8u33re984zsnqfvqv - enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAzQzN6WXNIelF0SWU3bTRt - NTBmODljL0t0aUNwbksrdGpSanhhOHJFUW1zCjZLQWYrRklnb0xiZjN2cHBIOXZp - S2tvRnBwSFdiM2lsbENheHVOV2V6VEUKLS0tIGZXcCtZNjQyUU1NSnJFbUxkeVRM - M3B0ZDZDei9PMFFSWHdQYTBIRlhGQVkKfXKL6lBiErI8PUUsQgmLQasMuGcswdP0 - KKXwKH9DQwpLJzUTCB6PPfFZggv5bmAFjUHoOUdPwHWpQFa9o2LNRg== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBFdEtKdTFxYzJXR0lZYXJN + ZU9CMGtYME5xTjNvOTJBY2hUTnVLVUFOd1M0CmYzQ2haNEsxRzhVU0szYVdLZ0Yr + dkJEQnM4ekk3TkFsL3Z6TzYwT3VTOU0KLS0tIDN1Wld1K2o5WGczWTZOay90d0J6 + dFFtNE10aFFwbE9TdStncTZEdFBXSUEKjhbDMGLL/8qj2Mv+IACzzhfhINhsN1ko + /JDtoLtid40UxZXex8u7nuTK6DK7w3OkLVh3Zfg1oJYksCgM1CykuQ== -----END AGE ENCRYPTED FILE----- recipient: age18qam683rva3ee3wgue7r0ey4ws4jttz4a4dpe3q8kq8lmrp97ezq2cns8d - enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAvREVZL1BxdkhWVk92bUpE - MUFaSFRXb001bVd4V0hpV1dIMjVkNWhsT2hFCi9Pdm8ya0dGNlI4aDZUdGlpTllW - a0dDN3lCVGR2dzdtOEtEWER4L3d1UGsKLS0tIER2dTFTbGN4eTZ5dnE2TDBMSUF6 - RGk5QzZVUjB1Q24vMWtoVXc4Umw0b2cKb1iHjrU5rFyCbbcXKX0DoZZeC9SQDimb - 09oEzR/5bPb4zPRwWC5cUiI5TTjxKiW34p1Qo6eSMUNc8rh/5feNtg== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAybklqRWMxaVRzRHhtTmtq + b2hNSy83QkdMMjRFZk1zeGFXV2YzVmxyV1M0Cmh3eEFWSTNHMVZWS0puUkJxMVZX + dXBnWTk1WnJ6MTlCVFY3VTVHU1ZlU0kKLS0tIDJxTXFlY0RuOThwTW1xR3cyZ1RM + SXlQNDkxV1cwckVSamlHN1QwTmUrMUkK4W9qh7HkfLzU1B14JbbhYHa/xCZLdlYn + rl7cOdxU1+4RFa4+uc1i2+pgcWZlQBfiDwIxN1+vn7cpiM/hmkcg9g== -----END AGE ENCRYPTED FILE----- recipient: age19rg2cuj9smv8nzxmr03azfqe69edhep53dep6kvh83paf08zv58sntm0fg - enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBDYTBybklnZW1QYjRzS3NE - RCt1c1BPS1RjZzlTZGlMY3hQZWI2bU9wamcwClNtSFZmZmlRMXpFQ2pyYW5hc00v - bjdpb05SMndiRlZJVGhEWk9GMEJTZ2MKLS0tIE5Fd0dLdjYvM2owWGhBcUc4Y3Ja - ZTlVSmlmazdKYkM1WU1YWldFNVMzUVkKr6FR6B2zLKjgiQhVPGAhVHJJfyTBTnfC - pw/Ox/qSDtniJWj2TD0rvM06+4lCVGDDcO44kgDLcILzX3mRFC70XA== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBMYjVaVXQvM3hMMUNRcUxI + YkRaQlVQK25BOXBJNjlLOW5nanRHNytGUTBNCkFiZHZYT25SRFB4MkZqcDBoeEh1 + WTZLNGRHWm1KUkhkTnIyMkxGaW5mSzgKLS0tIGJBdWw5d0puN2dOSWtTSVBhamJ4 + T1BwSEZHN2NEZDZCYm9GT2RFK1BuaXMKENs0hLQHkAYjwnFgvrjKJ7FeOwrdBckJ + uXd3Wg65AFDkghFS/1xPaxZq7kp0bTIbcnyLa6r9clO4rocy3t0IBw== -----END AGE ENCRYPTED FILE----- recipient: age16znyzvquuy8467gg27mdwdt8k6kcu3fjrvfm6gnl4nmqp8tuvqaspqgcet - enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBmNklDOUFFVUw1MGJpcGM4 - Q3NLNEJUU3I3RDNXbmZSRkxrNXhVWm9lRGxBCmJOWlI5ZE1vZzJ5bnhmREFCZUxt - bitOVnF4d0k4MTFLQnJkQlZBL1B0NjgKLS0tIG1EWWhpdkZFQ05iVjFrajJzbUVF - WUgzQVErdFRiMG81dzRsK0VveGZwN0EKNaX190SiwMM7/vO7OBV9N++4/4ODGJJ8 - Hk7761qSx7TTQp+dBck1zyW2gZ3viVZ32b/tkOizqBxOgKy1P6yCdQ== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA3WDZGa2o4OGs5WEIySURn + MEpxUUlZM21MTkg5RVU3dGhsNkk2bTE1K0hFCkJ6akliSjZkSE1vMkplaTJMalJw + bFlpYTBVVHVTMW05ck1LTVBkaks3eUkKLS0tIEdvY1RUOWllSEc0cW1tVWpWd24w + TmJ1c2xQb1BtUGNUVG9uSk5uOXhOWW8K1KjTL7C86mix5jWvgtl95i1Xqpmb/4K5 + J4fpJFblkBCQEvewWRh4+oQnXWOyj+XEpOIOKpCx8BUkiNgzoYhIBQ== -----END AGE ENCRYPTED FILE----- recipient: age187zdk64205lx7r83a4m26pfa8hq6khc8sf83k266jasngeq08v3sfqswfg - enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBEQlJ0T3J5R0pucDV1VldB - ZU9JRmFBQWxnSndnZk9NRU54eEg4bzI5NjBRClFkWFdFZ1lzYXUwdk11d1pTMmhh - eERkeTVUVklFekJYNGlyckhuNVN5NTgKLS0tIG8wd0k3SE5jSEZFMFYwbGlhd3VU - dVNTQUx0YWxPVWtVMVltN0xFVTRxUlkKBk+C9FnnCrP+lftnl1QFHwnAe8E4QBnd - UX0DbVjz5KQ2Hi0j4RJk7e4uhKBtgIZEK67eko/G0oJ5rY+KD/JkMA== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAvNHMvY2YxaUlCV1RGWUxy + YzZxZGxIOU93SkdBa3IwM3VlRldqR0JSelhrCmlZdU5zczJQN3NFaGs3TFBIZGJo + ellaWjRQUUxUOUtkOVVvdHF6ZjI3RWsKLS0tIGZGMm82TXJ4TERpbklBcmRLblVq + eVEvbmJwVU1jWjkwdHdidDEyVEc3Um8KmDbOepcoAJ2JD6HqTEBYx8B/b+Dcrtef + U7NYNmCueIKIIBt1DbMUsK4Q88wqSpnKjnFmNrjv0oIu2ZVhsNgK2Q== -----END AGE ENCRYPTED FILE----- recipient: age1azkgwrcwqhc6flj7gturptpl2uvay6pd94cam4t6yuk2n4wlnsqsj38hca - enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBLWHR4RXpJd2NJVXQ5Rmcv - Yjl5dGwvdk5xN1B6SVdqYXhyRzhBVDFKRXdnCmExR2JQQlZTdUxNOHlnSlhzWUhS - ck5pWENJQUgyeVFVK0ljL1J5OGcwWDAKLS0tIFB2cnVKcjVkTlhDZmt5QjVoemh6 - ZzNKTERYYTRoTmhyR3VRZE95aEU5U28K8cDg+1QeAoDMy4dOHDyGFC3I4EYURiou - 0UgObnJV2dLEcegNBQQYVjoTU3dglO7xz7pfdOwhQ7oH3xro/9fLig== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBST2NLN0s3dHBHMWZTQitv + aGpFMjRmWkptVllnSW5CUFc2SjNxZFcwNHlZCnJQa1FFZGZST01tdEg2dDcydjFZ + SjZYYy9ONDhLZCtnb3A0cXI2V1VmZXMKLS0tIDR5eTYxWjJvdWpXZkZ5SzVJNk4z + ZWRKTDlNenRLOFNpRkxCaXhkUTRZVjQKFirSYfaGSzoQY4wkZy9S5gS43zkHzbCd + W03MKdooNXz2n9fdfyFdEqYpG6OgFhuQJLKLP1oR+MUaztm7lc7/cQ== -----END AGE ENCRYPTED FILE----- recipient: age17x20h3m6wgfhereusc224u95ac8aj68fzlkkj5ptvs9c5vlz3usqdu7crq - enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB5UXEzT1FxT1BYZGpvY3Qx - dWFSU3hDbjBtRCtkN1dxamppckpUdVBkeGwwCjlJOEowQkJMZkNhait4MDZ0RFV2 - RGdFWmZOWFVVbTlBMDN5aDRwWndQaHcKLS0tIEZEZTczTDZwYzdYMFFMVjdUckdo - ZE1pTGU3bFpMZnEvY2xiYVlBT3Z4N0EKb2iDZvQ71/HLzUe+8BVwS1qhtsVK/zfN - GhjABKXnNNauf2bmpGwh3DUcflkfEp2awCgJh+TxjE5LFwMnIcoaqw== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA4REdrakFDTHRmRVFGakp1 + RWp0VUQyeWVIVkV0NVlXZjV6UU9YYU54eVhFClVmeE8zTDdOVDdnWFc0anhGTXd3 + S0xtOFdXMnB6OFRNekVxV1VvbGEyS00KLS0tIDcrb0Y1Ykh0WnYwVFpDbmNSYU1a + QnhxVEIyY2s3WDlwTDRLQlZ4cXlwQTgK1iHO4k481GqGZR8K3J+5MEs6NsPwuMY0 + Cr8XEgmymhZnQj1WrYbZIgg+VhzfVmvd62yOn+d45Vc6TOnX6d8hdw== -----END AGE ENCRYPTED FILE----- recipient: age1wnympe3x8ce8hk87cymmt6wvccs4aes5rhhs44hq0s529v5z4g5sfyphwx - enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBFcGIwRUxaMStxMU1ieFZi - emJleW12eWVHR01aWVh0SitvSkJuNk04SUZJCmtRcitYTHBkNjk2RTdsRXdCd1pO - NDM4U0NvQUlUSUtxYWUvSHJaMHN0T3cKLS0tIFQ2THhUdmo0MzdQUjhuc0g3Rnoz - aXhtc09pVzdFa0pOaDFmTDVlaWFGZzAKWEpuBMLOv61vsvcu5Tflaxi4Lwy84pEM - YXq3kM3ETimoXB/Yh9XpXCPeq4y/lhifd9CkJKhxo4cbdbyq6uF4oQ== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBTdTNveDAxWi9xUERqcUQ4 + THJvczlHWDI2V2pOSHIyTXgxWmhRdlpJREhFClJjcWJXc01CSVNQQ0VGc2VzUG1E + UW96VlNENEwvSDAyQ3BnMnZBSjdPbTAKLS0tIE5kendXNE1BOElrMEk1U09qc0g2 + SlpmdjlYVEVvS1ZMOXlXU1pQVWJheE0KZQR65sg6HyNsuF2X8wO5ZzfHdJJA7O8C + 1AVefTdN9G2xGjvd9IwFww5MbvS1JcFdAratKyntpHA5e44poggNTg== -----END AGE ENCRYPTED FILE----- recipient: age172pk7lyc6p4ewy0f2h6pau5d5sz6z8cq66hm4u4tpzx3an496a2sljx7x5 - enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBsdVR4bXVtcjBlZDdGa096 - a2hXTFBob0t4UTVvdTEvem5MOFliK2FGYmdvCktLM3RBR3ZpS0dST29vOXExdGhn - ZVJZeHJHMXRVZ2FBVG5GU1Z0SmcycDAKLS0tIDZsNXVCUUNZcFY1Y0tCaW1pdzVu - cWQ4Zm0vMHg3ZmJUM21SYlI3dkNuZDQK0zMzDVtiBhi61fLHUnS2lQ0Am5JUrh4R - Yr+KuxPftoCww7X6m/Hl5pwhd6CDm+SOm5ysHHaiTTUSFATr7ci7hQ== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB5WGd2dHh5TUZ2QlEwOW9i + VGdKVG4rVXVaWFE5MTM4NWRCaHh4U0VwVkNJCitRc3VQa2lUUTB5V3I1ZmszRVZI + a2tBRWkyZnBsbm1KZXhYLzcyZncvelEKLS0tIFRaaTh2SytQUDJ3c2lnN2YwVGVB + aHg3V0V0ajh2d0Zna3lpTWJYNzVMcWsKNI/JHvi/GpNScjK7lykO7Gwdfmi6jqj1 + MfOCHrNJvanFandggCZb0cIbH0heHIQPFauvFTzSmM45W/bWh52sHw== -----END AGE ENCRYPTED FILE----- recipient: age1p7pxgq5kwcpdkhkh3qq4pvnltrdk4gwf60hdhv8ka0mdxmgnjepqyleyen - enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA1WlVseTA4empPWGtkZ293 - bXVTNm9iMS9iSGxCNGk2MFNjeDJ2WkhBOFJFClArOUl5bEk0MVV5eVd4bWk0WnhS - czR3VFFacHVSOVV1dTc2blQvOFZpR28KLS0tIFBZdGxGTjhtSmdiTGlDeEhWYndi - d3RIL1lpL1h6WGVaYzZpWERRQTR2cWMKIUoagSG8+i4g1RDa+fbXGVAjJocyMVkA - fLpm9lAwUDs+9RQ95LMduj6xoPW8vtNL9CQ70Ai5hAZaUgL9HtL0XQ== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBTcWp2Qm9qM0tzSExBejZw + YUwyZS9NNzZrRU0rS3VCR2tDK3piZm1zaUYwCnBVd2V0VkZlUFBPYklPYmlyanZm + N2QwTjhjczg2NW1DNHA2WjEzTDVUQkUKLS0tIE9JcE9zV2hlVkhyRXNWVm5lejQ0 + UmFEUWRqdm5lY0hGYlIxSTIzZXZaWEEKDPUpngncY8J2jF/zLPVypu2XE7hrh+c6 + 9Ibr6H7D6G15emm8ifDbcjbcI84URnVcG0ti31/FzAeAmxnTiv/B+g== -----END AGE ENCRYPTED FILE----- recipient: age1sv7uhpnk9d3u3je9zzvlux0kd83f627aclpamnz2h3ksg599838qjgrvqs - enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB5WVJIVUFpYmphdnBITGFR - dk1vRnJwdFluVW9TZFBjc0RwTG9JS0l3dWdzClRKVUQrSno5czR0MVd0eEk1Sk1X - SWNxTEI0bktGVGgzK3hFZzJ2NlR2bGMKLS0tIERtVFFOS0J2WVRJbVNzWTNTL2ZZ - Ym5BL2xZRjFpYW9GNFNCbXBTODh4UXMKnZQGe1jhdPDp89w6LdfoRm5qBMaAzuTZ - bwg3QeBHDPYYpB2b4q+mD3XxdIRZh87l+KdrdvrM/7IA9VF0ZNZWsQ== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBhWWYxOFQxeFNndE1reWll + dlJJK2VCaUlkWDZtaXlpS2d0ZDVhNlpqdFJNCnRyL2JWWm9JWWJyM3owWVpJUmdR + UjljdXQyN2dBZ3Zvd09ReFA4Vk9iS3cKLS0tIENRYnhtZUtMV0pkZ3dhU3MwaFhq + L2RZK2tsRW1FUkhaczZHVmVkeU5UcGcK2FZFoBXcCJPd+qc9HVbgmF29Z1JlYDVF + lmGDnSSIxQ3e7fgBVSmuSdVh6kNOx45P++RY0MCEKmmmSg9voRFEmQ== -----END AGE ENCRYPTED FILE----- recipient: age1dkecypmfuj0tcm2cz8vnvq5drpu2ddhgnfkzxvscs7m4e79gpseqyhr9pg - enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBkc1V0bUtXYWFSVHVnNFYz - MWlIdVFtSFhvQUd4Q2tRMjQvMlcxWmhwQWg4Cm5xS05kcjVRU2VEa3VYWFZHVGxH - eUh3Yzl5VEF2YjFBdXNBejVTN0tMRG8KLS0tIDJVUEFhNlg4cTJrZCt4UDgzVWVn - SjQxSVo1eklzWm8vVjgxR3F2VXViUncK97WqQpdVMds+gmf1TNC1TCQFFuD7jk0Q - sqdCOxceIaQudTM+1M0YYGn6l2sKuBzL290wLVfEDYA31lyu2/ubaw== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBsdCtjYjVsVFNuRm1WU0FK + b0hMSURXcndycXlyVURJaTNIeGFUSXNFZ3hFCk1sdkVvUE1vaVFXSHNWQlZKK2Jn + VDlBV3lybllpaTlVVEl0alAzbk51YjgKLS0tIEJkMXNDcXd1WUtueXdjOFVpQ2tB + Vk8zclE3RW1mcUxmUnZ5R1R6ZnJUK2sKyQUbyKtNgyJ+GmCYCnXuLp2GvqhIB6Ln + xFpNeY0WN9nQyYKht0RRbczbwPEm+CUqpVfc4Y3rnaaZ4xfXm+HSIg== -----END AGE ENCRYPTED FILE----- recipient: age1mdtnk78aeqnwqadjqje5pfha04wu92d3ecchyqajjmy434kwq98qksq2wa - enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBDSlAveWFBckpyYVNNR0xP - OUh1SFpjVkl1WXk3RXRjMWRweVVlRXppd21RCnJFbkU3OXM2dDc5bDRiVDQzNjdC - aGhvdldWUkgyVVp5a1BndGV0K0xUSUkKLS0tIDR5OXpFcFFJNmwyWmVvNGFOWEFn - Z25FL201YUlNT0N5WnR2UnE3ZHpKMWsKuX+ARk/5fo0w8nG1eqhdpZ8KDQEaVh3S - 8nf/jJ39QrJwnukQP3+4JvLKl/tp5NihlP/eQ3ZUmvTNqQOsXpTY2g== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBkQ1pOSWhIOHFlelZjYzQ0 + Z08rcEVveDBTLzNKQjE1aUpkNFgxY3phOUdnCmVxZnVZYnJScGZ2SU5ISlkxd3Rn + aE5QVTQ1VlYwL3piZUZHSHpQcndnOG8KLS0tIDJ5NXI0ZjIwZ0dTNndxR2pkSVBr + NXh2dTdWTTRIRkF4SEZZMndWTVphazgKEcXnLHGfKo0x3n4JMUdrxJ1ukluHz5by + uEyrZqD4H9NjzJEc0YWo992pqSn6t4c2vf3bu4uMUANIi/24R2L3ew== -----END AGE ENCRYPTED FILE----- recipient: age16pxqxdj25xz6w200sf8duc62vyk0xkhzc7y63nyhg29sm077vp8qy4sywv - enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBITTU3TVhZcTJGVDRlK1J6 - aVhsQlhvMm9JdXcvbTc3eExxWjQxdmU0NFZVCmVqbkN0QS9QRHo2SzQ5T3FNTFA4 - Vm9zdkg0THFaRzdsU0kwUDVMQUdDM1EKLS0tIGhtdXRMRWxDVVRUQXNCaEVPd0ts - Y1ZSOTNjV2ZhZTJzZk5IUENrMUVheFkK3WZbruOLBTzm0WghE+4iCT9l9ZX7LyVu - g2K39QgOva2VJPi8TKZ+SUPAJkTs+n++KiEtaanhSKJWhfoCa2hCJA== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBubnBBeEh4Z21ZMzdnY1ly + V1BpN2dpd0trTXlBRHp6R3oraGcvQ3BLQlJRCndDbFJlUlV1VDBrYU9NOWhxdXY3 + YjBVbzR5akN5Tlp2K2t0QjFyajNPOGcKLS0tIDBGdXc1aG9sWHJqTmRXakNQU2xG + MVZncGdlY015U2tRL2lPSzNldFRpRWcKx3D5/Nya5W4i2by5AeY6zNSBIe5gm3qK + FMJ1KgoasiHtgKkhumqAnGBqwbp2WFGM9tJK/huImuKeJd23i9G/2A== -----END AGE ENCRYPTED FILE----- recipient: age1hv7m3xypesdfm0dfzwgctde8v307g9xaunnfu2687y0lagcs5q7s3eg0kj - enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBrMmlUdE1XVjMvZ1k3SWRY - cTA4ZHF2K2F0VTU0dzhvM2k3S3NXRENJWGxFCnlWZVJ6d3p6eWFSeFFZdU9FRmZS - MWJRWElrTXI3SjRUZE5nVGVkZHFXdkEKLS0tIG9veHJjL0lIb25LTWhvcW9oY001 - MzZWUHJnaUJiamI3S1RJd2lweG5FVzgKFb/9A1Ukx1aL51Tf987RMBD1H3Jiosba - XBqvr7B+8URqPO0rvFDvlCV/RtLAG9RhxmJqJ23+4Oqm0FzNCx11KQ== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBOWHkvMnVzRDBYYTZGZDNG + S2xHQVVIcGt0MHhDb0k0c2NDZlhMcDJ4SG40Cm52bUV5emFGMDNCUmVkTmZheW5O + RE56Q2g1Ymk2a0VtWDYyNDBDS0k0Q1UKLS0tIDlXa1gzZVhId3V0NHlqc2E0Sm1C + ZThwZmNRVEhJaWRkcXdocUNqaTlJbWsKt0qDpp+YTa2KaXbbRrXDnu6Jyc3e+6iZ + wwRg6nztr4AROglPcTopTFCPkct2bdA0Xcj0XozM/TNv1ztC9STNmw== -----END AGE ENCRYPTED FILE----- recipient: age1522f3qzddm82w63j7ajdkr0khvced6ht7tzp3grvp0j3hewtvesssr5kpf - enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBrdXdrbU5hTnBMaWxwSHNx - emNyQTB6UHVmVUh0N3pnbERtWi9naTBnM1gwCnNnZ3ZEcUtVM1JPY1NnRUUzNElY - QmVtbVNiem9LbnFUazFlZW55U3pwZ0EKLS0tIFo2elRISEV0TDdEZlVHU2thclF3 - SDgrekZBL0tRaTlYTVUxUzM1SVJ4VGcKUaA5Y+cZ99yary7gt5u5DxPcPhHVcpnd - /ffKgiuXQytnaqTjuK+LznHd0zFh3T4Wgt55ctLP31vr9O3iwzp5Ag== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB5N1lxNkpoaEd4V2ZYZHJv + MThuQi9aZW8zZ1cwa2IxcWd5d29yZ0hpMlQwCndaNmlVY3ZTY1h0U3RkNVc1WDFZ + ZmtsbUJqbWk3MjU0ZzlLOGg2VGdmdlkKLS0tIGl0Tk1RRWg2KzkvcjlqMlg3NDRX + QTBEMnNVb2dkQlFMV2o2RG9FcTlCZ3cKm5L7odprrDvS1ufaZIemqgIb2WylDwgX + 7gj2WXJzQMnnL7mYeJNXeL4tosgJJlrd9VScikn+GRcMUCRDFm13xQ== -----END AGE ENCRYPTED FILE----- recipient: age18zgt4y2sd75hxnpe333zz39048ctxpr0q8a3uqh3jajjkyawsdrq8yg5ve - enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBvcWMyRytmR3R0clBEUHZy - N1hLV1Q5VnZ2TWJNSE5pelozN2lBVU8vc1VvCmh5bkVoQUo2ejhBVU1hVkNtc3Vs - ZnVGQnFaMFV5ZDZacnoya2k3SXFSWEUKLS0tIDVxSUUzTlR0WmpxalBVLzRyYmlq - SzRVODNGQU1MeHIrZWQ3RnYzNFAwQzAKFVFt6uESNx6nQwSCqoVt3CFIIykKjz6R - AwVU03KFdfTMSHx2KBTDhOnFGdh33m3axIw/CxDFaI5NB8MMa50lBQ== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBiellEVllHL3pacUVhUVVD + Rmg3SjNxOEtnQlh3MWIrZzkvOCsrTys3aTBNCmRIanptazlDZ1VmelVabVc0b2pv + VkxkakFCdkdnZ1QvTk5SUFF4V2N3V00KLS0tIHc3TnNaWm5xSWNranFBNTlPM2NX + NUszTW9VOThVcmhROUJuNEdDUWM2ek0KH5BTMYDwSnhO0MA2/4KgCe1IZABMePX4 + WF/4r3DJ6cPVIyYx2GkxIpr0DVdlTb3KphxL/LBiUoGwHn/F/sfR7A== -----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+IG1sa2VtNzY4eDI1NTE5IDBDcFJqSjYr + MjFvTEJVWmZpUlkvMGQwRm1EcVJQSWpmUHZ2QXZCV1lKL1pQN2JqRUw5KzNvcm9v + dmoxNFJYaGdXeW9CNnhXVU51VlZoTGFFd0dralVrcmNRbDFwVHJlcHRQMzNyNkN2 + bERFSGtBWG9wUzhPOFBDS3d1T0wzR2lXeWdFa2ZzbGg4MkxLeStiV0d2V0FSOHhn + cG1WV1hTanFycE9RZ2NUT01vWm5UNTJYTHVIbWExbm9OYTdqcVAvVDJUa1AvRUhS + aHBObVBJa2t2Qk1lT0xWeGNIcitMMExJSXhkcDFHUDdpb1I3VHpxRU54ejBwcmRV + dHovK1VmN1V0c0pkVnlWbjhlS25hNi9oTG5YMHlBbkxxVUdRN3lhOU9uOEVZVFlF + bWphNTR6M0xValM1cUxIZHJiRVZ1YUg1amY1ZERBNTZyR3lab0owdml0LzlkZWtz + dnREVTBjYVNsdFNaZGx2Tk93ZUpBQWQwK25UZHRsclVlcThGS1A5ajU4TEN0cXh0 + eERqbWkrOUk3aWZ1T2tadWNWc01sbDg5c0lsUVpzb2xSUFphYThhN1FONHM2ZjJT + Q3ByQlMxN1JKbldYZkJ1RjJRT2R6cHVVVmJ1YTZtU1dkRitJQzNOTllTZnNZTlBx + amFpWVVEd050T3ZSM09SQnZIdFgzMlFVS0YvU0FXUS90OHVpY3lSNmpFamJzZ2pD + T2FVVVBUMmNRbU9tUW5Md294dWEyRDcvTEw2TWtQZ25HNEFuMENuUGcxbnNJT0ZB + YkxGUnhUdFllcXRVdUVyUlhpWVRITUh3N2VGQkFDYUxiNjRZSkhtbk1uN2l4VzBP + TTd3TisxZzU5N0pITERYbEd5c1JMcjJ4QjhPVTI2Zk1wQmJIZk82aVdYcWhQT2p3 + c2I5SzBGVmxDWC9XNGNmcHI3b3N3Q2JRdG9oK053SnlPMFMyTHhlWEdjbmVjWTlD + a25ZRTFxejZYcnBlcktzT1NCLy81aUczNlo3RXNOQWF6bTVhZ0ZZdXh6VmQ4U2R2 + amZHcUJsZGg2V2VnU0RwRnJTNEpRWlFSUjFmbmZ0R2kvbzFEL3dHdzQ5dFo5UkNa + NGhVRC9QZFhUZmpSNm94cEIvOTNRR25DL1pmNkowdVg1dkFZbTMzRDJWQjlPYS93 + ejRYZE5oaVdOSFFvUjFrRFY2ZGlQUUhmNkQ4VUxUWHRtSkJSTHR2QWR4V0xHeDBU + QUZNWVVhVXlXZ2R5TUdCNHBocHllSE9rdzBxRTl4MGNzRzc2eXVsVWRNTThER2pC + UXROd2d5SWRGYXhXT2owSEN3K1RBK20wK3EzRzk4emlvK3AvaEdxSGNDNkJEblhs + VW1HVG1hbzNIUjlqVTdodTlWVzkxQWNGRTVLZkV3MnB0VmpUWGM3eXNZd21ZNGlx + eHMvRzl1M2xWTWJuM1k5SUIydG4rNTdTM2YvcTlrYng2QXRkSFl3WTc5L2w3Rktq + M1JwaGFjUjFielFZekt4YmE4K2JVUHhTR1hkd3E2QzNzTlFTeitNZDgvOW0wdE82 + RndzVTk4WVFZT3c1LzdES0N4YVBrN0Qrc1RjcXJOcUZqZnBYaGtQaHB5Yk1oWSt5 + ZGloZGtPUkpINUZsTEtxS21RWXJpdVI4OUtGYUc0Qi9JcmNudGxiOTVFdFN4R3gx + U0tqM2h2N215YzlROGRXUVg4cklLNlBLNWxpejJtejRTSTdXblZRNXRqMXBiRElq + NlM5WFp3UVVsMUJGTm1MZW1NVnVqNnQ0b0lZWE8wNlV6RVI1a2M3clRNbE5kMm42 + M3Y4UGlZOTlWL3JMWFhTSFBHblZ4dGljNDVLRlExUHZOTGpaOWlQTUFGR3JTeTBI + R2YvcFlGR0NtOTEwZGJSQlJlSWM2a2p1NnFnV3BXbFEyT0NrN21JS1BtNEw4QjRu + bGtRTy9sQm1JQkpWRGFWaTNhc2pyU1hzZDJia242TDYwNGdXbHpCRmpkQlFFUQpN + UDlNSVBFcnd1dUJZS2lLK2ptNnFYSUZ6bjR2ajZtbEZQL3ZuTThKdTRzCi0tLSBF + U3U0bm9oMXlJeUJVL2FEeG9HRzN5c3dUd0NjdUl1MytwaHdVajdHTjBvCgpBoZIr + TmMzsSHAr+AszkWpzSgnQw4Yr53dfP3JFertkzbeKeYVC4SsBnNafpPmqikq7l0C + RQGoDZ1GYgj0BQ4= -----END AGE ENCRYPTED FILE----- recipient: age1pq1jqrcp3te50xugmv5wst3s9ahj0d38rfktxt43wlcqz7vnwyn3y2h7kyfr6rckrvmuk9m7yvp4efjnfsuxx6d8r9gn222r2eal5593arywrjwrgeypf745wyuvf3z2xk9tm5fgnwckftuvdggk66fph59rw69nt5dpjeewuww4vzt9gs4xelre952s7zjz56qv8tvesg2c89sp8rmy9dvhwfd6tucjhs6sjr6yp2njjra2u6w7c7f0sch3rwkw3wf2dc9su9aaa9q2f22sh5yf0fqejxa2qqpq4pg752589st5xsa5g8tpkjglj4tn35gd4hjj0xet9cjwhydmkmmkffy3nr8zdtctqu6pqsyf7aphvktryez39ru3qe7m6nvr465ffxr0ltvr85nddzxvcwpwpac64nu5tdfrxgjfqzc99vr3zxv8carpsw5evmruqlvrq6v6a4m2cwsz5gqw7nyk3jlj75kp5cnafzjn5dyrf8ppfhp5g5s34zsl7pejmmx2uuudjt7ru2y7as9mtagykrgqgt80fvp3eeh4gsmmd3ujgtp0ranq28aq9x0xdekqh49pfhhprjj6zqdfac5gxtjj736kh5jktc4ls4mjs3p33rzt6ze54uqsfept3qhua2pmugypup6hm6j2ek5sgxjnwvqyfj2l8vz4yfgkaxf699v7jqlwf7g68ang5kzqrjsu78lyardm4zen8zhrr24j334qdgs4zr8dhsfsnmvx9cdvu0swx27tcz8txs46zds9kekgmua7w7fnw3l2lf6zla956ssycac4zjy87rawr4thusxtcqgfzfzh2za9np0s34e5dwkp2l2k06cq09myxqfe7ze6a53d8sl5j43qcekh6kfvl9k0t7903q99pc35630zwm3hwxgnw354du5gngnz56skq9zx3pcnkr5eyh8r8t0dqudmvrrwmxreu6tgrklxw7yvu3zkjgt3gyjhc8kqcrevlukay45sz4k9zqxx9yrs88hzt4h52r2g74alf3cedes3atufy06q4lfq3nxdlnve0kqcwstzr6z6u7fqpqvacezdrr62ycteju6dqawkpthu0drtlxj547htfjcsnrmhgvhskwtuhk6yp7wp30p7qc5vkk8fegg6qx5kc9xs4trx7hj9xgydu7vd30hkceuxsczywjs9v2fl3svkwfypg62882yq6ltv7gfj4ajuy8ezd76g0z7juwspe7q6zs5ceshd6038tvvh2nlpjty6rg6a9qfzhgmjx9s6hynyk7xnq9zra6hxstg8p58x75hapd2mk6rapfunlnnkz5dsxjf4ud4dsvgjfjpzxcdy7sp8dzxtengrsdyu4824mqlw8p63d7m2z4mcyme4tm2qkugtdgrkyphe7akk2geukf6xkfkzd2pkdq5s3qm9fkvfkgrv6yw5kdgjak8xcgesg6tumans4fs8yrxtqlvv2z3emdvwchrjfq4xpzsj27yt4gdg8pknwz9tqpjkjxq6lysutrvwkvt2fwyj8wvv8wtmdl6fk6rsd9kq9a6wkhuq7vvrgwgj3xg2s229sprj4g2vzhy2dfesrp403gs64jqkrjuezwm4zd6uw2x4e2qkj8xqcf7c0zprdzu959x23u878vqqetgpjwt0z3kedt8l6dgpm0rf5dmrya5h3wgzfa0jjvgjphyxgxrwlrzpv4czgal933zs64tn90ks66ejjdaw4t67sch8r3q0kljeqnpdgmw0cpj6arc6k46wcqaccygczy76zt9362vslakvzqqv33tv3sjldp6qxprharmpm9uykgpx66343wuur5xj2aw0rgutpm4ztjzycn3a8d2jq2zpdzwmevezm7mkp9dmndkc3qz0kklgkxq9yehrk5ayfly97umhws0jll8qqg0r7gzxgw5vv76 - - enc: | - -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBtVktpa0YxTFlYc1hVM2dP - NFZtbFpERUhuU2FENTFkTVpkQ3lXNzFlMHhVCld2cUQ4Vmc3YmtvVUZYOFFBZUFn - R1g3b1pHWFpXVndUNUpKcW5jcGRnaVEKLS0tIGRqUnltQklEczFzbjJ0Ymx6OENa - S2ZRMWxlbVQwS01EWmV3aHdDWjh2V1UKXfo7ZYYZXIjolTKc+aXHpi0P6QxzpaKA - 5wi2gYOF5RdoyOyfjPYsIxCLFc+HO12X3BD2osomsT0yUGD12xWu5Q== - -----END AGE ENCRYPTED FILE----- - recipient: age1q7kz3pnfq6cvtn56rlfgs52efcvtcmaq4xny0va3x5wxj4vpgccsenwxk6 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-09-24T19:55:29Z" 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/+KTrL4s2iT7FbW5ofNIj/jzDf5Xq6W/pb4oN2Lfea3ZhK + l9fegZDwR0y7Pq4lmzENeIlt4mqHWoINngpQXxuyul6vsIUgJyeYg1FdBWf3t7Oy + ToHEYEwxd/SajYQE0JKqb5rpVJUvnGSIpj4MsYgg94+PlsOYFMU08OuJ62w4Ko8F + e6lRgBqm8xf6X8apNTTMHgsLrtVWnwGL+Lb1Z6Ro7h7L9vt7QNkFEZPgKhRk8gAQ + 0OkEB1YerrKclxvq3tkIEwncpdzc3KIaeoVIXHzmr8IkDQ89SJue4TtgsKDlaSkv + QYG7da7IK9eIJQN6y2PTlZlVdscTrPvEFzIZl6yfI/ZoaAXb4NSTXdXn8mT0h0On + rWLlntBANQR1lulYADKjy1XZmqu/SqlzQmD5FVVrKs3sLOycnxqYJc/ulafAZoe+ + 7fQirvNf3sMIowhE4KXJ0ZdMoIVmcKnqYkhKxXIHztUFeHb73zi3mtOTsuOX0rki + kd+KH8h3ZBqJNvjVwLE2gPZmdrphEyD355ojpc8MglgH8c25IaFHouJKNqLMM+03 + s1wpOJ6/SPqKhdjqdHkILYWOfjSNhQDv0/swPxQJPLHwk6+mt1lE5wOpKycyIvtT + 2EiTTTyyFF+WVZB2/D0FPkz6HFlrZSH6QVreCuC+KrZT6WU8sgp6qE/F4oaH9RTS + XgEc0Q/RwSScOs3YXmJUp/1JTiDs+jlPQJpKgR2JrljVNozs/EwqeNS6iQtaOfRf + V6VzxveUMnYPh9vE3VtiYRtQPu7DLzvS67bJukSXwjx5TCLnQgyulAu/XP/wQYg= + =dOub -----END PGP MESSAGE----- fp: EF643F59E008414882232C78FFA8331EEB7D6B70 - - created_at: "2026-10-08T12:21:49Z" + - created_at: "2026-09-24T19:55:29Z" 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 + hQEMA1QflAioE8i3AQf/X7/YOb54Ll1t6jw4bDZrSoJKsJFkyK9LGwYhr5NikP+S + 773YDCqAsBUCyklV/oyeK+K7lZHXKGTms6ETObWwejOr8Opd2N9mMefNVmxOUveo + 0BShc+0pdstTPvDcqVInLZ1FU0XJG90imJ3rRdXog92voiXxipplrNwFBc9lASaC + AXQjuGZ9XzN4FP2k82MM3xNx8+sw926l7iJ/V0A6t1eswaPFaOlbZ/BTsIqQZX5G + M+Xiz1N3j9cH/OdKb50+gAEFGkW4r57qxJ9UNqrMhZ9IgjFANpRPuICb03sN7PyH + tHuNA9LLVazB7+hCUlGCPlbw1JHjko7Eu5zno7Kz09JeAdvAyK4qKWHtxshUsPgL + H+GxFb3Pb6sP6hqH8EbRqiqhHFKFZbL9VHvB2u501YGCzv5J8qfyOyCNH64qicsg + +RSQ7PSX263WI/RvFeJxq72coGAOCygfYvm/AbteFA== + =NLrv -----END PGP MESSAGE----- fp: 21C9579E6503CA815A68ABD8541F9408A813C8B7 - - created_at: "2026-10-08T12:21:49Z" + - created_at: "2026-09-24T19:55:29Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DsZXvxFXTXoQSAQdAY/QEMTJA1mP4qlWnMD9l3lYyEsF9LO+u0jeYwMR5c1kw - GFdqNpvhgbq56qmxgux1lCOcCgforwRZNrRV6zdQEccEpWLRUy/pmvqRBaSOYYe6 - 0l4ByIKrIab1smIea0ZeM7oZ2sRnzgNCOEo44ABuXQW3DoiFc+49DFKi1zM1+0mZ - uRbhv383SvMNWai5Tmf1JkrQHwfBwIuJT63AK98TfmEVrAu20qZ3E0TfB8cZ46PZ - =8UMl + hF4DsZXvxFXTXoQSAQdAdMgewk9kwTEHlJ4DrjEBDIQ9UibVAwcQGSDon5P71nAw + mOM7sg7H5GrtTxDN65MLl6P+IxeKkPSg1oWDCzRazfwbz04DKYBI+az1Mjgz0sD/ + 0l4BL3Ufun28luyJVc65sm8S9xZxCorQlUPlRSRuf3h87cY0xzNtZQE4sFmtTdKn + FlWirrr8GhxCmwOAuBk9334W7Em2ubSI7PFrr813JV6qSCdTp2GE6XSNMp/tc4Sc + =/15a -----END PGP MESSAGE----- fp: 9633412309CCB83BFA39BA5F2FEF746201D7FCFE - - created_at: "2026-10-08T12:21:49Z" + - created_at: "2026-09-24T19:55:29Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DerEtaFuTeewSAQdAB+o7XTZVQJyJVV+5LDdF2qp3mViYE6srWmSBBQmplB8w - o411SxMsKEk8ow1VgNKCr7KQsVgYrMTHVjzt+fWT3/CNYYtIs7/ox1RISHBjmUUg - 0l4BYqWvDsPEyjW1WXVjstuNOJtEgm1JOQwdKMNbBXKa245gFKmV1udAizGpI6DJ - xiIAOSSYSLxuCY2PzCWsv2jx36nHW8LvELMRWy/YeaSQt4PKMSzqPucXq+2H/dAJ - =bJQp + hF4DerEtaFuTeewSAQdABZ3azfwilO6LhvmIpSIynGRkdYj+pOFehD4eLc6IX0Qw + M8Lb1ThNCtEZLzYdxlVLxcQ6EaOcuwzzkNoW0u4Vtyw4ZTxxesr9fKUcjXHCeDS8 + 0l4B33eqQMOlQQcTWSaTqVX6+hbDZJhP04e+E6AM5j35+eZI5wf1/RyA8do2CDeH + mZRIThD5sWfQQYEGvqGb6N7xzQQL27lYP9K8jsHLK9xsTtnUh+1Pz+l179nxrtYM + =Oqyx -----END PGP MESSAGE----- fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2026-10-08T12:21:49Z" + - created_at: "2026-09-24T19:55:29Z" 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 + hQIMAxjNhCKPP69fAQ//Wz08vnPeK/tq+a+1Y6YU/O6IJ7HP0X1a8rAAarRfdjb6 + noO0y0ezum64yx5V63rTBHbDU34BbCu2+iFBt+tZFvCKNgF+O8wdJMu9sshGjp2v + 2Gu/+bTcBdnD/gIYGR2zKKOoMCNskT6eZhxrjO5w7B3fV64AV7lLQxQY5bXLK5ot + mell741FmaZm9cWcI82mlC1QrHlrakTTreNpu5pktTpei66+O2SnVGmHjWrRKDfR + LCxk/u2bKjaMXDJq0Y+hSk9hEQsg1ZCgfyDmDNfdiqNxuidi5lUJyDPKHX8WZ7bv + b9CXzqDB3zQekBzIQ/6/VXQxz2bGGcpd/1ksVolP06sNGeJdxxfmbKb041O/rx87 + mYkYFPffU/gOrYXrXkhBL8JPPKlBNJHdU101hjGkjdNr6CqHqPU3x1p6TnISQZvP + 4jQH+IjXUa3RoTeiZwgtvilzNyKmIo9RsnIiFcf9BxeAfBXkx1Sw+hR8byBhW0UG + 80B1Guug4Yq+VvKszNBDHRVhm5OkcDqZHy7dkZWb9BrioiRFK8sy7XtuK2EdbRO5 + prHeoS4BtZ5d6e+IABr7p8Nvf4/fkRumJGQEAwSqelFKaU5CUTu0bSBwYfH7udZZ + EM1rQQJdVOeOEp+2hd9qeYSNX3McasYxYD4TqWgtu+94zMEdTN1vjrZCBbV0/ZzS + XgGV3em4L0ayFRC0LYxA2xVimD+Vw0evQ8Rl9YkneIteBW+w0cNIOBAYVtSAZzuf + ipmLlczYM/XLKzT67bprGl2rkOAucsQJL2yrjqyxo8t/ImCJ5poC3UBkbVPKR1o= + =+cdX -----END PGP MESSAGE----- fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 - - created_at: "2026-10-08T12:21:49Z" + - created_at: "2026-09-24T19:55:29Z" 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 + hQIMA46L6MuPqfJqAQ/+PSXVUk8+tOAvpSx+bzsIA6O6n2IOZ6dRnGO7dpydR08L + WpPIBQ4EcXEO+oXto6qrCOhiJfVc3DStAKUp+gSOE4OzE3Z+V1hRZL7PrxXWF+xU + bmB5/K5/52Mjn8tsdh4zLDJfEjw+n+pZabSrCaevcZg/SCnXZnUP5CsyaTlWpAWX + HZwDqtqpN8D2vNF2Rxv6ksksxcDzrMOVTvKimRKwmlHryFjrZ1fRJf0Fic0cDqg+ + 3JFi6yXx+bQwS8MkpDXzNRrL6mLx/HQEfvtEdqotWMhNiwO8n78CWvqaa/K5hdEe + QiZANSyAeuHsoHyDkcbRitfHLiVfHNHua2GEuJkD5YQMvMwhXCLqfzvDjrATSicy + jyFGIA6kKf76j/JoFBRUXq+g38hNfaY9NnTP2uFBZvNXmC6bmFQAp6VZBi8vAnPZ + zjJB1HOrova/dSVLv2Wy9hI0vITkHwINQi33k+F9AGPYGLgPDJgr4cxkGC1kacyE + /wwY5qBesoNJbDImKKPyH1OYuQwLSh3osWsinAcj02WSlWxe8OwZetAlLdBSINdC + 6gdxcy1Z7pDyU2HNOebMMsONtbb9RKjsp+s80J/ivBC+MsMswmkiKRuVuXsSqBKT + eLut+lL2rVqs1tZOp6P6GN01LLVtmMGWagFptp/v1NaK7JlZoPBIdaCDde+hirLS + XgE5K2Qjt1QmrUMJFCsTvBXcw7BvL9eaxFoSgipv/o8188leq0dR7yMSfIn9Bzhf + SwIiMaKlw6T9H1ZXbukhAPioHo9QyW/yHIIQi/ALtHhrQcbrw4HHxhxkPCDRsvE= + =hLHn -----END PGP MESSAGE----- fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A - - created_at: "2026-10-08T12:21:49Z" + - created_at: "2026-09-24T19:55:29Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DQrf1tCqiJxoSAQdA44QMLrMf7v9+JsZLXyE3Qv5sOc+DmVkU6LvboKyV2Wkw - Mmm7BWQXJJV3Kc5rYLRUr7R7qg0QRVVekg2mh02TLqb6vcuCTgrKcWYq7ofez6w8 - 0l4B9Y5JV8sUH0uqnKq+TV4SyeGn6G6lSEGypPQ3YBmFSvMLuKzcf/SlR9bHYiHs - 63g19HXDCAuO0bWP59hmwZL8DV0v55d6wqItA0KmlqreGQjM+11sEdDO5X90XsqL - =Xuqq + hF4DQrf1tCqiJxoSAQdAVfiZlPpOP0mdwHvOGku4Z34jRn12oEkqjdc2GmMyvWkw + EJUK2uWQAPtMwH+7aXdPfgfgWxG/KtKILV0r4naDG7T2MOJsz6aV2uX0PGWku4ps + 0l4Bcpwwt6S4bs5WXjp7Hp+ctwnPhFlIZSJINB99za/aTfQn4+QJIkGuNH7rprml + omjF/EmOLddJOjy3JfD04xxGcTXse+kzpDUwo1M8OaVUZQAOodM4CHs5SLNy/UPp + =2tQQ -----END PGP MESSAGE----- fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2026-10-08T12:21:49Z" + - created_at: "2026-09-24T19:55:29Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DzAGzViGx4qcSAQdA9Yi0ArgXI5MDjhB8mgruSNLl7V78N2QWolaQB0xhT04w - OLdslCiJJdsdmVJ1ctiD6uURznfn1fCFUL54mzciOF8C9/nHKrJEZt0WiPFXdEBx - 0lgB5x1GK6zEo/HxyZ0AquRn+kZ0F0W7tYsMLziiDrGMqmc6gIjzA89JyP0fNTZQ - QNcKfhb97qPlka4XiLunRJyn7yE77a1m7WEW737HWndbYtcIRt5oRCFK - =vrvO + hF4DzAGzViGx4qcSAQdAvhCuEyTS1x2NpCUY8e5Ai6x46Ze3MVF1kQhEnb7jAnow + 7Gxgei2A6gNOF/qFAWRcd2rYJWwJgAAabqxIR9oP4jP15o/3k6ybJzHNu02AGuIr + 0lgBKQMurnFxnQxQ+ArAhuq8X1Bsr4P8YRkTXvuAMWXNo0Pntdb+Lo/b9/72W8dX + NoJhpQozsqszCXMlN/zgiEgpW6GDFQbsZU6wCw/FAXK86E5ER65ldm93 + =BAcl -----END PGP MESSAGE----- fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2026-10-08T12:21:49Z" + - created_at: "2026-09-24T19:55:29Z" 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+ARAA2Lc60Bg71oWIpRdVRDkAxoPKQIJJt92TJT2EAOfjqFQQ + fZ3xJ9HkA2lLDd7187Ua66RYs79e50nD424TQncyeF5ixxhGuYWRg6fERdk7DYle + C0W9UPNSlra8vbpjIn2D2xxdgX08HKm0hk1nrrVBnGe+iyiKnoxfqn/L02QYoZ33 + eK5RIWasOBJg1IWtumVoRtxPQ32I8mZCjfMx0yesR/IzIUqXYEAuw6dYlL94/QDH + Qh/d9hVIL2RZsw9fdIu3tqlOezhA8mBOQa+CpSZwys58ZESiAPQkkUfJm6/RNzoz + wF/AxQ+bZJWa30Uopm44JgSLJF8uQ0NYl2HCr94IGsAR+vbM1wdeh1xxyh4bZ/Gr + fDFZz9Nm2X4RRvfdC74PBQlgDBU9M+cQfpBgyr8coPkZhQW8a3gHbVDW+Abcm61C + Qdj9G3ip5OJh4wW+t9qfaXq0RAwYeud17cC5jgBBpGxlBQMG8veh51tAavqVbSCz + ASa1IMYlubIhlhAmgj6e444NhbpVBFXhpgRWAdSKQutSUovJHfUNVRhyKJ1YyWYB + 4hH4DU/JPWB89+qcFbxSeKAic9GnlqeZWZhQG0nm7gs6GidqB+Dh5vGYQaHXLYw0 + zaDDxlsJ6iD43T/lNWXMuHaDEtilXoD7K6SQH4jK6D9CpOjcqxYjS769CxIgEnXS + XgFG/n2Oige+Lhs71B/mr0vXO9eTj8bTCL3NFcLn6hZfI1PEim22mliCX6aq/gG8 + ybF0q1+RXefUyVkm0AypjnAjxT4NcAyofVCSE/p0/ibKo4MAM0ieHFXFSM31CN4= + =8fSf -----END PGP MESSAGE----- fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 - - created_at: "2026-10-08T12:21:49Z" + - created_at: "2026-09-24T19:55:29Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DKKbvh61jX5USAQdAi0Rv5GPtHE2h+nFFCxBAgIMtt5DmsvAHEd+ZK8BO7SUw - vKs6PtoSCJKsMcr94ZAMoIeJ/QhrmCEm5yK2Q9zB19wnCCJ4ec2KNISRGbFFEKsS - 1GgBCQIQZe+/ScZmD8ShMUYQftcGfi89ylZrOq2ejDpPW/05XFcatLu3yvKa1DVG - myj1Svg4cW831BEUzeLLMwDVAD8Pg83SyFlzqwXxqReCEkylmHDBEkuXlG7hLriX - K5gy3LzBcHqjng== - =kqyb + hF4DKKbvh61jX5USAQdAtmcNNFbgzNqbJNDvVBU9/0LvPS/ZQPzUwdLMOKBYRB0w + KOj6IwFIjfpWPTp0Hl9hIUqjb+qp+kW/DhVBazi42ewI00ESTkEy55UXXx74LUmF + 0l4BPW/ETSjjC6QWSrAqPN0k+uGY1tp/63lB28CK/4UKI4MykeATONRU8tvvYTS6 + Z0x6Tba8zskvL+KzNhdrEljbXSfR8vVkGtd5Y1Do1lt4JjEMH25L+8pNA5YYC54/ + =DXqm -----END PGP MESSAGE----- fp: 41FFAF3D519CF5C039FBD8414BCC213729AF0E49 unencrypted_suffix: _unencrypted diff --git a/inventories/chaosknoten/host_vars/jitsi.sops.yaml b/inventories/chaosknoten/host_vars/jitsi.sops.yaml index adae05aa..ce335073 100644 --- a/inventories/chaosknoten/host_vars/jitsi.sops.yaml +++ b/inventories/chaosknoten/host_vars/jitsi.sops.yaml @@ -1,7 +1,4 @@ ansible_pull__age_private_key: ENC[AES256_GCM,data:8PCkZx76R5aWPITn5MCZCMckXvaLfVvnDgO70XmF/eeH5xLVOVx+EC3DZjmHxEoW7Kn4LAJTR4mWl/xP+p++elRvTMcHltV+vBQ=,iv:jKq07NLM84MSGU4CCyUS9ODmwiUMhlDONkKJ7P9P2DM=,tag:95yBZlwYdSNeX2O4t/h9kw==,type:str] -jitsi__jicofo_auth_password: ENC[AES256_GCM,data:a7y36RJUR4OBtVNzgmqlGEsg1hNRGgsuwG2YFJrDlMI=,iv:mnGlKOXtNltNe3wY34BnVCJ9CtLQ7aksr4xXbrTOnJg=,tag:j1N7MUTJG8K0JW/a6YESFg==,type:str] -jitsi__jvb_auth_password: ENC[AES256_GCM,data:xUFiIXAzY4pEpwgL/5LPBlhkx73RX6VFT3QJlG5QbFo=,iv:/XqENztrrpj1h3lBhEtJJo78lCrxrMWxRszNjSwx+KQ=,tag:+LRYmv9Tvt0muR47QTd6HA==,type:str] -jitsi__turn_secret: ENC[AES256_GCM,data:UPev9ND9Mf2gGK28huQuuxRyUZvPPCmFL9rU1f0zndSPPBMspSsnlgtMy0+VY/CsGEIEcWsy3eYDPcAW/EKFtA==,iv:ew0MKP5zdQvqfla2y7xkcXLm3qSMlf5sucn8Qu3G3Zs=,tag:dqe239LD+wPVqLQFF+nz2A==,type:str] sops: age: - enc: | @@ -33,8 +30,8 @@ sops: QzBBdJ6TiDwJ1rwwM211smfIbcYhWX6C/EfitI5XoIW8aS4ln1g1Ww== -----END AGE ENCRYPTED FILE----- recipient: age187zdk64205lx7r83a4m26pfa8hq6khc8sf83k266jasngeq08v3sfqswfg - lastmodified: "2026-10-08T07:56:43Z" - mac: ENC[AES256_GCM,data:CgD19xHN5nEg9TMQq/c4Xpv1LH0LfcXrkfBMUcbJiIn4FsSzQetLYxueeDXUVOujOb9ZSEin1nR+OZwa/nuwN9mTg37c0XZ6HV0UvNNEIrN/o4doUCQa2jLmbX8etxeNhF7oWJ84OgQIhPLvLwp3Z0A/+kPKbmtz3znQNgKoHQY=,iv:6Dt7z55az2SJovJ7ozG35Q99a08kOrKl/uQCUVcbq8c=,tag:M6p0ZJzoFnWgspnGknq7SQ==,type:str] + lastmodified: "2026-07-29T20:26:44Z" + mac: ENC[AES256_GCM,data:dHiB768SBppBrjNoSpgDvriCgrSNzIkpSYzm9REx4otbnvNjHYPhP9OdsZ6zTcoFoX+41/zE13r4EoAz4F++jdJidv1+7DMFvVUKMuFNzp2VjDfB1ZNzzyM+px7l83L5eNhgNPp26mweOVMEz92NgB916KMY+5e3uUeSR+iIdho=,iv:7k8rugBXULjPSOZukQiufNn9Vs5uWVhcvFKIhD1o7so=,tag:IE+2uhzGS2xJJgFHuc94CA==,type:str] pgp: - created_at: "2026-09-24T19:54:13Z" enc: |- diff --git a/inventories/chaosknoten/host_vars/jitsi.yaml b/inventories/chaosknoten/host_vars/jitsi.yaml deleted file mode 100644 index a22c3827..00000000 --- a/inventories/chaosknoten/host_vars/jitsi.yaml +++ /dev/null @@ -1,33 +0,0 @@ -nftables__config: "{{ lookup('ansible.builtin.file', 'resources/chaosknoten/jitsi/nftables/nftables.conf') }}" - -# renovate: datasource=github-releases depName=jitsi/docker-jitsi-meet versioning=regex:^stable-(?\d+)$ -jitsi__version: stable-11248 -jitsi__domain: jitsi.hamburg.ccc.de -jitsi__letsencrypt_email: le-admin@hamburg.ccc.de -jitsi__jvb_advertise_ips: - - 212.12.51.139 - - 2a00:14b0:f000:23:51:139:0:1 -jitsi__whiteboard: true -jitsi__turn: true -jitsi__prometheus_exporter: true -# jitsi__jicofo_auth_password, jitsi__jvb_auth_password and jitsi__turn_secret are defined in jitsi.sops.yaml. - -# Branding -jitsi__env: - DYNAMIC_BRANDING_URL: https://jitsi.hamburg.ccc.de/static/ccchh-branding.json -jitsi__custom_interface_config_js: | - // Replace the footer with app store links with our own in welcomePageAdditionalContent.html. - interfaceConfig.DISPLAY_WELCOME_FOOTER = false; - interfaceConfig.DISPLAY_WELCOME_PAGE_CONTENT = true; - interfaceConfig.JITSI_WATERMARK_LINK = 'https://hamburg.ccc.de/'; -jitsi__web_files: - - path: images/watermark.svg - content: "{{ lookup('ansible.builtin.file', 'resources/chaosknoten/jitsi/web/ccchh-logo.svg') }}" - - path: images/favicon.svg - content: "{{ lookup('ansible.builtin.file', 'resources/chaosknoten/jitsi/web/round-logo.svg') }}" - - path: images/ccchh-background.svg - content: "{{ lookup('ansible.builtin.file', 'resources/chaosknoten/jitsi/web/background.svg') }}" - - path: static/ccchh-branding.json - content: "{{ lookup('ansible.builtin.file', 'resources/chaosknoten/jitsi/web/branding.json') }}" - - path: static/welcomePageAdditionalContent.html - content: "{{ lookup('ansible.builtin.file', 'resources/chaosknoten/jitsi/web/welcomePageAdditionalContent.html') }}" diff --git a/inventories/chaosknoten/host_vars/matrix-sync.sops.yaml b/inventories/chaosknoten/host_vars/matrix-sync.sops.yaml deleted file mode 100644 index c2427295..00000000 --- a/inventories/chaosknoten/host_vars/matrix-sync.sops.yaml +++ /dev/null @@ -1,190 +0,0 @@ -ansible_pull__age_private_key: ENC[AES256_GCM,data:/+Ub9S/CRrSAeWX9cXzIMHjmDXwAh7hPSzXDnSh8iIZMJg+zW9c7mHqJV5B1AtDp9EQ+pSKpC1TdWuM0qGUABIi+cgZolWISXiI=,iv:lfHLyKsIgNhSm1pVERHT+2uMsP8PP8A49C9OAGsYkL0=,tag:AHRK8KuJJCZst+MsS3wXsw==,type:str] -sops: - age: - - enc: | - -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHNzaC1lZDI1NTE5IHFyYkk3dyBkU3pq - d2pwbWxYdVFPemtPODFrRVpVZldmWC9UNFZWajZSaGxCY3pVVEdvCi9USGZXbk93 - Y0J1dlN1eUdnRWY1TzRadndlTElmZGp5ZzZhUG1wa0Zsbm8KLS0tIGhybHFzWlBv - bnZDWk5HVisrYjJPZkN6ZGFua1VPVEZCUVBlYWdCQkJ3OGMK1ZqF+UtpicLevUOe - LFZwLqDQwXV1lKm8n1+DAnLkObDc0Fi5tcPSouEiANCnE1QjJzOW6gSWv02qhVDR - EcIyEg== - -----END AGE ENCRYPTED FILE----- - recipient: ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIBQgnQAq6FUSDK8bxtYPjx3oRCAKG+xy9J3Gas2ztJk - - enc: | - -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHBpdi1wMjU2IFZoZXNPdyBBbmw3SGt4 - dEdLODhDQmZoV0VBWXVaNGJDSWNpVjF6ZXlLZW9oSzVKaEowUwphOWdtakw1TytC - R3M3S0l5eThRaGYzUlZTeFRYbHI0eGpwSFhuTVc4WTZnCi0tLSBnUGhXeWRUQi9Z - WXc3QWpkZU1zYW9OMnowZXFHMzg5dkZZS01XRTZLbUp3Cs0nUaGOZMEI06uupspL - 6qkjvBLKjClmf5ve5P4v10NgOol1tlS1zSHfr8L8RKYMSlTFKaEKRoqVTO58OOsy - 1dY= - -----END AGE ENCRYPTED FILE----- - recipient: age1yubikey1qv7jkffslarpma2fxjm9gnq43xfvwdws0m6y3u58h033edwdyg0uzt8jl5n - - enc: | - -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB5bmxKVk50T204VDVSQzZX - QjNGcmdCVmMxbTRtU2tXa0tsQkNrWjdtYWdvCk92VFE3ZUhnZEthMFYvMVl5dHlu - R3FHZ0ZYT3FMeEdsOG5ReEIxVUpLM3cKLS0tIGRpbXQ5ZHBGdzd1aVM4dzRWUEN1 - Uy9kV3hScFR2d0RvS0V6aHc4bHJVbncKznrIswWDf4hULU1YM0ePpoTaU8wE3l42 - qIJBztm2souvOZDMZSmbhKRptvwVcjIUrZ09uNqAWe+j22gYNlQMtQ== - -----END AGE ENCRYPTED FILE----- - recipient: age1q7kz3pnfq6cvtn56rlfgs52efcvtcmaq4xny0va3x5wxj4vpgccsenwxk6 - lastmodified: "2026-10-08T12:20:28Z" - mac: ENC[AES256_GCM,data:3EAY9S9ZYjjXmqpV0DOZvc1ANHi4P2EhLM+WURsZPE0r1P8YDR0bAxbqilrCbm4U6WznACNfcoyn2esFy63t4va/TyVnLWfukqCUF0+xjd2ICMYTMsT2vzQDFDsBE1RDVJrWuCPC+hsZzBO0cRHrUBRgbWFuDa3eZHXxJl8YAWU=,iv:qNmzrSxrPozOSlh6re/czhUwnfgvAZfn9JQNADSqf3I=,tag:hQAb/WM1ytg3Avomt22P5A==,type:str] - pgp: - - created_at: "2026-10-08T12:18:55Z" - enc: |- - -----BEGIN PGP MESSAGE----- - - hQIMAxK/JaB2/SdtARAAjTbq4EiPuVnzvKLv4gq9zxoILQFrwx1/SD/oLg7H3Sop - Rg/0Q9MIIREUdxtgrMyurHNCzKkSKnczolPc09qPrRJJ4NwPM0vIcvgAzuazL7GG - UXwszt8aGum516NvABOb7Z1VYsobpHoj23b9kUvC74w2jmXlgnfpzxaHyv7026kP - fRclNkyP9oUpFTPz7Z3VqxeWn6ikEVggloRf/jw29rFtefII529oeIt7YbF+aFYi - CJBfLC5x58KQdVaWC5R/CNMaSNVt7KKnUm6MSkx0du9PpRMqjcZpB26BWb4REGMv - AWW5Lr99vstRBdbGBVHESwu/pkCTtLEA2wBZ7qDWCu7bkrL1p4q7IvQUXqSp4iWG - yagjS2X1ePdXOGgr9bkfcHMoXZw/grc8LFyL79PbuINrnbBW5/XeuaZmxUj73LoA - zGny0He3iMcOzOSrj9FLHODwYblEDMljOP8WEIE+bKhlJwfIRhuTZAzeFWbbV3FB - BH5Lyx3zzGazNxhebiDIuk3Pf3GyRdlWRlXZDtcCyI4wL1tBuFRr83p9IribeFx9 - XT0q5+WPbgoLfH7FMdYrT0/rXCZlfRnhTO/lIcph7G10uIRvQxyrKBvTdKKPl/UT - +hWOH4tFTz4sNHiZmGQby7DdE5AYveCHKEgvMIbWa9Xf4O4N731YGjnF28mBE2zU - aAEJAhCvWojK90MZ533d5BPheM/OALJSzV4Rb2dvUF9Pxi0/H4Ur+Aelf6ROPgqg - nXulA7W5CSk+PI5cF1zxBU0SFKvM3Sxtd2HR9rgkfa6z1FVnkkg9nKYoBiPf6i+S - D+y3odZo6qpE - =mezz - -----END PGP MESSAGE----- - fp: EF643F59E008414882232C78FFA8331EEB7D6B70 - - created_at: "2026-10-08T12:18:55Z" - enc: |- - -----BEGIN PGP MESSAGE----- - - hQEMA1QflAioE8i3AQgAtTqiXTWMOA5ctm97GM0o1lKPVgvLpmp78pLpE8mQOXzb - WKLInfAdEnBLcWThcEvVuBIvkJI14ZV3FBhLxuwO5mnOv5GbG0n0o6GyAtVOflUi - NycoWMZRzwaddXlPuLc222z+ADbv+7LyKb2gIIkmxj3+oD5BSEIIjjD0yNOMtu/y - jEi8xmuzXhIfHI05jnLMB1aWN1fyBlhTVyS7K7rqJ/8fttwZm31mx7fctq3Auy5n - aODdH7D70CzVulgpjG0v6S1HEO5tXCpPLCWLrKLnFpf1lXkmfJoGCHUPHH/6bag+ - p2U3GMW1Hs2/gW7S15KCENMJCiIj5KKuXRWsiQ5xHdJeARvq7GCMXkd4wGwMBSpH - vx44gnqmK5oC/ThJycpZBvw/zWFCZ3SLhKzMXbAa7yHk9lTcLOlxY3QDPfAFmvvF - 7AtkynXrwhAzi4K7AMQFl5bOTnIr2AUlNliLQtnzdg== - =GhBB - -----END PGP MESSAGE----- - fp: 21C9579E6503CA815A68ABD8541F9408A813C8B7 - - created_at: "2026-10-08T12:18:55Z" - enc: |- - -----BEGIN PGP MESSAGE----- - - hF4DsZXvxFXTXoQSAQdAZHaU5wfL+FMNLhmZF3cBSgfo+2Y2HCpiGPpxSS4JPWcw - mq0T6O82EvGF2K1bzGeOOn/yNXQJxHGw27qwDcr0POsKR6FtkuSimlQL/p9TP43I - 0l4BV+yTpOOBwG4EXxX0ynx6p0jT//W23AJ+wFpaTjbdYv52AYhoYNaCxBCjUo9b - 2h37HLQHm7sgUt+sQTRbUB2PjJMmFrYelKXEu3h0LNsIvEGxDErzjgU5yVsYvz/W - =pk+i - -----END PGP MESSAGE----- - fp: 9633412309CCB83BFA39BA5F2FEF746201D7FCFE - - created_at: "2026-10-08T12:18:55Z" - enc: |- - -----BEGIN PGP MESSAGE----- - - hF4DerEtaFuTeewSAQdAF0xXSYZ1taiaFPSvCVwt2Jy+jl2wd25jGsUa4RC/cmcw - 7hjeKkXHoM6kjzaTjsXjz9UWol3c5vkX/6fbSrXEUJijCA7IDYdc19HDIOO62Wk3 - 0l4BYTPcsD3+VrGifY/2lWoEU4lhS659VSQJEThgoRyBRtWuqx9Awhb5IhpR9lP3 - h94Fkt5J4VPqBHKKk/tmA0e5FIodiU+U03kvOHH5cVL1SlQBF6GyyJLV1qhl8dYq - =rnX7 - -----END PGP MESSAGE----- - fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912 - - created_at: "2026-10-08T12:18:55Z" - enc: |- - -----BEGIN PGP MESSAGE----- - - hQIMAxjNhCKPP69fAQ/+PDBjhWGJseOyYlKQI6NX8qbQa7+73sNVlw3hZkiYGKqY - 081OM7MHg+ku3L+uVbYmYkKDFEFrCkcnlMJFiDa20igAf2S2+XpQ4DL1P19rsgPu - g3lmFxqmisB8TE1cT4Nv4myYpWfuYhecliUVqdx+uLX31mkqmG9c4aWIUf09bRWR - nFUihxHtl9ha7qvdyzpAf2qLu9rGUnAfvxWo2mr8IMYyiMMZu5RIS4AEbSgcDmci - zwS/rJvwZ3Lzykxgc81qDXk+Ajg0hW1QwIF6YtIqyg5SPj9TZyy3gHVpLO5zWbm3 - XywYH3Ht5qjma9lOGDnWotaBazbCgA9wWmnghwPETwB/9XYtrUTuEu3YWGvpJ5bw - KY+Fak5QzSQD5VtQec1hGoRU7O6rclRGhe/2mF3lssmCwYolkYqZYOyxrhWrtnb9 - HYx5ODihDBI5p6mgVhVsb5l7hJdM1qSCRmqk//CNoMUEBftqjKGKf6/c6OPRikr4 - 3KPPeyqBM85WNT0WbEmcKsPyDqd9UL26RHg6EDsP3pzGEZxgpgvHLWRw5fYfQQJY - rIb/+hbkl51CcJICUh0qiKST/5G78InwOVsAG88X3tK6QQYx3rl6TjD07JL/9Fow - EiSpQRyJaZM/GpbFdEJJN0ic/xnbSdS0SU7G6iuodn/XJQGkbTyfwa3ZQ7KFNATS - XgE74wKyqFmcG0kD6bIR/nxVnVKJBAqzvwIZrFbNdtK+TiaSXfLFKO89MP7fwA3f - w+TwIsvbx70sa/Icxjhzx5WfLUzTFuJiD/N41osLnfRPNLI2gtMw+Sk0b7Tv99w= - =gkl/ - -----END PGP MESSAGE----- - fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55 - - created_at: "2026-10-08T12:18:55Z" - enc: |- - -----BEGIN PGP MESSAGE----- - - hQIMA46L6MuPqfJqARAAqw9fVa37NNtVI47ezmuNPHENvQMT5a2Ci3JXAHe4PqtU - J32K5G6kmKSQ0yiuEvJRebSgM5AmCX8yn3Wq0E1titURVbsyazVYWvxoFhm0uvyP - +0cD/HthRUUvnMGOVcFT4rtH83nrc50xvjAWvIRD7ey7ZnwYybJBSKmnIuEtWVlg - JRY3pCHmacEZER4P4zhPm4I2QhcxgNFI4EZCo66TPaeSe7q1Ai9ul+wCT74+z7pk - FXSON8SHYWZCTEXfOrv6U029xuEQRzu4ScvVsAHVsTtZ75b+7CuEwRv9qhpwsLHd - 5vwrskhgD90TJ4JDdb3jeeTaqZoqmO02jhfXOdVR1lrQfYnK6qV9Y7gQxkdgw7Jx - Tus56EtLQvp/Z8Uw183oawe6WGnltSTHmShuvUMmwHgtUKWUw0LCHZYRKWmp5LCr - BBDZ5a5dnROVOJQjQq9vZMyg/HDT/OSE5YnfGuwBxkKcR11HKqwwFyu/MUasaVr4 - B02gq8ahcEuXt9EeNDyb+pVCo1c7ws2e0X2zpzAVp49R8LQemicLWJlzEZ0/1D9W - WnYS15dPVjBUutBbWw4PeDaRkMsz/QKygWT5eUGdl1NaWtLfQ4GKIJW1M8qqphKX - e2H1aF5m7qi0ITH3Rol54muHRdkSppfofp04UJl7UI5nxnREHyq2Y9w35BEuBdDS - XgGpZd1cam7KeQFJs45KHKVwceVOpzh8isCd9BrDTPZC4yldaZ9mp9m2c9B9zTxL - /C3DtJ1Gn0dzi/+ILMmY/3cAdS1a+4pmeQIHSRTL0pIHIpzG0fiGQw/Ai4s+qI4= - =kFby - -----END PGP MESSAGE----- - fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A - - created_at: "2026-10-08T12:18:55Z" - enc: |- - -----BEGIN PGP MESSAGE----- - - hF4DQrf1tCqiJxoSAQdAJH8Ygdx14onZM1SnDCTN1O6x9OmgRgzTEbI6qPNUclEw - HgLaTV80+rFn/ujuPfPyAiTM3XofVd1d8x+jHbjg/craf5cqz0plOfgsdFetKn6+ - 0l4BW9eo3BLtz5eL0UA+loM74k5tcntEYV9haS4KV+q0HQz39MkBgJoilBfxu/qx - gMfvWmyEYyMv+IgYlPbxkkudgpYRvA7hStpjpDOPtQmJoAZ3/MSUZulJZQVoauyk - =SWSm - -----END PGP MESSAGE----- - fp: B71138A6A8964A3C3B8899857B4F70C356765BAB - - created_at: "2026-10-08T12:18:55Z" - enc: |- - -----BEGIN PGP MESSAGE----- - - hF4DzAGzViGx4qcSAQdA8TY0wRPRbBddfSbKOg3IC5WrQ3bWrQhnAolz58UO80Iw - yJy4w50zMmD0cVo2l6lXdH0BFsEdIRJSYGdCln2hFIT3Sc45I9N6XtOI1HTgZQVb - 0lgBafSzV6bjtbwa38Us6Rj8IeAw2gCclgLvoDgTYzw6HJ/BsnTfXCUQ9I/rVWuO - b6Be+eiYZZ49c2TsgSSJWFlZftM1dJXvKMK9TnbRxqES7Qbv6vklA9yD - =dpIh - -----END PGP MESSAGE----- - fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD - - created_at: "2026-10-08T12:18:55Z" - enc: |- - -----BEGIN PGP MESSAGE----- - - hQIMA2pVdGTIrZI+AQ/9HrbbnAxvHFakxFXG6Ol7u6N4m872b6bCTo7gIF5z25yB - gstxCI1N8UL2kbbnHRb9WpJzJvkuwgnEnlB7zgf60g3bxD/L4uqSVVQ6M4rOUCp+ - 1TE4laYekMc1rHVEE4OLLC0yLmgTlD5M2not7aMZBigHMYkeqQFIlGrG2eIqIaPc - CYTnofD/AF8CkG7N3mCIv6Ssd/3DIugeRVnrJnOjQV3IzxLuetgYh328rb5mFoXX - gSOZSr++q6/1/8xUG51k/cp02hiZ3zWhRcZCmxLRJyiJem4StTgIZZCyWnQjJH14 - i3+S1k6QXGMQ6kpRvpaChLLHbgHI0lXPQ5xoTA3WTT51S+tOiyiRdxUJ8qGq24vc - cNURS6JkRqaLSUnihSF6/ARargknRgVeKAZk9YEnanx5Me4ItTf3gTip7ublwIxE - E+Xvk6S7E7iYpL+gw4Iilu65IW+vyDNorY+RmsHEpPMeuv48USvKF/zj7TyXvXcS - DZvTNxryKpWoeA4LzGqJ8VcEIZU00AS0UectnfwNCBBbC9OpP56lXphjyjbFDP/P - e3SSy1+oTs1/cUcm1HXusZt6MdlA+du0I78ALw+krioFK1TpPkqyQ6ZQoAla1+Hp - 4kyK9tQN9idnPlmKFJieuY6ZOLky9+MktSDDoL3/cqAHqje25LDpocq0EkBUiMHU - aAEJAhD+JlpnuW7EM9qYKAIN5lmiP7K0QbYyhfOYkswxmroGjtX+my5SQqxxr1MG - hJnzY7sYCateW5NkRm+PIAJOgZlCCHLPc5Y/lTmQwMioTe6o5z4BnQKSkpIONCQv - S+jtdlST1LjD - =hfRq - -----END PGP MESSAGE----- - fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533 - - created_at: "2026-10-08T12:18:55Z" - enc: |- - -----BEGIN PGP MESSAGE----- - - hF4DKKbvh61jX5USAQdAuJWl9BzoG4EgrKSWnaV8Q6syp6UK2cAd9LSZdcYl9k0w - FIXutszrxUFVq7+26KMogiSRn6D+MNF7+ECDV6HUMqSQKFi78xzvTsE2nSIcdhV+ - 1GgBCQIQivn/rlA7N4tsBFG0EYqTczeco9ujSh7s94l9Tgbd6vi5yTjY+M6dGQkk - s1C9k22rcMjeoeumUNZeY8gqh+IoEZyUDGk+faUf4TrXFc9Fmgxc6ME60U0t5Tnr - Aa5A2xoopylZeQ== - =DeqF - -----END PGP MESSAGE----- - fp: 41FFAF3D519CF5C039FBD8414BCC213729AF0E49 - unencrypted_suffix: _unencrypted - version: 3.13.3 diff --git a/inventories/chaosknoten/host_vars/matrix-sync.yaml b/inventories/chaosknoten/host_vars/matrix-sync.yaml deleted file mode 100644 index 5b845582..00000000 --- a/inventories/chaosknoten/host_vars/matrix-sync.yaml +++ /dev/null @@ -1 +0,0 @@ -# tbd diff --git a/inventories/chaosknoten/host_vars/tickets.sops.yaml b/inventories/chaosknoten/host_vars/tickets.sops.yaml index b451afdd..7521f4a5 100644 --- a/inventories/chaosknoten/host_vars/tickets.sops.yaml +++ b/inventories/chaosknoten/host_vars/tickets.sops.yaml @@ -1,6 +1,5 @@ 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] -secret__pretix_mail_password: ENC[AES256_GCM,data:yfL9TPecle4w5JABIzGbNw==,iv:JTQwnEBk1YvEvHtIk/5PC2G9X/04ncQ379mE8PvHMu0=,tag:hzx1bTI9PT02ufiwh9+2AQ==,type:str] sops: age: - enc: | @@ -32,8 +31,8 @@ sops: S6YZaINfBuh5/Y/CxmHGs97+KYo/WS//Uf06IK2M6/P2Q4eZ9mgthg== -----END AGE ENCRYPTED FILE----- recipient: age16znyzvquuy8467gg27mdwdt8k6kcu3fjrvfm6gnl4nmqp8tuvqaspqgcet - lastmodified: "2026-10-04T13:04:29Z" - mac: ENC[AES256_GCM,data:Iz18EJDX2C2I04JLasbpeele5M7XfmfalsNrz8NMQs2njdwFc0DoHtgUH2CgWcLLxmV3vLygzYYgJQKUXhInNf3H2NQn3vVee2LviayGM9GLOwoqAbK4qhGAmvOUPin1e55q+OmH37aE8AtMYUWAj5Fz1phWHvTbumNCgJ/hr78=,iv:FnkIsg+FgbrIHQD6xAvU0GisX5Q5+eznEyvPMDSoYpI=,tag:0cK3EJ0gVuXEarTHPXWejw==,type:str] + lastmodified: "2025-10-20T18:55:55Z" + mac: ENC[AES256_GCM,data:8OYQB3sIlIStuKPIkDRkeOcIPNEsMYENgyQ44DvvQNkR3lU8lHzyR2zL6HiO/zXF4hXeLUZSqcyH2jU61mEKr1kNFpA49BlYsxuPSOADJURhG2P9oUrc9hi2JL6KtwdRtvTcQB16YRVmhXgt0MLAmyAFc8V3CI6O5wfuEKLkmM4=,iv:dpJCVGga5FnTkCQlouUh0de+6wSW9Dif5Ft/aCf2mCk=,tag:/9m3rCWIhd5jyXXpmIb4jA==,type:str] pgp: - created_at: "2026-09-24T19:54:23Z" enc: |- @@ -186,4 +185,4 @@ sops: -----END PGP MESSAGE----- fp: 41FFAF3D519CF5C039FBD8414BCC213729AF0E49 unencrypted_suffix: _unencrypted - version: 3.13.3 + version: 3.11.0 diff --git a/inventories/chaosknoten/host_vars/wiki.yaml b/inventories/chaosknoten/host_vars/wiki.yaml index bde1e49e..716547dd 100644 --- a/inventories/chaosknoten/host_vars/wiki.yaml +++ b/inventories/chaosknoten/host_vars/wiki.yaml @@ -1,10 +1,13 @@ nginx__version_spec: "" nginx__configurations: + - name: wiki.ccchh.net + content: "{{ lookup('ansible.builtin.file', 'resources/chaosknoten/wiki/nginx/wiki.ccchh.net.conf') }}" - name: wiki.hamburg.ccc.de content: "{{ lookup('ansible.builtin.file', 'resources/chaosknoten/wiki/nginx/wiki.hamburg.ccc.de.conf') }}" certbot__acme_account_email_address: j+letsencrypt-ccchh@jsts.xyz certbot__certificate_domains: + - "wiki.ccchh.net" - "wiki.hamburg.ccc.de" certbot__new_cert_commands: - "systemctl reload nginx.service" diff --git a/inventories/chaosknoten/hosts.yaml b/inventories/chaosknoten/hosts.yaml index 8880311e..7d641ae3 100644 --- a/inventories/chaosknoten/hosts.yaml +++ b/inventories/chaosknoten/hosts.yaml @@ -104,10 +104,6 @@ all: ansible_host: forgejo-runner-external.hosts.hamburg.ccc.de ansible_user: chaos ansible_ssh_common_args: -J ssh://chaos@router.hamburg.ccc.de - matrix-sync: - ansible_host: matrix-sync.hosts.hamburg.ccc.de - ansible_user: chaos - ansible_ssh_common_args: -J ssh://chaos@router.hamburg.ccc.de hypervisors: hosts: chaosknoten: @@ -122,7 +118,6 @@ base_config_hosts: jitsi: keycloak: lists: - matrix-sync: mumble: netbox: onlyoffice: @@ -146,7 +141,6 @@ systemd_networkd_hosts: router: nftables_hosts: hosts: - jitsi: router: docker_compose_hosts: hosts: @@ -264,9 +258,6 @@ wiki_hosts: netbox_hosts: hosts: netbox: -jitsi_hosts: - hosts: - jitsi: proxmox_vm_template_hosts: hosts: chaosknoten: diff --git a/inventories/z9/host_vars/dooris.yaml b/inventories/z9/host_vars/dooris.yaml index 12b750b8..3f786aca 100644 --- a/inventories/z9/host_vars/dooris.yaml +++ b/inventories/z9/host_vars/dooris.yaml @@ -2,6 +2,6 @@ dooris__hostname: "dooris.ccchh.net" dooris__openid_client_id: "dooris" dooris__ccujack_user: "dooris" dooris__spaceapid_user: "dooris" -dooris__main_lock: "Hauptraum" +dooris__main_lock: ~ # add "Hautpraum" once we have built it certbot__acme_account_email_address: le-admin@hamburg.ccc.de diff --git a/playbooks/deploy.yaml b/playbooks/deploy.yaml index fd86de91..2a1498ac 100644 --- a/playbooks/deploy.yaml +++ b/playbooks/deploy.yaml @@ -110,13 +110,6 @@ tags: - docker_compose -- name: Ensure Jitsi deployment on jitsi_hosts - hosts: jitsi_hosts - roles: - - jitsi - tags: - - jitsi - - name: Ensure NGINX deployment on nginx_hosts hosts: nginx_hosts:!public_reverse_proxy_hosts roles: diff --git a/resources/chaosknoten/acmedns/docker_compose/compose.yaml.j2 b/resources/chaosknoten/acmedns/docker_compose/compose.yaml.j2 index 0100577c..2553f4d7 100644 --- a/resources/chaosknoten/acmedns/docker_compose/compose.yaml.j2 +++ b/resources/chaosknoten/acmedns/docker_compose/compose.yaml.j2 @@ -2,7 +2,7 @@ services: oauth2-proxy: container_name: oauth2-proxy - image: quay.io/oauth2-proxy/oauth2-proxy:v7.15.5 + image: quay.io/oauth2-proxy/oauth2-proxy:v7.15.3 command: --config /oauth2-proxy.cfg hostname: oauth2-proxy volumes: diff --git a/resources/chaosknoten/auth-dns/zones/ccchh.net.zone b/resources/chaosknoten/auth-dns/zones/ccchh.net.zone index c60074a9..e5c1d251 100644 --- a/resources/chaosknoten/auth-dns/zones/ccchh.net.zone +++ b/resources/chaosknoten/auth-dns/zones/ccchh.net.zone @@ -79,7 +79,7 @@ hp-color A 10.89.209.28 club-assistant A 10.89.213.22 AAAA 2a07:c481:1:36::32 -_acme-challenge.club-assistant CNAME d50ad73a-f82d-4244-87f0-6f5195b37d21.auth.acmedns.hamburg.ccc.de. +_acme-challenge.club-assistant CNAME d50ad73a-f82d-4244-87f0-6f5195b37d21.auth.acmedns.hamburg.ccc.de esphome A 10.89.212.210 @@ -139,7 +139,6 @@ waybackproxy A 10.89.212.33 alnair A 10.89.210.23 TXT "Sun SparcStation 4 Retro" -ptouch-print-server A 10.89.208.14 ; ; Public Club Services ; diff --git a/resources/chaosknoten/auth-dns/zones/hamburg.ccc.de.zone b/resources/chaosknoten/auth-dns/zones/hamburg.ccc.de.zone index 202bd495..5cdb7a8f 100644 --- a/resources/chaosknoten/auth-dns/zones/hamburg.ccc.de.zone +++ b/resources/chaosknoten/auth-dns/zones/hamburg.ccc.de.zone @@ -512,7 +512,6 @@ public-web-static.hosts IN AAAA 2a00:14b0:42:102::17 forgejo-actions-runner.hosts IN AAAA 2a00:14b0:42:102::18 forgejo-runner.hosts IN AAAA 2a00:14b0:42:102::19 forgejo-runner-external.hosts IN AAAA 2a00:14b0:42:102::1a -matrix-sync.hosts IN AAAA 2a00:14b0:42:102::1b ; acme-challenges _acme-challenge.sunders CNAME a5ee8a99-3cdf-4212-972e-c0b6fda1242f.auth.acmedns diff --git a/resources/chaosknoten/grafana/docker_compose/compose.yaml.j2 b/resources/chaosknoten/grafana/docker_compose/compose.yaml.j2 index 3405a419..05d1c7e5 100644 --- a/resources/chaosknoten/grafana/docker_compose/compose.yaml.j2 +++ b/resources/chaosknoten/grafana/docker_compose/compose.yaml.j2 @@ -59,7 +59,7 @@ services: - /dev/null:/etc/prometheus/pve.yml loki: - image: docker.io/grafana/loki:3.7.9 + image: docker.io/grafana/loki:3.7.8 container_name: loki ports: - 13100:3100 diff --git a/resources/chaosknoten/grafana/docker_compose/prometheus.yml b/resources/chaosknoten/grafana/docker_compose/prometheus.yml index c631ad06..7f94ab04 100644 --- a/resources/chaosknoten/grafana/docker_compose/prometheus.yml +++ b/resources/chaosknoten/grafana/docker_compose/prometheus.yml @@ -44,6 +44,15 @@ scrape_configs: - mumble.hamburg.ccc.de:443 labels: org: ccchh + - job_name: opnsense-ccchh + honor_timestamps: true + metrics_path: /metrics + scheme: http + static_configs: + - targets: + - 185.161.129.132:9100 + labels: + org: ccchh - job_name: jitsi honor_timestamps: true scrape_interval: 5s diff --git a/resources/chaosknoten/jitsi/nftables/nftables.conf b/resources/chaosknoten/jitsi/nftables/nftables.conf deleted file mode 100644 index 0c239986..00000000 --- a/resources/chaosknoten/jitsi/nftables/nftables.conf +++ /dev/null @@ -1,65 +0,0 @@ -#!/usr/sbin/nft -f - -# Docker manages its own tables (via iptables-nft), so don't use "flush ruleset" here, -# but only replace our own table. This also means that a reload is fine, but stopping -# or restarting nftables.service (which flushes the whole ruleset) requires restarting -# Docker afterwards. -# Traffic to ports published by Docker containers (web, JVB, exporter) gets DNATed in -# prerouting and therefore passes the forward hook instead of the input hook. - -## Variables - -define if_wan = "ens18" - -# Prometheus on grafana (IPv4 via the NAT of router) -define prometheus_v4 = { 212.12.48.123 } -define prometheus_v6 = { 2a00:14b0:42:102::e } - -## Rules - -table inet host_filter -delete table inet host_filter - -table inet host_filter { - # Runs before Docker's DNAT, so this also applies to ports published by containers. - chain prerouting { - type filter hook prerouting priority dstnat - 10; policy accept; - - iifname $if_wan tcp dport 9888 ip saddr $prometheus_v4 accept comment "jitsi exporter (container)" - iifname $if_wan tcp dport 9888 ip6 saddr $prometheus_v6 accept comment "jitsi exporter (container)" - iifname $if_wan tcp dport 9888 drop - } - - chain input { - type filter hook input priority filter; policy drop; - - iifname "lo" accept - ct state invalid drop - ct state established,related accept - - # ICMPv6 is needed for neighbour discovery etc. - meta l4proto ipv6-icmp accept - meta l4proto icmp accept - - # Docker networks - iifname { "docker0", "br-*" } accept - - tcp dport 22 accept comment "ssh" - - # Ports published by containers normally get DNATed and never reach the input - # hook, but they do when handled by docker-proxy (e.g. for IPv6 without IPv6 - # enabled on the Docker network). - tcp dport { 80, 443 } accept comment "jitsi web (container)" - udp dport 10000 accept comment "jitsi jvb (container)" - - # coturn (runs in the host network namespace) - udp dport 3478 accept comment "turn" - tcp dport 3478 accept comment "turn" - tcp dport 5349 accept comment "turns" - udp dport 5349 accept comment "turns (dtls)" - udp dport 49152-65535 accept comment "turn relay ports" - - tcp dport { 9100, 9888 } ip saddr $prometheus_v4 accept comment "node exporter, jitsi exporter (container)" - tcp dport { 9100, 9888 } ip6 saddr $prometheus_v6 accept comment "node exporter, jitsi exporter (container)" - } -} diff --git a/resources/chaosknoten/jitsi/web/background.svg b/resources/chaosknoten/jitsi/web/background.svg deleted file mode 100644 index 15f8531a..00000000 --- a/resources/chaosknoten/jitsi/web/background.svg +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - - - - diff --git a/resources/chaosknoten/jitsi/web/branding.json b/resources/chaosknoten/jitsi/web/branding.json deleted file mode 100644 index acb28508..00000000 --- a/resources/chaosknoten/jitsi/web/branding.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "logoImageUrl": "https://jitsi.hamburg.ccc.de/images/watermark.svg", - "logoClickUrl": "https://hamburg.ccc.de/", - "backgroundImageUrl": "https://jitsi.hamburg.ccc.de/images/ccchh-background.svg" -} diff --git a/resources/chaosknoten/jitsi/web/ccchh-logo.svg b/resources/chaosknoten/jitsi/web/ccchh-logo.svg deleted file mode 100644 index 84abd70e..00000000 --- a/resources/chaosknoten/jitsi/web/ccchh-logo.svg +++ /dev/null @@ -1,5 +0,0 @@ - - -Chaos Computer Club Hamburg Logo - - diff --git a/resources/chaosknoten/jitsi/web/round-logo.svg b/resources/chaosknoten/jitsi/web/round-logo.svg deleted file mode 100644 index 9d139ddc..00000000 --- a/resources/chaosknoten/jitsi/web/round-logo.svg +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/resources/chaosknoten/jitsi/web/welcomePageAdditionalContent.html b/resources/chaosknoten/jitsi/web/welcomePageAdditionalContent.html deleted file mode 100644 index 982f09ef..00000000 --- a/resources/chaosknoten/jitsi/web/welcomePageAdditionalContent.html +++ /dev/null @@ -1,13 +0,0 @@ - diff --git a/resources/chaosknoten/keycloak/docker_compose/compose.yaml.j2 b/resources/chaosknoten/keycloak/docker_compose/compose.yaml.j2 index 524b67eb..72d02544 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.7.5 + image: git.hamburg.ccc.de/ccchh/oci-images/keycloak:26.7.4 pull_policy: always restart: unless-stopped command: start --optimized diff --git a/resources/chaosknoten/onlyoffice/docker_compose/compose.yaml.j2 b/resources/chaosknoten/onlyoffice/docker_compose/compose.yaml.j2 index cda2ca0e..58dddb22 100644 --- a/resources/chaosknoten/onlyoffice/docker_compose/compose.yaml.j2 +++ b/resources/chaosknoten/onlyoffice/docker_compose/compose.yaml.j2 @@ -4,7 +4,7 @@ services: onlyoffice: - image: docker.io/onlyoffice/documentserver:10.0.0 + image: docker.io/onlyoffice/documentserver:9.4.0 restart: unless-stopped volumes: - "./onlyoffice/DocumentServer/logs:/var/log/onlyoffice" diff --git a/resources/chaosknoten/pad/nginx/pad.hamburg.ccc.de.conf b/resources/chaosknoten/pad/nginx/pad.hamburg.ccc.de.conf index 493fac53..cf49d232 100644 --- a/resources/chaosknoten/pad/nginx/pad.hamburg.ccc.de.conf +++ b/resources/chaosknoten/pad/nginx/pad.hamburg.ccc.de.conf @@ -14,8 +14,6 @@ server { server_name pad.hamburg.ccc.de; - client_max_body_size 100m; - ssl_certificate /etc/letsencrypt/live/pad.hamburg.ccc.de/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/pad.hamburg.ccc.de/privkey.pem; # verify chain of trust of OCSP response using Root CA and Intermediate certs diff --git a/resources/chaosknoten/pretalx/docker_compose/compose.yaml.j2 b/resources/chaosknoten/pretalx/docker_compose/compose.yaml.j2 index 4538ede7..0d5e34ec 100644 --- a/resources/chaosknoten/pretalx/docker_compose/compose.yaml.j2 +++ b/resources/chaosknoten/pretalx/docker_compose/compose.yaml.j2 @@ -23,7 +23,7 @@ services: - pretalx_net static: - image: docker.io/library/nginx:1.31.8 + image: docker.io/library/nginx:1.31.6 restart: unless-stopped volumes: - public:/usr/share/nginx/html diff --git a/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf b/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf index 414f8ca4..be0a2665 100644 --- a/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf +++ b/resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf @@ -27,6 +27,7 @@ map $host $upstream_acme_challenge_host { pad.hamburg.ccc.de pad.hosts.hamburg.ccc.de:31820; spaceapi.hamburg.ccc.de public-web-static.hosts.hamburg.ccc.de:31820; staging.hamburg.ccc.de public-web-static.hosts.hamburg.ccc.de:31820; + wiki.ccchh.net wiki.hosts.hamburg.ccc.de:31820; wiki.hamburg.ccc.de wiki.hosts.hamburg.ccc.de:31820; www.hamburg.ccc.de public-web-static.hosts.hamburg.ccc.de:31820; tickets.hamburg.ccc.de tickets.hosts.hamburg.ccc.de:31820; @@ -88,7 +89,6 @@ map $host $upstream_acme_challenge_host { staging.infra-docs.hamburg.ccc.de public-web-static.hosts.hamburg.ccc.de:31820; didays.de public-web-static.hosts.hamburg.ccc.de:31820; staging.didays.de public-web-static.hosts.hamburg.ccc.de:31820; - www.didays.de public-web-static.hosts.hamburg.ccc.de:31820; ueberwachungsfrei.eu public-web-static.hosts.hamburg.ccc.de:31820; überwachungsfrei.eu public-web-static.hosts.hamburg.ccc.de:31820; xn--berwachungsfrei-yvb.eu public-web-static.hosts.hamburg.ccc.de:31820; diff --git a/resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf b/resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf index 0ec2967f..04b310a1 100644 --- a/resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf +++ b/resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf @@ -29,6 +29,7 @@ stream { invite.hamburg.ccc.de keycloak.hosts.hamburg.ccc.de:8443; keycloak-admin.hamburg.ccc.de keycloak.hosts.hamburg.ccc.de:8443; grafana.hamburg.ccc.de grafana.hosts.hamburg.ccc.de:8443; + 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 public-web-static.hosts.hamburg.ccc.de:8443; @@ -112,7 +113,6 @@ stream { staging.infra-docs.hamburg.ccc.de public-web-static.hosts.hamburg.ccc.de:8443; didays.de public-web-static.hosts.hamburg.ccc.de:8443; staging.didays.de public-web-static.hosts.hamburg.ccc.de:8443; - www.didays.de public-web-static.hosts.hamburg.ccc.de:8443; ueberwachungsfrei.eu public-web-static.hosts.hamburg.ccc.de:8443; überwachungsfrei.eu public-web-static.hosts.hamburg.ccc.de:8443; xn--berwachungsfrei-yvb.eu public-web-static.hosts.hamburg.ccc.de:8443; diff --git a/resources/chaosknoten/sunders/docker_compose/compose.yaml.j2 b/resources/chaosknoten/sunders/docker_compose/compose.yaml.j2 index 0e3d5e59..8ee08bab 100644 --- a/resources/chaosknoten/sunders/docker_compose/compose.yaml.j2 +++ b/resources/chaosknoten/sunders/docker_compose/compose.yaml.j2 @@ -3,7 +3,7 @@ services: db: - image: mariadb:12.3.3 + image: mariadb:12.3.2 command: --max_allowed_packet=3250585600 environment: MYSQL_ROOT_PASSWORD: "{{ secret__sunders_db_root_password }}" diff --git a/resources/chaosknoten/tickets/docker_compose/compose.yaml.j2 b/resources/chaosknoten/tickets/docker_compose/compose.yaml.j2 index 28cef213..9eac87ca 100644 --- a/resources/chaosknoten/tickets/docker_compose/compose.yaml.j2 +++ b/resources/chaosknoten/tickets/docker_compose/compose.yaml.j2 @@ -25,7 +25,7 @@ services: backend: pretix: - image: docker.io/pretix/standalone:2026.8 + image: docker.io/pretix/standalone:2026.7 command: ["all"] ports: - "8345:80" diff --git a/resources/chaosknoten/tickets/docker_compose/pretix.cfg.j2 b/resources/chaosknoten/tickets/docker_compose/pretix.cfg.j2 index 483e1a21..f1c119f9 100644 --- a/resources/chaosknoten/tickets/docker_compose/pretix.cfg.j2 +++ b/resources/chaosknoten/tickets/docker_compose/pretix.cfg.j2 @@ -15,12 +15,7 @@ host=database [mail] from=tickets@hamburg.ccc.de -host=cow.hamburg.ccc.de -port=587 -tls=on -user=tickets@hamburg.ccc.de -password={{ secret__pretix_mail_password }} - +host=cow-intern.hamburg.ccc.de [redis] location=redis://redis/0 diff --git a/resources/chaosknoten/wiki/nginx/wiki.ccchh.net.conf b/resources/chaosknoten/wiki/nginx/wiki.ccchh.net.conf new file mode 100644 index 00000000..d89b5b88 --- /dev/null +++ b/resources/chaosknoten/wiki/nginx/wiki.ccchh.net.conf @@ -0,0 +1,26 @@ +# 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 wiki.ccchh.net; + + ssl_certificate /etc/letsencrypt/live/wiki.ccchh.net/fullchain.pem; + ssl_certificate_key /etc/letsencrypt/live/wiki.ccchh.net/privkey.pem; + # verify chain of trust of OCSP response using Root CA and Intermediate certs + ssl_trusted_certificate /etc/letsencrypt/live/wiki.ccchh.net/chain.pem; + + # 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/external/status/docker_compose/config/services-chaosknoten.yaml b/resources/external/status/docker_compose/config/services-chaosknoten.yaml index bd9aba8b..aea633a1 100644 --- a/resources/external/status/docker_compose/config/services-chaosknoten.yaml +++ b/resources/external/status/docker_compose/config/services-chaosknoten.yaml @@ -262,7 +262,7 @@ endpoints: conditions: - "[STATUS] == 200" - "[CERTIFICATE_EXPIRATION] > 48h" - - "[BODY] == pat(*ONLYOFFICE Docs installed successfully*)" + - "[BODY] == pat(*ONLYOFFICE Docs Community Edition installed*)" - name: Pad url: "https://pad.hamburg.ccc.de/" diff --git a/resources/external/status/docker_compose/config/websites.yaml b/resources/external/status/docker_compose/config/websites.yaml index 3962b51f..ed1ae536 100644 --- a/resources/external/status/docker_compose/config/websites.yaml +++ b/resources/external/status/docker_compose/config/websites.yaml @@ -90,7 +90,7 @@ endpoints: conditions: - "[STATUS] == 200" - "[CERTIFICATE_EXPIRATION] > 48h" - - "[BODY] == pat(*Kommende Events*)" + - "[BODY] == pat(*Digitale Unabhängigkeit*)" - name: element-admin.hamburg.ccc.de url: "https://element-admin.hamburg.ccc.de" @@ -224,14 +224,6 @@ endpoints: - "[CERTIFICATE_EXPIRATION] > 48h" - "[BODY] == pat(*Digitale Selbstverteidigung in Hamburg*)" - - name: www.didays.de - url: "https://www.didays.de" - <<: *websites_redirects_defaults - conditions: - - "[STATUS] == 200" - - "[CERTIFICATE_EXPIRATION] > 48h" - - "[BODY] == pat(*Kommende Events*)" - - name: local.ccc.de url: "https://local.ccc.de" <<: *websites_redirects_defaults diff --git a/roles/dokuwiki/README.md b/roles/dokuwiki/README.md index f5af03f4..b6bd80db 100644 --- a/roles/dokuwiki/README.md +++ b/roles/dokuwiki/README.md @@ -9,8 +9,8 @@ Please download it from https://download.dokuwiki.org. The following distributions are supported: +- Debian 11 - Debian 12 -- Debian 13 ## Required Arguments diff --git a/roles/dokuwiki/tasks/main.yml b/roles/dokuwiki/tasks/main.yml index 239803ee..8c836ce0 100644 --- a/roles/dokuwiki/tasks/main.yml +++ b/roles/dokuwiki/tasks/main.yml @@ -12,24 +12,6 @@ - git diff: false -- name: Configure php.ini for php-fpm - become: true - block: - - name: Ensure `session.use_strict_mode` is enabled via php.ini - ansible.builtin.lineinfile: - path: /etc/php/8.4/fpm/php.ini - regexp: '^session\.use_strict_mode' - line: 'session.use_strict_mode = 1' - state: present - - - name: Ensure `session.upload_progress.enabled` is disabled via php.ini - become: true - ansible.builtin.lineinfile: - path: /etc/php/8.4/fpm/php.ini - regexp: '^session\.upload_progress\.enabled' - line: 'session.upload_progress.enabled = Off' - state: present - - name: Ensure `php-fpm` is enabled become: true ansible.builtin.systemd: diff --git a/roles/dokuwiki/vars/main.yml b/roles/dokuwiki/vars/main.yml index 50d2c9a4..df94cfd4 100644 --- a/roles/dokuwiki/vars/main.yml +++ b/roles/dokuwiki/vars/main.yml @@ -1,4 +1,4 @@ --- dokuwiki__php_versions: - Debian-13: "8.4" + Debian-11: "7.4" Debian-12: "8.2" diff --git a/roles/jitsi/README.md b/roles/jitsi/README.md deleted file mode 100644 index b3392c6a..00000000 --- a/roles/jitsi/README.md +++ /dev/null @@ -1,70 +0,0 @@ -# Role `jitsi` - -A role for deploying [Jitsi Meet](https://jitsi.org/) using the official [docker-jitsi-meet](https://github.com/jitsi/docker-jitsi-meet) release. - -The given release is downloaded and unpacked unmodified to `/opt/jitsi/releases/` and `/opt/jitsi/release` is pointed to it. -The `.env` file at `/opt/jitsi/.env` is fully managed by this role; `env.example` and `gen-passwords.sh` of the release are not used. -The `.env` also sets `COMPOSE_PROJECT_NAME` and `COMPOSE_FILE`, so `docker compose` can be run by hand in `/opt/jitsi`. -The Jitsi configuration directory (`CONFIG`) is `/opt/jitsi/config`, with persistent state in `/opt/jitsi/config/storage/`. -The image version (`JITSI_IMAGE_VERSION`) always equals the release version, so upgrading means bumping `jitsi__version`. -Releases other than the configured one are removed. - -TLS certificates are obtained by the web container itself using Let's Encrypt, so ports 80/tcp and 443/tcp as well as 10000/udp (media) must be reachable. - -Optionally, a [coturn](https://github.com/coturn/coturn) TURN server and the [Prometheus Jitsi Meet exporter](https://github.com/systemli/prometheus-jitsi-meet-exporter) are deployed as additional services of the same Compose project, defined in `/opt/jitsi/compose.override.yaml`. -coturn uses the certificate obtained by the web container and is restarted weekly to pick up renewals. -It needs 3478/udp+tcp, 5349/tcp and the relay port range 49152-65535/udp to be reachable. -The exporter scrapes the JVB statistics and listens on port 9888. - -Files can be added to or replaced in the Jitsi Meet web root (`/usr/share/jitsi-meet` in the web container) using `jitsi__web_files`, e.g. for branding. -They are deployed to `/opt/jitsi/web-files/` and bind-mounted into the web container. - -## Supported Distributions - -Should work on Debian-based distributions. - -## Required Arguments - -- `jitsi__version`: The docker-jitsi-meet release to deploy, e.g. `stable-11248`. -- `jitsi__domain`: The domain Jitsi is served on. Used for `PUBLIC_URL` and the Let's Encrypt certificate. -- `jitsi__letsencrypt_email`: The e-mail address for the Let's Encrypt account. -- `jitsi__jicofo_auth_password`: XMPP password for Jicofo. Generate using `openssl rand -hex 16`. -- `jitsi__jvb_auth_password`: XMPP password for the JVB. Generate using `openssl rand -hex 16`. - -## Optional Arguments - -- `jitsi__timezone`: The time zone for the containers. - Defaults to `Europe/Berlin`. -- `jitsi__jvb_advertise_ips`: List of IP addresses the JVB should advertise for media. - IPv4 addresses are put into `JVB_ADVERTISE_IPS`, which docker-jitsi-meet maps to the IPv4 address of the JVB container. - IPv6 addresses are mapped to the IPv6 address of the JVB container in `custom-jvb.conf` instead, for which the `meet.jitsi` network gets a fixed IPv6 subnet and the JVB a fixed IPv6 address. - Defaults to `[ ]`. -- `jitsi__ipv6_subnet`: The IPv6 subnet of the `meet.jitsi` network, if IPv6 addresses are advertised. - Defaults to `fd4a:7c1e:93b5:1::/64`. -- `jitsi__jvb_ipv6_address`: The IPv6 address of the JVB container within `jitsi__ipv6_subnet`. - Defaults to `fd4a:7c1e:93b5:1::10`. -- `jitsi__whiteboard`: Whether to deploy the Excalidraw whiteboard backend (`whiteboard.yml`). - Defaults to `false`. -- `jitsi__turn`: Whether to deploy coturn and configure Jitsi to use it. - Defaults to `false`. -- `jitsi__turn_secret`: The shared secret between Prosody and coturn. Required if `jitsi__turn` is `true`. - Generate using `openssl rand -hex 32`. -- `jitsi__prometheus_exporter`: Whether to deploy the Prometheus Jitsi Meet exporter on port 9888. - Defaults to `false`. -- `jitsi__env`: Dictionary of additional variables to put into the `.env` file. - See `env.example` of the release and the handbook for available variables. - Defaults to `{ }`. -- `jitsi__custom_config_js`: Content of `custom-config.js`, which gets appended to the generated `config.js`. - Defaults to `""` (no file). -- `jitsi__custom_interface_config_js`: Content of `custom-interface_config.js`, which gets appended to the generated `interface_config.js`. - Defaults to `""` (no file). -- `jitsi__web_files`: List of files to mount into the Jitsi Meet web root. - Defaults to `[ ]`. -- `jitsi__web_files.*.path`: Path relative to the web root, e.g. `images/watermark.svg` or `static/welcomePageAdditionalContent.html`. -- `jitsi__web_files.*.content`: The content of the file. - -## Links & Resources - -- -- -- diff --git a/roles/jitsi/defaults/main.yaml b/roles/jitsi/defaults/main.yaml deleted file mode 100644 index 8532b275..00000000 --- a/roles/jitsi/defaults/main.yaml +++ /dev/null @@ -1,11 +0,0 @@ -jitsi__timezone: Europe/Berlin -jitsi__jvb_advertise_ips: [ ] -jitsi__ipv6_subnet: fd4a:7c1e:93b5:1::/64 -jitsi__jvb_ipv6_address: fd4a:7c1e:93b5:1::10 -jitsi__whiteboard: false -jitsi__turn: false -jitsi__prometheus_exporter: false -jitsi__env: { } -jitsi__custom_config_js: "" -jitsi__custom_interface_config_js: "" -jitsi__web_files: [ ] diff --git a/roles/jitsi/handlers/main.yaml b/roles/jitsi/handlers/main.yaml deleted file mode 100644 index 6f0eb2e3..00000000 --- a/roles/jitsi/handlers/main.yaml +++ /dev/null @@ -1,29 +0,0 @@ -- name: restart jitsi web - community.docker.docker_compose_v2: - project_src: "{{ jitsi__base_dir }}" - project_name: jitsi - files: "{{ jitsi__compose_files }}" - services: - - web - state: restarted - become: true - -- name: restart jitsi jvb - community.docker.docker_compose_v2: - project_src: "{{ jitsi__base_dir }}" - project_name: jitsi - files: "{{ jitsi__compose_files }}" - services: - - jvb - state: restarted - become: true - -- name: restart jitsi coturn - community.docker.docker_compose_v2: - project_src: "{{ jitsi__base_dir }}" - project_name: jitsi - files: "{{ jitsi__compose_files }}" - services: - - coturn - state: restarted - become: true diff --git a/roles/jitsi/meta/argument_specs.yaml b/roles/jitsi/meta/argument_specs.yaml deleted file mode 100644 index e2df54fe..00000000 --- a/roles/jitsi/meta/argument_specs.yaml +++ /dev/null @@ -1,77 +0,0 @@ -argument_specs: - main: - options: - jitsi__version: - type: str - required: true - jitsi__domain: - type: str - required: true - jitsi__letsencrypt_email: - type: str - required: true - jitsi__jicofo_auth_password: - type: str - required: true - no_log: true - jitsi__jvb_auth_password: - type: str - required: true - no_log: true - jitsi__timezone: - type: str - required: false - default: Europe/Berlin - jitsi__jvb_advertise_ips: - type: list - elements: str - required: false - default: [ ] - jitsi__ipv6_subnet: - type: str - required: false - default: fd4a:7c1e:93b5:1::/64 - jitsi__jvb_ipv6_address: - type: str - required: false - default: fd4a:7c1e:93b5:1::10 - jitsi__whiteboard: - type: bool - required: false - default: false - jitsi__turn: - type: bool - required: false - default: false - jitsi__turn_secret: - type: str - required: false - no_log: true - jitsi__prometheus_exporter: - type: bool - required: false - default: false - jitsi__env: - type: dict - required: false - default: { } - jitsi__custom_config_js: - type: str - required: false - default: "" - jitsi__custom_interface_config_js: - type: str - required: false - default: "" - jitsi__web_files: - type: list - elements: dict - required: false - default: [ ] - options: - path: - type: str - required: true - content: - type: str - required: true diff --git a/roles/jitsi/meta/main.yaml b/roles/jitsi/meta/main.yaml deleted file mode 100644 index 1fbb2364..00000000 --- a/roles/jitsi/meta/main.yaml +++ /dev/null @@ -1,4 +0,0 @@ ---- -allow_duplicates: false -dependencies: - - role: docker diff --git a/roles/jitsi/tasks/main.yaml b/roles/jitsi/tasks/main.yaml deleted file mode 100644 index 4846ad5a..00000000 --- a/roles/jitsi/tasks/main.yaml +++ /dev/null @@ -1,245 +0,0 @@ -- name: make sure a TURN secret is given, if TURN is enabled - ansible.builtin.assert: - that: - - jitsi__turn_secret is defined - - jitsi__turn_secret | length > 0 - quiet: true - when: jitsi__turn - -- name: make sure the Jitsi base directories exist - ansible.builtin.file: - path: "{{ item }}" - state: directory - mode: "0755" - owner: root - group: root - become: true - loop: - - "{{ jitsi__base_dir }}" - - "{{ jitsi__base_dir }}/releases" - -- name: make sure the docker-jitsi-meet release is present - ansible.builtin.unarchive: - src: "https://github.com/jitsi/docker-jitsi-meet/archive/refs/tags/{{ jitsi__version }}.tar.gz" - remote_src: true - dest: "{{ jitsi__base_dir }}/releases" - creates: "{{ jitsi__release_dir }}/docker-compose.yml" - owner: root - group: root - become: true - -- name: point the `release` symlink to the configured release - ansible.builtin.file: - src: "{{ jitsi__release_dir }}" - dest: "{{ jitsi__base_dir }}/release" - state: link - owner: root - group: root - become: true - -# Configuration read by the containers at startup; managed by Ansible. -- name: make sure the configuration input directories exist - ansible.builtin.file: - path: "{{ jitsi__config_dir }}/{{ item }}" - state: directory - mode: "0755" - owner: root - group: root - become: true - loop: - - "" - - web - - prosody - - prosody/config - - prosody/prosody-plugins-custom - - jicofo - - jvb - - storage - - tmp - -# State written by the containers, which run as uid/gid 1000. -# The certificate directory is created here, as Docker would otherwise create it owned by -# root for the coturn bind mount, before the web container gets to write the certificate. -- name: make sure the storage and tmp directories exist and are writable by the containers - ansible.builtin.file: - path: "{{ jitsi__config_dir }}/{{ item }}" - state: directory - mode: "0750" - owner: "1000" - group: "1000" - become: true - loop: - - storage/prosody - - storage/web - - storage/web/acme-certs - - "storage/web/acme-certs/{{ jitsi__domain }}" - - storage/transcripts - - tmp/web-crontabs - - tmp/web-load-test - -- name: deploy custom web configuration - ansible.builtin.copy: - content: "{{ item.content }}" - dest: "{{ jitsi__config_dir }}/web/{{ item.name }}" - mode: "0644" - owner: root - group: root - become: true - when: item.content != "" - loop: - - name: custom-config.js - content: "{{ jitsi__custom_config_js }}" - - name: custom-interface_config.js - content: "{{ jitsi__custom_interface_config_js }}" - loop_control: - label: "{{ item.name }}" - notify: restart jitsi web - -- name: remove unconfigured custom web configuration - ansible.builtin.file: - path: "{{ jitsi__config_dir }}/web/{{ item.name }}" - state: absent - become: true - when: item.content == "" - loop: - - name: custom-config.js - content: "{{ jitsi__custom_config_js }}" - - name: custom-interface_config.js - content: "{{ jitsi__custom_interface_config_js }}" - loop_control: - label: "{{ item.name }}" - notify: restart jitsi web - -- name: deploy custom JVB configuration - ansible.builtin.template: - src: custom-jvb.conf.j2 - dest: "{{ jitsi__config_dir }}/jvb/custom-jvb.conf" - mode: "0644" - owner: root - group: root - become: true - when: jitsi__jvb_advertise_ipv6s | length > 0 - notify: restart jitsi jvb - -- name: remove unconfigured custom JVB configuration - ansible.builtin.file: - path: "{{ jitsi__config_dir }}/jvb/custom-jvb.conf" - state: absent - become: true - when: jitsi__jvb_advertise_ipv6s | length == 0 - notify: restart jitsi jvb - -- name: make sure the coturn directory exists - ansible.builtin.file: - path: "{{ jitsi__base_dir }}/coturn" - state: "{{ 'directory' if jitsi__turn else 'absent' }}" - mode: "0755" - owner: root - group: root - become: true - -# Readable by uid 1000, which coturn runs as. -- name: deploy the coturn configuration - ansible.builtin.template: - src: turnserver.conf.j2 - dest: "{{ jitsi__base_dir }}/coturn/turnserver.conf" - mode: "0640" - owner: root - group: "1000" - become: true - when: jitsi__turn - notify: restart jitsi coturn - -# coturn doesn't notice the certificate renewed by the web container on its own. -- name: ensure the weekly coturn restart cron job is present - ansible.builtin.cron: - name: "jitsi coturn restart for certificate renewal" - special_time: weekly - job: "cd {{ jitsi__base_dir }} && docker compose restart coturn >/dev/null" - state: "{{ 'present' if jitsi__turn else 'absent' }}" - become: true - -# Files mounted into the web container, replacing or adding to the files of Jitsi Meet. -- name: make sure the directories for the web files exist - ansible.builtin.file: - path: "{{ jitsi__base_dir }}/web-files/{{ item }}" - state: directory - mode: "0755" - owner: root - group: root - become: true - loop: "{{ [''] + (jitsi__web_files | map(attribute='path') | map('dirname') | unique | reject('equalto', '') | list) }}" - -- name: deploy the web files - ansible.builtin.copy: - content: "{{ item.content }}" - dest: "{{ jitsi__base_dir }}/web-files/{{ item.path }}" - mode: "0644" - owner: root - group: root - become: true - loop: "{{ jitsi__web_files }}" - loop_control: - label: "{{ item.path }}" - # Single file bind mounts keep pointing to the replaced file until the container is restarted. - notify: restart jitsi web - -- name: find web files to remove - ansible.builtin.find: - paths: "{{ jitsi__base_dir }}/web-files" - recurse: true - register: jitsi__web_files_found - -- name: remove web files, which should be removed - ansible.builtin.file: - path: "{{ item }}" - state: absent - become: true - loop: "{{ jitsi__web_files_found.files | map(attribute='path') | reject('in', jitsi__web_files_paths) | list }}" - vars: - jitsi__web_files_paths: "{{ jitsi__web_files | map(attribute='path') | map('regex_replace', '^', jitsi__base_dir ~ '/web-files/') | list }}" - -# Changes to these make `docker compose up` below recreate the affected containers. -- name: deploy the compose override file - ansible.builtin.template: - src: compose.override.yaml.j2 - dest: "{{ jitsi__base_dir }}/compose.override.yaml" - mode: "0644" - owner: root - group: root - become: true - -- name: deploy the .env file - ansible.builtin.template: - src: jitsi.env.j2 - dest: "{{ jitsi__base_dir }}/.env" - mode: "0600" - owner: root - group: root - become: true - -- name: docker compose up - community.docker.docker_compose_v2: - project_src: "{{ jitsi__base_dir }}" - project_name: jitsi - files: "{{ jitsi__compose_files }}" - state: present - pull: missing - remove_orphans: true - become: true - -- name: find old releases - ansible.builtin.find: - paths: "{{ jitsi__base_dir }}/releases" - file_type: directory - excludes: "docker-jitsi-meet-{{ jitsi__version }}" - register: jitsi__old_releases - -- name: remove old releases - ansible.builtin.file: - path: "{{ item.path }}" - state: absent - become: true - loop: "{{ jitsi__old_releases.files }}" - loop_control: - label: "{{ item.path }}" diff --git a/roles/jitsi/templates/compose.override.yaml.j2 b/roles/jitsi/templates/compose.override.yaml.j2 deleted file mode 100644 index 2cefd134..00000000 --- a/roles/jitsi/templates/compose.override.yaml.j2 +++ /dev/null @@ -1,59 +0,0 @@ -# {{ ansible_managed }} -# Services in addition to the ones of the docker-jitsi-meet release. - -# Docker Compose explicitly disables IPv6 for networks not enabling it, overriding the -# daemon's default-network-opts. -networks: - meet.jitsi: - enable_ipv6: true -{% if jitsi__jvb_advertise_ipv6s | length > 0 %} - # A fixed subnet, so the JVB can have a fixed IPv6 address to map the public ones to. - ipam: - config: - - subnet: {{ jitsi__ipv6_subnet }} -{% endif %} - -services: -{% if jitsi__jvb_advertise_ipv6s | length > 0 %} - jvb: - networks: - meet.jitsi: - ipv6_address: {{ jitsi__jvb_ipv6_address }} -{% endif %} -{% if jitsi__web_files | length > 0 %} - web: - volumes: -{% for file in jitsi__web_files %} - - {{ jitsi__base_dir }}/web-files/{{ file.path }}:/usr/share/jitsi-meet/{{ file.path }}:ro -{% endfor %} -{% endif %} -{% if jitsi__turn %} - coturn: - image: docker.io/coturn/coturn:4.18.0 - restart: unless-stopped - # Recommended by coturn, as Docker performs badly with large port ranges. - network_mode: host - # Needs to be able to read the certificate obtained by the web container. - user: "1000:1000" - command: ["-c", "/etc/coturn/turnserver.conf"] - volumes: - - {{ jitsi__base_dir }}/coturn/turnserver.conf:/etc/coturn/turnserver.conf:ro - - {{ jitsi__config_dir }}/storage/web/acme-certs/{{ jitsi__domain }}:/certs:ro - tmpfs: - - /var/lib/coturn -{% endif %} -{% if jitsi__prometheus_exporter %} - prometheus-jitsi-meet-exporter: - image: docker.io/systemli/prometheus-jitsi-meet-exporter:1.4.2 - restart: unless-stopped - command: ["-videobridge-url", "http://jvb:8080/colibri/stats"] - ports: - - "9888:9888" - depends_on: - - jvb - networks: - meet.jitsi: -{% endif %} -{% if not (jitsi__jvb_advertise_ipv6s or jitsi__web_files or jitsi__turn or jitsi__prometheus_exporter) %} - {} -{% endif %} diff --git a/roles/jitsi/templates/custom-jvb.conf.j2 b/roles/jitsi/templates/custom-jvb.conf.j2 deleted file mode 100644 index 050511a9..00000000 --- a/roles/jitsi/templates/custom-jvb.conf.j2 +++ /dev/null @@ -1,11 +0,0 @@ -# {{ ansible_managed }} -# Included at the end of the generated jvb.conf. -# Map the advertised IPv6 addresses to the pinned IPv6 address of the JVB, in addition to -# the mappings of the IPv4 addresses generated from JVB_ADVERTISE_IPS. -{% for ip in jitsi__jvb_advertise_ipv6s %} -ice4j.harvest.mapping.static-mappings += { - local-address = "{{ jitsi__jvb_ipv6_address }}" - public-address = "{{ ip }}" - name = "ipv6-{{ loop.index0 }}" -} -{% endfor %} diff --git a/roles/jitsi/templates/jitsi.env.j2 b/roles/jitsi/templates/jitsi.env.j2 deleted file mode 100644 index f5d8a447..00000000 --- a/roles/jitsi/templates/jitsi.env.j2 +++ /dev/null @@ -1,46 +0,0 @@ -# {{ ansible_managed }} -# Only the settings differing from the defaults are set here. -# Reference: {{ jitsi__base_dir }}/release/env.example and -# https://jitsi.github.io/handbook/docs/devops-guide/devops-guide-docker - -# Allow running `docker compose` by hand in {{ jitsi__base_dir }}. -COMPOSE_PROJECT_NAME=jitsi -COMPOSE_FILE={{ jitsi__compose_files | join(':') }} - -CONFIG={{ jitsi__config_dir }} -JITSI_IMAGE_VERSION={{ jitsi__version }} -TZ={{ jitsi__timezone }} -PUBLIC_URL=https://{{ jitsi__domain }} - -HTTP_PORT=80 -HTTPS_PORT=443 -ENABLE_HTTP_REDIRECT=1 -ENABLE_LETSENCRYPT=1 -LETSENCRYPT_DOMAIN={{ jitsi__domain }} -LETSENCRYPT_EMAIL={{ jitsi__letsencrypt_email }} -LETSENCRYPT_ACME_SERVER=letsencrypt -{% if jitsi__jvb_advertise_ipv4s | length > 0 %} -JVB_ADVERTISE_IPS={{ jitsi__jvb_advertise_ipv4s | join(',') }} -{% endif %} -{% if jitsi__whiteboard %} - -WHITEBOARD_COLLAB_SERVER_URL_BASE=http://whiteboard.meet.jitsi -{% endif %} -{% if jitsi__turn %} - -TURN_CREDENTIALS={{ jitsi__turn_secret }} -TURN_HOST={{ jitsi__domain }} -TURN_PORT=3478 -TURN_TRANSPORT=udp,tcp -TURNS_HOST={{ jitsi__domain }} -TURNS_PORT=5349 -{% endif %} -{% if jitsi__env | length > 0 %} - -{% for key, value in jitsi__env.items() %} -{{ key }}={{ value }} -{% endfor %} -{% endif %} - -JICOFO_AUTH_PASSWORD={{ jitsi__jicofo_auth_password }} -JVB_AUTH_PASSWORD={{ jitsi__jvb_auth_password }} diff --git a/roles/jitsi/templates/turnserver.conf.j2 b/roles/jitsi/templates/turnserver.conf.j2 deleted file mode 100644 index 28770f81..00000000 --- a/roles/jitsi/templates/turnserver.conf.j2 +++ /dev/null @@ -1,34 +0,0 @@ -# {{ ansible_managed }} -listening-port=3478 -tls-listening-port=5349 -realm={{ jitsi__domain }} -use-auth-secret -static-auth-secret={{ jitsi__turn_secret }} -cert=/certs/fullchain.pem -pkey=/certs/key.pem -no-tlsv1 -no-tlsv1_1 -no-cli -no-multicast-peers -no-loopback-peers -log-file=stdout -# Don't relay to private and otherwise special addresses. -denied-peer-ip=0.0.0.0-0.255.255.255 -denied-peer-ip=10.0.0.0-10.255.255.255 -denied-peer-ip=100.64.0.0-100.127.255.255 -denied-peer-ip=127.0.0.0-127.255.255.255 -denied-peer-ip=169.254.0.0-169.254.255.255 -denied-peer-ip=172.16.0.0-172.31.255.255 -denied-peer-ip=192.0.0.0-192.0.0.255 -denied-peer-ip=192.0.2.0-192.0.2.255 -denied-peer-ip=192.88.99.0-192.88.99.255 -denied-peer-ip=192.168.0.0-192.168.255.255 -denied-peer-ip=198.18.0.0-198.19.255.255 -denied-peer-ip=198.51.100.0-198.51.100.255 -denied-peer-ip=203.0.113.0-203.0.113.255 -denied-peer-ip=240.0.0.0-255.255.255.255 -denied-peer-ip=::1 -denied-peer-ip=64:ff9b::-64:ff9b::ffff:ffff -denied-peer-ip=::ffff:0.0.0.0-::ffff:255.255.255.255 -denied-peer-ip=fc00::-fdff:ffff:ffff:ffff:ffff:ffff:ffff:ffff -denied-peer-ip=fe80::-febf:ffff:ffff:ffff:ffff:ffff:ffff:ffff diff --git a/roles/jitsi/vars/main.yaml b/roles/jitsi/vars/main.yaml deleted file mode 100644 index 993aa412..00000000 --- a/roles/jitsi/vars/main.yaml +++ /dev/null @@ -1,8 +0,0 @@ -jitsi__base_dir: /opt/jitsi -jitsi__config_dir: "{{ jitsi__base_dir }}/config" -jitsi__release_dir: "{{ jitsi__base_dir }}/releases/docker-jitsi-meet-{{ jitsi__version }}" -# docker-jitsi-meet maps all JVB_ADVERTISE_IPS to the container's IPv4 address, so IPv6 -# addresses are mapped to the pinned IPv6 address of the JVB in custom-jvb.conf instead. -jitsi__jvb_advertise_ipv4s: "{{ jitsi__jvb_advertise_ips | reject('search', ':') | list }}" -jitsi__jvb_advertise_ipv6s: "{{ jitsi__jvb_advertise_ips | select('search', ':') | list }}" -jitsi__compose_files: "{{ ['release/docker-compose.yml'] + (['release/whiteboard.yml'] if jitsi__whiteboard else []) + ['compose.override.yaml'] }}" diff --git a/roles/nftables/tasks/main.yaml b/roles/nftables/tasks/main.yaml index ec5daaf2..6a72800f 100644 --- a/roles/nftables/tasks/main.yaml +++ b/roles/nftables/tasks/main.yaml @@ -13,10 +13,3 @@ group: root become: true notify: Reload nftables service - -- name: ensure nftables service is enabled and started - ansible.builtin.systemd_service: - name: nftables - enabled: true - state: started - become: true diff --git a/roles/renovate/files/renovate.timer b/roles/renovate/files/renovate.timer index e603b117..f7a3a63c 100644 --- a/roles/renovate/files/renovate.timer +++ b/roles/renovate/files/renovate.timer @@ -1,8 +1,8 @@ [Unit] -Description=renovate running regularly +Description=renovate running every 15 minutes [Timer] -OnCalendar=*-*-* 02,08,14,20:15,45:00 +OnCalendar=*-*-* *:00,15,30,45:00 [Install] WantedBy=timers.target