diff --git a/inventories/chaosknoten/host_vars/matrix-sync.sops.yaml b/inventories/chaosknoten/host_vars/matrix-sync.sops.yaml index c2427295..79b70e20 100644 --- a/inventories/chaosknoten/host_vars/matrix-sync.sops.yaml +++ b/inventories/chaosknoten/host_vars/matrix-sync.sops.yaml @@ -1,4 +1,6 @@ ansible_pull__age_private_key: ENC[AES256_GCM,data:/+Ub9S/CRrSAeWX9cXzIMHjmDXwAh7hPSzXDnSh8iIZMJg+zW9c7mHqJV5B1AtDp9EQ+pSKpC1TdWuM0qGUABIi+cgZolWISXiI=,iv:lfHLyKsIgNhSm1pVERHT+2uMsP8PP8A49C9OAGsYkL0=,tag:AHRK8KuJJCZst+MsS3wXsw==,type:str] +matrix_sync__matrix_access_token: ENC[AES256_GCM,data:GCrbVRoAKaNR0ToedY0mf11YYsIXgKgP+xhPYKJ8+5Sc8iXjTLCyWIw=,iv:DpbIRKAno+GWbBnOfVLvCJYAjlTHVVMeROZKOGaeP88=,tag:UMWTY51aHR7SNK4G2YcrpQ==,type:str] +matrix_sync__keycloak_client_secret: ENC[AES256_GCM,data:5+NoUs/9QbxoUCJQwDTb4CqvRHP0ktXd9hEkfXoKx2Vgmd86Aqy6tv+ozrBh7LQVPurpSCnIkG6hSlQpjXs4WsXu6oarV2c4TsSWXFmsCpJPhmIIL0Q=,iv:cq6sd6eAwMsWve8rhyiI1v1O4jW7Xh4fH3H5zGAO4bQ=,tag:LVucuziDh2OgNzaof1qQGA==,type:str] sops: age: - enc: | @@ -30,8 +32,8 @@ sops: 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] + lastmodified: "2026-10-08T12:40:22Z" + mac: ENC[AES256_GCM,data:6wKdBHTiBpqQ9F7xzt/DZpI/2D76O5ymdDDCl7gtvTL5rpCxMZyr4Ol/nlWqb2bbAVJPVdgBBVHPes6ENVNVhEXb45jZ/Dl2wAEwVfeso+VXOR2LKN1U6WU55G0tovZZlVxfI85tednSNXc9i0+2JQSEZsifUPU10KXITFMVjmY=,iv:tUcAObEkMWMC/RG2GbC7ev0O/JyobrkGZnGYJ7YYAhM=,tag:SDB4u+M1GytTMXLprX0ENw==,type:str] pgp: - created_at: "2026-10-08T12:18:55Z" enc: |- diff --git a/inventories/chaosknoten/host_vars/matrix-sync.yaml b/inventories/chaosknoten/host_vars/matrix-sync.yaml index 5b845582..58318093 100644 --- a/inventories/chaosknoten/host_vars/matrix-sync.yaml +++ b/inventories/chaosknoten/host_vars/matrix-sync.yaml @@ -1 +1,6 @@ -# tbd +docker_compose__compose_file_content: "{{ lookup('ansible.builtin.template', 'resources/chaosknoten/matrix-sync/docker_compose/compose.yaml.j2') }}" +docker_compose__configuration_files: + - name: "!oLGvjHkQvheeAUPNYmsnFABg5oPsRiu5j1wMjRx7d_I" + content: "{{ lookup('ansible.builtin.file', 'resources/chaosknoten/matrix-sync/docker_compose/config/!oLGvjHkQvheeAUPNYmsnFABg5oPsRiu5j1wMjRx7d_I') }}" + - name: "!Q2weVNy3-f1NbrS4k9DlcWf6MdPxwL3ARLcuNsVFeVs" + content: "{{ lookup('ansible.builtin.file', 'resources/chaosknoten/matrix-sync/docker_compose/config/!Q2weVNy3-f1NbrS4k9DlcWf6MdPxwL3ARLcuNsVFeVs') }}" diff --git a/inventories/chaosknoten/hosts.yaml b/inventories/chaosknoten/hosts.yaml index 5c29a4e8..2264d06b 100644 --- a/inventories/chaosknoten/hosts.yaml +++ b/inventories/chaosknoten/hosts.yaml @@ -164,6 +164,7 @@ docker_compose_hosts: sunders: spaceapiccc: draupnir: + matrix-sync: nextcloud_hosts: hosts: cloud: @@ -256,6 +257,7 @@ infrastructure_authorized_keys_hosts: lists: forgejo-runner: forgejo-runner-external: + matrix-sync: wiki_hosts: hosts: eh22-wiki: @@ -293,6 +295,7 @@ ansible_pull_hosts: auth-dns: forgejo-runner: forgejo-runner-external: + matrix-sync: msmtp_hosts: hosts: renovate_hosts: diff --git a/resources/chaosknoten/matrix-sync/docker_compose/compose.yaml.j2 b/resources/chaosknoten/matrix-sync/docker_compose/compose.yaml.j2 new file mode 100644 index 00000000..a4a314c7 --- /dev/null +++ b/resources/chaosknoten/matrix-sync/docker_compose/compose.yaml.j2 @@ -0,0 +1,20 @@ +--- + +services: + sync: + image: git.hamburg.ccc.de/ccchh/matrix-member-sync:latest + command: ["uv", "run", "main.py", "sync"] + environment: + MATRIX_HOMESERVER_URL: https://matrix.hamburg.ccc.de + MATRIX_USER: ccchh-room-sync + MATRIX_ACCESS_TOKEN: {{ matrix_sync__matrix_access_token }} + KEYCLOAK_URL: https://id.hamburg.ccc.de + KEYCLOAK_REALM: ccchh + KEYCLOAK_CLIENT_ID: matrix-sync + KEYCLOAK_CLIENT_SECRET: {{ matrix_sync__keycloak_client_secret }} + ROOM_ATTRIBUTES: "!oLGvjHkQvheeAUPNYmsnFABg5oPsRiu5j1wMjRx7d_I=matrix-chaos,!Q2weVNy3-f1NbrS4k9DlcWf6MdPxwL3ARLcuNsVFeVs=matrix-intern" + MANUAL_MEMBER_LISTS: /configs + SYNC_INTERVAL: 123 + restart: unless-stopped + volumes: + - ./configs:/configs \ No newline at end of file diff --git a/resources/chaosknoten/matrix-sync/docker_compose/config/!Q2weVNy3-f1NbrS4k9DlcWf6MdPxwL3ARLcuNsVFeVs b/resources/chaosknoten/matrix-sync/docker_compose/config/!Q2weVNy3-f1NbrS4k9DlcWf6MdPxwL3ARLcuNsVFeVs new file mode 100644 index 00000000..374e493d --- /dev/null +++ b/resources/chaosknoten/matrix-sync/docker_compose/config/!Q2weVNy3-f1NbrS4k9DlcWf6MdPxwL3ARLcuNsVFeVs @@ -0,0 +1 @@ +# Manual member lists for CCCHH @intern diff --git a/resources/chaosknoten/matrix-sync/docker_compose/config/!oLGvjHkQvheeAUPNYmsnFABg5oPsRiu5j1wMjRx7d_I b/resources/chaosknoten/matrix-sync/docker_compose/config/!oLGvjHkQvheeAUPNYmsnFABg5oPsRiu5j1wMjRx7d_I new file mode 100644 index 00000000..8ec2a998 --- /dev/null +++ b/resources/chaosknoten/matrix-sync/docker_compose/config/!oLGvjHkQvheeAUPNYmsnFABg5oPsRiu5j1wMjRx7d_I @@ -0,0 +1 @@ +# Manual member lists for CCCHH @chaos