migrate mjolnir to draupnir #161
12 changed files with 60 additions and 59 deletions
|
|
@ -37,7 +37,7 @@ keys:
|
|||
- &host_ntfy_ansible_pull_age_key age1dkecypmfuj0tcm2cz8vnvq5drpu2ddhgnfkzxvscs7m4e79gpseqyhr9pg
|
||||
- &host_spaceapiccc_ansible_pull_age_key age1mdtnk78aeqnwqadjqje5pfha04wu92d3ecchyqajjmy434kwq98qksq2wa
|
||||
- &host_acmedns_ansible_pull_age_key age16pxqxdj25xz6w200sf8duc62vyk0xkhzc7y63nyhg29sm077vp8qy4sywv
|
||||
- &host_mjolnir_ansible_pull_age_key age1hv7m3xypesdfm0dfzwgctde8v307g9xaunnfu2687y0lagcs5q7s3eg0kj
|
||||
- &host_draupnir_ansible_pull_age_key age1hv7m3xypesdfm0dfzwgctde8v307g9xaunnfu2687y0lagcs5q7s3eg0kj
|
||||
- &host_diday_staging_runner_ansible_pull_age_key age1522f3qzddm82w63j7ajdkr0khvced6ht7tzp3grvp0j3hewtvesssr5kpf
|
||||
- &host_auth_dns_ansible_pull_age_key age18zgt4y2sd75hxnpe333zz39048ctxpr0q8a3uqh3jajjkyawsdrq8yg5ve
|
||||
- &host_forgejo_runner_ansible_pull_age_key age1az0k6cadssk6r8qcqxfr8cyu5mndy59pwt8yqq6w065ew6au4ezsmg2vkf
|
||||
|
|
@ -201,12 +201,12 @@ creation_rules:
|
|||
*admin_gpg_keys
|
||||
age:
|
||||
- *host_spaceapiccc_ansible_pull_age_key
|
||||
- path_regex: "inventories/chaosknoten/host_vars/mjolnir\\.sops\\..+"
|
||||
- path_regex: "inventories/chaosknoten/host_vars/draupnir\\.sops\\..+"
|
||||
key_groups:
|
||||
- pgp:
|
||||
*admin_gpg_keys
|
||||
age:
|
||||
- *host_mjolnir_ansible_pull_age_key
|
||||
- *host_draupnir_ansible_pull_age_key
|
||||
- path_regex: "inventories/chaosknoten/host_vars/diday-staging-runner\\.sops\\..+"
|
||||
key_groups:
|
||||
- pgp:
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ During moderation, we adhere to the following principles:
|
|||
|
||||
## How It Works
|
||||
|
||||
The bot account `@moderation:hamburg.ccc.de` (Mjolnir) maintains various internal lists of rules that are applied in so-called "Protected Rooms".
|
||||
The bot account `@moderation:hamburg.ccc.de` (Draupnir) maintains various internal lists of rules that are applied in so-called "Protected Rooms".
|
||||
These can include, for example, user bans or entire server bans.
|
||||
Additionally, certain automatic monitoring measures (so-called "protections") apply in these rooms, which trigger a configured action if violated.
|
||||
For example, a user is not allowed to tag too many other users in a single message, as this is considered spam and results in a kick.
|
||||
|
|
|
|||
|
|
@ -40,14 +40,14 @@ We have now added the moderation bot to the room but this is not enough.
|
|||
The bot needs to be told explicitly which rooms it should protect and the newly created one therefore needs to be added to that list.
|
||||
|
||||
First, note down the *Internal Room ID* which can be found in the new Rooms settings under the *Advanced* tab.
|
||||
Then enter the *CCCHH Moderation Management* room and write the follogin mjolnir command while substituting the copied room id:
|
||||
Then enter the *CCCHH Moderation Management* room and write the following draupnir command while substituting the copied room id:
|
||||
|
||||
```
|
||||
!mjolnir rooms add <room-id>
|
||||
!draupnir rooms add <room-id>
|
||||
```
|
||||
|
||||
## Closing Up
|
||||
|
||||
You should now have a new Matrix Room under moderation protection.
|
||||
To verify that everything was done correctly, you can enter `!mjolnir verify` in the *CCCHH Moderation Management* room and observe that the moderation bot does not give you an error.
|
||||
To verify that everything was done correctly, you can enter `!draupnir verify` in the *CCCHH Moderation Management* room and observe that the moderation bot does not give you an error.
|
||||
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ All bot actions are triggered through the *CCCHH Moderation Management* room.
|
|||
## Banning a User
|
||||
|
||||
```
|
||||
!mjolnir ban general user <glob> <reason>
|
||||
!draupnir ban general user <glob> <reason>
|
||||
```
|
||||
|
||||
- `<glob>` can be a user ID (e.g. `@example:matrix.org`) but also more sophisticated. Be careful when using actual glob syntax as whole servers can be banned even if just a single user is the intended target.
|
||||
|
|
@ -27,7 +27,7 @@ All bot actions are triggered through the *CCCHH Moderation Management* room.
|
|||
## Banning a Server
|
||||
|
||||
```
|
||||
!mjolnir ban server <glob> <reason>
|
||||
!draupnir ban server <glob> <reason>
|
||||
```
|
||||
|
||||
- `<glob>` can be used to ban subdomains of a domain too, e.g. `*.example.com`. If used, an additional `--force` is required after the whole command.
|
||||
|
|
@ -37,7 +37,7 @@ All bot actions are triggered through the *CCCHH Moderation Management* room.
|
|||
## Redacting a single Message
|
||||
|
||||
```
|
||||
!mjolnir redact <permalink>
|
||||
!draupnir redact <permalink>
|
||||
```
|
||||
|
||||
- `<permalink>` is **not** the message ID but the actual *https://matrix.to/#blablabla* link that can be retrieved with most clients through a *Share* or *Copy link to Message* button on an individual message.
|
||||
|
|
@ -45,7 +45,7 @@ All bot actions are triggered through the *CCCHH Moderation Management* room.
|
|||
## Redacting all Messages of a User
|
||||
|
||||
```
|
||||
!mjolnir redact <user-id>
|
||||
!draupnir redact <user-id>
|
||||
```
|
||||
|
||||
- `user-id` the Matrix-ID of the user of whom all messages in all rooms should be redacted (e.g. `@bla:example.com`).
|
||||
|
|
|
|||
188
inventories/chaosknoten/host_vars/draupnir.sops.yaml
Normal file
188
inventories/chaosknoten/host_vars/draupnir.sops.yaml
Normal file
|
|
@ -0,0 +1,188 @@
|
|||
ansible_pull__age_private_key: ENC[AES256_GCM,data:mUKh1aFJ8hn0GqfWQw5pWSAj9qaj5wH/NrHhEp9sdOYfNCBPp1dfYIDTqFAnPNz2SLzoQ+HIuPYxSCaWNq0zS8TStBelUoEGDuE=,iv:rbVLKpUzHr2ZZsHlRZtBp9E8IX9TVAa/nJAXfnh4fJQ=,tag:wT/0Ku9yrwD9snnzMigU3g==,type:str]
|
||||
secret__draupnir_matrix_user_token: ENC[AES256_GCM,data:WtWZQh8Khwv4bq0U0vg2203P4PnLHNRVBTN59NqGX9PggVi2rRy3PZc=,iv:L3d+xI85IXB0DfynjQxhAjAmZ3rKLTFVWCcBcdqxzF8=,tag:qAiv4M1EbKVd+ysWhV/JIA==,type:str]
|
||||
sops:
|
||||
age:
|
||||
- enc: |
|
||||
-----BEGIN AGE ENCRYPTED FILE-----
|
||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB3b2MzYzFWaHJ4M3NkaDkw
|
||||
cEYzVDhQSGQ4SGpJQllmZGNTUUhGSy9KZkZjCi9CY0pRVTh3SUQyK0dlckMvVGI1
|
||||
YkwxWmNkaFlZb004QUpsek1oNjhNS0EKLS0tIENDUmE4ZDhmZTlKYTJ3RSt3VXVj
|
||||
V09XOXY4bHBpbWxpdTNycHVwVUptdE0KsksBHnhpGmag6KZmeUjI6GzYPVvG06bw
|
||||
mGhQf8hwa4m7tTtD806kVuKJ/nXhOZXFr1Gp65iWGBfT5lJk2VIayQ==
|
||||
-----END AGE ENCRYPTED FILE-----
|
||||
recipient: age1hv7m3xypesdfm0dfzwgctde8v307g9xaunnfu2687y0lagcs5q7s3eg0kj
|
||||
lastmodified: "2026-09-06T11:30:21Z"
|
||||
mac: ENC[AES256_GCM,data:tTOVUVlU2BOD7Xxxmn6I6b8V+zouNgyNfet18JZKuIrAqRgag/oKadoa+lBjiH/JiCUunNueACf14wsrw5eOdpJiL1zBg8sK6kyPDrI1IRGMJWXX0x01DJSL1INNz6fKdHTA+hqI0w6lTWPiLwgTbsfyMwF+lutaJv79cANC3UU=,iv:i34JCNJHLgQwZAKGrF1dX1TZSvOnB3HqQe/BvA9HTtY=,tag:8LY0AdEtVFTVY2d0dbiuDA==,type:str]
|
||||
pgp:
|
||||
- created_at: "2026-05-20T02:08:45Z"
|
||||
enc: |-
|
||||
-----BEGIN PGP MESSAGE-----
|
||||
|
||||
hQIMAxK/JaB2/SdtARAAg3P/sCvXZNn/o2juDKNe17Hksk8whr7WmoUif4djRIUk
|
||||
oZa1wR0l/WIdnCukQ1eSoLRJridumz4cM38fR/aRNYsetYwUwFpkOp+2W/kAutKN
|
||||
tdoeWhUYXazJo8/MrrclBp/1GUzCrBNCeYIhfl3p6odJfZPu5+YWBta+bfKaeg5v
|
||||
bpU0Z8FKIRM3Y8KG55aJKItUaNLpTxmS4uS6QFB9qXaA2cmO1kGACWnYizYPA7dg
|
||||
LjUGTYnB9L3IkEmL6KPBw45ixW73tWQTwjPCz6qheRUr4nvUvLGfNzPL/V2XQhJn
|
||||
ArTVLrTZYgnPxWt8RA6anJ/R286UQ3khWfA3oBX2r9mXUQJCcapU3S5GjAUd0fb4
|
||||
qLytT+qyeV/A15Mpq8m3nGyGhUEMZVYWNbydH7fR6MjzLhmwwk/qP/ByDUgWVq7I
|
||||
uyIlV9rxIipSW5ZeJGWdJIlAdFXgeugI3QU26RkvS7P/m9XFom133l3erF4Ehujb
|
||||
h7Tv/QjR5Z4gFCoEQ75y4egbqI6Ziuoi4o5FWMxEYvMTXiVB5nA+4zXLuL5eXYUF
|
||||
UD9IKiyyme4RCzMZbycFfOc8UiQoS8/QIh3Z+AfrqWWAUU7NI8WARn6Xp3to0AFf
|
||||
7R8Miw3OvK8y2iD6fEpoyYgBOicCUCJwgriSYwWvS6eCui8r+5unv2eUoKo0gGnS
|
||||
XAGCnXJCD2r9H90XzzYuG401C5EJW4aQ2erVJ+9gRqpnbfeCLurH0r4LLizPyeIK
|
||||
YXSCm/e2da7pzKEcTudp/KVwoLxw60vjcahZJOWnrYXkvAV+XoVA/599x/kk
|
||||
=56oA
|
||||
-----END PGP MESSAGE-----
|
||||
fp: EF643F59E008414882232C78FFA8331EEB7D6B70
|
||||
- created_at: "2026-05-20T02:08:45Z"
|
||||
enc: |-
|
||||
-----BEGIN PGP MESSAGE-----
|
||||
|
||||
hQEMA1QflAioE8i3AQf/Wf3a4dHFiFpopvb3UjFao6+Fphxj2vzerVcvILYOgfsM
|
||||
792Y0rIiDJyqSeP3cGI0UK2pDanGv5SqL8CgmNQBhvD6eWSngQMyaOFB1NA4h/LF
|
||||
oT+wjmXWq1CSlllZI2nyjghMiUzuf4YnrzlE/zJCMvOTtbdbD+fxfP8u9ARJTgfA
|
||||
j8axYUwP+J+V08SlvRSn9Ek/VFTC1A2VodAxQ/KRCnCVFI72BoAqNCvu00UrKK3R
|
||||
4SiaFG0bZm/NWxUjqDh1YNXSqyoqKKo1rkjUxesYCiFtvfZ7EIKjSKB1WTfVwI1G
|
||||
POtid9UO6V+rLpbrIfs24CiidHmMAbnEjXf0LGdxJ9JcAQ3JsatfCUAGifcJsxKo
|
||||
UKLDGd4+Sl3zv/1jKkoOtMDKxMgOp5LjpGLoi2ouEtT1YLJtKX8+SVTPrjHvWCUx
|
||||
mZaTcuf0hUtVxOxj1D++Tq54V5H/lHsGegsmiAM=
|
||||
=hKN7
|
||||
-----END PGP MESSAGE-----
|
||||
fp: 21C9579E6503CA815A68ABD8541F9408A813C8B7
|
||||
- created_at: "2026-05-20T02:08:45Z"
|
||||
enc: |-
|
||||
-----BEGIN PGP MESSAGE-----
|
||||
|
||||
hQIMAz5uSgHG2iMJARAAucnW94WGNwhzUp+lUU302YADWeWzJ2cImB9Dm4x9qsDe
|
||||
5k51F7wz0Tjj56Rwccc2zes4c9XepDahuMqFqbSIq0YABuDsvjWUEbtRMHt/fDbu
|
||||
ySsHqYzG87GlS1zNsXStvJUdjlKHNZ7xTJAY99Esk9eAwHXpqjNeFgnzZQT7aKKf
|
||||
bR9hlIj0YlI96YPFCwLnuxDrequEn5KFI0posDxwTii77Z8P5SxlqgGDQS+pDXaa
|
||||
C52Eho0bS54MlqL8G/DiRsQ/tWEjRQ0PvZcDaPFkHVvwKElx0czyG0iNKwFQ2vUM
|
||||
rOOrV1gMA4zVlumMwU/InfK1hw8MmrQUIS8TMTiGce5+7JndRdf9uPlIM5c95fun
|
||||
h6D4/ecTJAyGtNpFiSxY9KjYd3InVb83L3xW9HGq3h6hnznvGV5+vxppB5dqLaIk
|
||||
5AezeB57Etu/Q4nzwax9oTAbWEc4eTSKrsfNUxXMk/RNfN9ZeM+ZTZ8wegcFEcJd
|
||||
fvTaYTVFQRYw2/Lqrluz8Cw4vdp/7Ijg/6D2hsSqGQcnJK5EXTwvf/bHdr7fFyZk
|
||||
KWyzyc/3Ek5yad2Q50XERU2T2vzVdmZmjjcCRZcWTQQo6OspOLvrgG9sb5xJNhRb
|
||||
GZWpCL1e7cr5WlRm5UOztPvLtFJb3asauXmBcPQck3K0GPp71Q6HleUQRbnUcYXS
|
||||
XAHKFEFcKu4pBX9N3s5zuUYJPESl5+HuXAt6DSy2uq0cgS/UnsiIbrVKNEdNYlE+
|
||||
TNOle6d92dsG3wNDD4cotbrDk2gQM3UWti6cQs/me8NioKbrfAazahOY3KQB
|
||||
=4dX4
|
||||
-----END PGP MESSAGE-----
|
||||
fp: 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5
|
||||
- created_at: "2026-05-20T02:08:45Z"
|
||||
enc: |-
|
||||
-----BEGIN PGP MESSAGE-----
|
||||
|
||||
hF4DsZXvxFXTXoQSAQdAOmwavoedg1DAfsd+UzDzDWKAF8Za9jjI5taUXNyOElsw
|
||||
YxphzLDLGo05Y5j8JbHLDnJK3zE7k5CPdy2iCDAJPCof74/05bngZnvubS0XAial
|
||||
0lwBGgxxBnTuQdeKN2oxrzqhLYLy9P35aO5PX9NoFIu0GSuwuqSUIKW1x4DXu/M9
|
||||
ZzDCPx8TUeVVGGPfvAU3GucTFdV9th+zHOzhlliMIaYoUrzEySUrAtN27UT/nQ==
|
||||
=SMIT
|
||||
-----END PGP MESSAGE-----
|
||||
fp: 9633412309CCB83BFA39BA5F2FEF746201D7FCFE
|
||||
- created_at: "2026-05-20T02:08:45Z"
|
||||
enc: |-
|
||||
-----BEGIN PGP MESSAGE-----
|
||||
|
||||
hF4DerEtaFuTeewSAQdAD8uSHTF5k96Posm4Q+3L/vOEmWYnY1H7egXNDhnaSyAw
|
||||
d6mXsd9bnMlTI3KZVwOplC+iB5zazMVWZZ4T6H87kUMK5c/2RQTIy0Bt9eNroIWt
|
||||
0lwBEF/whwlo5Wwmn633UyNZdKc5MriomN9VyIYDIZQjis0fciH3hGl5O3YLwR3Z
|
||||
IYjZRCiC3kfVc2SbeVBcx2dWgi3aqS9qutw3pN9LW3hED/OGEYe40xrKaNlmRQ==
|
||||
=R4wH
|
||||
-----END PGP MESSAGE-----
|
||||
fp: 057870A2C72CD82566A3EC983695F4FCBCAE4912
|
||||
- created_at: "2026-05-20T02:08:45Z"
|
||||
enc: |-
|
||||
-----BEGIN PGP MESSAGE-----
|
||||
|
||||
hQIMAxjNhCKPP69fAQ/7BdZfG4cqrWaVVuheGjFR59Ni2ssP9nMdd5U3670mxYpN
|
||||
W/NMKJoZFtROlSsQ6vUO6sHfdmmmFAzJ5lMJtqD6HU1CkVNIU54KiiYWSoUGxb+3
|
||||
oLc6g68VKZloFC9hcrS/EX0PmDUV2BJHxftTH9Kh61I4haFynID9i1U3yFMeSCpK
|
||||
AXEbo8vD/+mOlcyXPSVR1eZL9Hcx157fhoSQJ1+fulPpLt2Xa0ieqmqTROxZ619h
|
||||
+XKp4LgwWPorYfbupLYE5PfhgHRnyhISQraiVOed+hpaolUnxKg3Ag4V7qkSir7x
|
||||
+sjlOJb3QTzeBLZBvDdv7DiWsTmMdijXoLG3o2asQSnp4LrR4Cz8m9VOjOtae2fl
|
||||
jpyk2QqBFUqzCeTxysWBwEnRsJLVa1C+FwZG9UrJnrMNQ0TL7wapmvDtwl1hxlw9
|
||||
XH/7WTALR2GYzMHBo77ahPdtjYq9bD0YW7unI/l23vePVQn9/hASuvMWnwc+8ToV
|
||||
ZIgNiIH0yy4FdQbgxhlcn3FMNgLwJBb2Bz/F0PDN1sTwlHGtI6ZlTAxzp0U0ccGE
|
||||
1W7RPMn7T/mqsZ1DTfSQE0DDwYyfn7Vl5mERs8/lLPrfS07O3aSCoh5e6IIYGiMz
|
||||
ClsMjRvaqhWY7xJHWdQdL7iCCMVVeYdXEkvTz51bLqV/ssDEfch9EBk6m+lsqk3S
|
||||
XAGWJXl3H+M1IYRrUHtAvMQvC40QZ55gY2I9Oeckc+1IZky4IuYymWJL2G+/M5Jj
|
||||
jx3zGZ/PI50FUYHKkE0KXIIfk1T38QqMxjex0O2YVsud9jF0DbO2MK+DmiUO
|
||||
=0Nta
|
||||
-----END PGP MESSAGE-----
|
||||
fp: F38C9D4228FC6F674E322D9C3326D914EB9B8F55
|
||||
- created_at: "2026-05-20T02:08:45Z"
|
||||
enc: |-
|
||||
-----BEGIN PGP MESSAGE-----
|
||||
|
||||
hQIMA46L6MuPqfJqAQ/6AmKU5wDLb+dV1Tr48dHE6rE0XwlRESnMWNIFP+zj6krG
|
||||
5drkRK7yKY2grfxcY3PXKALlxQfsjLaNqk6HQMEwuUmYh0I+1tZ0iKDPwskVHWPZ
|
||||
g9QhwOG/W/gioWIvneeUhHmFAiww7hOBrvEgP1PBXkM3fwHMEl0H9+/abNobMDRK
|
||||
uW5I8ynL9Z/BZgNhS/S61UuQoXejrSk78NkYY+YFRim45tA//EfWMv21PDiJJPCg
|
||||
IM7+wAzzqfFQ4Y8rKmThkfz9NQKdCfkuXqT4ak9VerTsasB45gYkWp7B79jguPgv
|
||||
vM4i2X1iMyyAMXpyvDDK9ZVJAZ2NzjSKfE2A0V0OtXnsLTAOCbf+6Ra37w3XV8Gs
|
||||
4ZoMDzdlHiLPujZqf132DEdbxAh22uAnLF+Hy7vBNHP08jcjrkC2P9JKjgpbDhrD
|
||||
34YdIAx3m9zwwr+Y5QZeq1VAY3ckWFd/F65/xzLInRnXmf6YyzX9mzJTC9WdtMY9
|
||||
7jZAYuGGbsikrbV7c9jovS4AzqFOkmCJvnSGIGAmIctEYHbTp2XB6JGaitcvw6Og
|
||||
vn6ReKlPVYO33KZ5qK9SyfMDNk4TNa9igSuNQqp22xs5d54Cm9gQvEnV5G79Hgc1
|
||||
SqkL2zuhh0Kol6PO0bVcMlnZUhdgQtIGOGMST455GTtnCuq9m9E/feturgFrSbnS
|
||||
XAEuaspGbBCgpB3HzOjhoOWLnAzBmAYmDBcup3a67VGUkUblFnUsn4IuYxh7ruow
|
||||
NxmjzxeLGL4kMmMkFYTZ4hdRLaLH1WP3fWBFV9DERG9QGifcPd64hX5fn7xS
|
||||
=8aYy
|
||||
-----END PGP MESSAGE-----
|
||||
fp: 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A
|
||||
- created_at: "2026-05-20T02:08:45Z"
|
||||
enc: |-
|
||||
-----BEGIN PGP MESSAGE-----
|
||||
|
||||
hF4DQrf1tCqiJxoSAQdAnt+BrerUruQvwmvDaIAx3m6ZqBjbJv4KiFtRB650EHEw
|
||||
lmRZWsYjvY0+/e3LOYQn7jJ8VZe/vuGjDKaUcG9uQ4cSeLE+ZiYSsyO17kfF5oqi
|
||||
0lwBAyjS/8SS6/rQxLBTj452cen/fuIznY/eHY2IpLNXJzNQf09sH/rA1Rot/fxR
|
||||
gi+85FfCXjtlgBe6Iwpj0rLmpUT9pbjgLMpBn2JSyfYcdp4rajjotYLZbXhVAQ==
|
||||
=59ES
|
||||
-----END PGP MESSAGE-----
|
||||
fp: B71138A6A8964A3C3B8899857B4F70C356765BAB
|
||||
- created_at: "2026-05-20T02:08:45Z"
|
||||
enc: |-
|
||||
-----BEGIN PGP MESSAGE-----
|
||||
|
||||
hF4DzAGzViGx4qcSAQdA9Nf2vvTGhvEhgslQpNTl2A1p4gklFHrrBcK+JZBDY3Uw
|
||||
A/vCtnuLYeKFNgSSHI7dIslck7+tzH/8pXxyXGtXSRUWmg7/uE7N5n4x9jEqUy9z
|
||||
0lYBv9ArQcGI1vetG9qKmC/rZ9FU2LqmkGZSufQTrVPKkHmxPQZIYYFFYzp8e/jg
|
||||
BEbzxr3/qkAgkS+BAdGVFvd7DXzP8ui9SJn8GVxyCa9hFcRKcRoqkw==
|
||||
=s+xO
|
||||
-----END PGP MESSAGE-----
|
||||
fp: D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD
|
||||
- created_at: "2026-05-20T02:08:45Z"
|
||||
enc: |-
|
||||
-----BEGIN PGP MESSAGE-----
|
||||
|
||||
hQIMA2pVdGTIrZI+ARAAyezo2W4BSTA+/8m2zc7ZF+cFwMpoaTw9W6ImrouvG6Fy
|
||||
k1zrVoM4nW87Yf7omNYm8dZjKxMgO30vRfJSvghjU1NOhcqt/nkUuynPdMa8YXrL
|
||||
XAeACNXcHNkWOoD6BvtuPYXS3Z7fXZouK8P8SCAXudnicC5eKh+hFXIpeqYKamOk
|
||||
9+hPIQdN3a7qp1ofwNrkNGHOxytVuH5yZHB/RXB+/NgkTNsbC7cXXUi1DpHyFtoA
|
||||
OEPFINu5THwaj7tTHlbqgJ3QVhoM3J8OEh3im8I8Zn/r/N7jyFT/R4f/grBdGRYh
|
||||
iEnJelYhbGL2qo5YBJ2LHAezSJXzKm9l6H+WiyWQmK4kSH8kUb8vqBO8R4DR6mKS
|
||||
2l5HEbmZQfmllPTCyWHbxJoIvtx0/5lnulkjXq8kHcV+Ih1A8AUc+wCRb+7fPM/w
|
||||
WOCmVYTo5c4GGr6D1fxN4pPzj/jksRdVduietIKKeaeB4AUTx9ljGimToqzQE7UP
|
||||
yJ9eBaANrd91uz5rL8OSTBR9Ve7UUyA0Mchodacn4hpRZAZc4GwWPAI0sa4tnXP/
|
||||
RES190GCWdrXcMcCTZF9d/Vn6CQhYeQv/PYcTjo5qiXgVkK3RDg9V9m/dj6BP1k7
|
||||
vOM7f1oko5SV+weNPpNgacyHo0rQiFfdB7fjyOvDqMzINoAl+bL75sbHuJcpR4bS
|
||||
XAHeNSMyvydLwIY8rfXtZslAQi56ft37UGu/4qZKwabCKRHsG9K/3lYo9Z+swACr
|
||||
iE5G/o/RQgIuBDEtSjZVAMTAAXg1cz/Sd+5dih36dVhNzf6KR9WtReK4DmKt
|
||||
=tL93
|
||||
-----END PGP MESSAGE-----
|
||||
fp: 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533
|
||||
- created_at: "2026-05-20T02:08:45Z"
|
||||
enc: |-
|
||||
-----BEGIN PGP MESSAGE-----
|
||||
|
||||
hF4DKKbvh61jX5USAQdAaXD57G+sJAGL6jrLPlprzmtsc24yqmmtXpUAnmLZHzEw
|
||||
Gyfx7FQw+NibMrTVmorXpvySedqHvf8rMz5hfM1TVuea/VY9YSai+xa2A1TpJ9fB
|
||||
0lwBoxBBqh4t8wKk7DF/Ipv9pdmuERcjBGmc+DhYa/y5E5sG2du0jwEpYxQvRvaE
|
||||
weT3ygHhzK0YwB3IZ4VXiV6rIuKg4aq1Hs3hQQicK72VPcdJFJzI1TQhQfAeUA==
|
||||
=zH0q
|
||||
-----END PGP MESSAGE-----
|
||||
fp: 41FFAF3D519CF5C039FBD8414BCC213729AF0E49
|
||||
unencrypted_suffix: _unencrypted
|
||||
version: 3.13.3
|
||||
4
inventories/chaosknoten/host_vars/draupnir.yaml
Normal file
4
inventories/chaosknoten/host_vars/draupnir.yaml
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
docker_compose__compose_file_content: "{{ lookup('ansible.builtin.file', 'resources/chaosknoten/draupnir/docker_compose/compose.yaml') }}"
|
||||
docker_compose__configuration_files:
|
||||
- name: config.yaml
|
||||
content: "{{ lookup('ansible.builtin.template', 'resources/chaosknoten/draupnir/docker_compose/config.yaml.j2') }}"
|
||||
|
|
@ -36,8 +36,8 @@ all:
|
|||
lists:
|
||||
ansible_host: lists.hamburg.ccc.de
|
||||
ansible_user: chaos
|
||||
mjolnir:
|
||||
ansible_host: mjolnir.hosts.hamburg.ccc.de
|
||||
draupnir:
|
||||
ansible_host: draupnir.hosts.hamburg.ccc.de
|
||||
ansible_user: chaos
|
||||
ansible_ssh_common_args: -J ssh://chaos@router.hamburg.ccc.de
|
||||
mumble:
|
||||
|
|
@ -132,7 +132,7 @@ base_config_hosts:
|
|||
sunders:
|
||||
renovate:
|
||||
spaceapiccc:
|
||||
mjolnir:
|
||||
draupnir:
|
||||
auth-dns:
|
||||
forgejo-runner:
|
||||
forgejo-runner-external:
|
||||
|
|
@ -158,7 +158,7 @@ docker_compose_hosts:
|
|||
ntfy:
|
||||
sunders:
|
||||
spaceapiccc:
|
||||
mjolnir:
|
||||
draupnir:
|
||||
nextcloud_hosts:
|
||||
hosts:
|
||||
cloud:
|
||||
|
|
@ -246,7 +246,7 @@ infrastructure_authorized_keys_hosts:
|
|||
sunders:
|
||||
renovate:
|
||||
spaceapiccc:
|
||||
mjolnir:
|
||||
draupnir:
|
||||
auth-dns:
|
||||
lists:
|
||||
forgejo-runner:
|
||||
|
|
@ -284,7 +284,7 @@ ansible_pull_hosts:
|
|||
zammad:
|
||||
ntfy:
|
||||
spaceapiccc:
|
||||
mjolnir:
|
||||
draupnir:
|
||||
auth-dns:
|
||||
forgejo-runner:
|
||||
forgejo-runner-external:
|
||||
|
|
|
|||
|
|
@ -499,7 +499,8 @@ keycloak.hosts IN AAAA 2a00:14b0:42:102::6
|
|||
onlyoffice.hosts IN AAAA 2a00:14b0:42:102::7
|
||||
renovate.hosts IN AAAA 2a00:14b0:42:102::8
|
||||
sunders.hosts IN AAAA 2a00:14b0:42:102::9
|
||||
mjolnir.hosts IN AAAA 2a00:14b0:42:102::a
|
||||
draupnir.hosts IN AAAA 2a00:14b0:42:102::a
|
||||
mjolnir.hosts IN CNAME draupnir.hosts
|
||||
netbox.hosts IN AAAA 2a00:14b0:42:102::b
|
||||
tickets.hosts IN AAAA 2a00:14b0:42:102::c
|
||||
zammad.hosts IN AAAA 2a00:14b0:42:102::d
|
||||
|
|
|
|||
11
resources/chaosknoten/draupnir/docker_compose/compose.yaml
Normal file
11
resources/chaosknoten/draupnir/docker_compose/compose.yaml
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
# Links & Resources
|
||||
# https://github.com/matrix-org/mjolnir/blob/main/docs/setup_docker.md
|
||||
|
||||
services:
|
||||
draupnir:
|
||||
image: ghcr.io/the-draupnir-project/draupnir:v3.1.0
|
||||
command: [ "bot", "--draupnir-config", "/etc/draupnir/production.yaml" ]
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- ./draupnir_data:/data
|
||||
- ./configs/config.yaml:/etc/draupnir/production.yaml:ro
|
||||
22
resources/chaosknoten/draupnir/docker_compose/config.yaml.j2
Normal file
22
resources/chaosknoten/draupnir/docker_compose/config.yaml.j2
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
# https://github.com/the-draupnir-project/Draupnir/blob/main/config/default.yaml
|
||||
|
||||
homeserverUrl: "https://matrix.hamburg.ccc.de"
|
||||
rawHomeserverUrl: "https://matrix.hamburg.ccc.de"
|
||||
accessToken: "{{ secret__draupnir_matrix_user_token }}"
|
||||
|
||||
dataPath: "/data/storage"
|
||||
logLevel: "INFO"
|
||||
recordIgnoredInvites: true
|
||||
managementRoom: "#moderation-management:hamburg.ccc.de"
|
||||
experimentalRustCrypto: true
|
||||
automaticallyRedactForReasons:
|
||||
- "spam"
|
||||
- "advertising"
|
||||
- "porn"
|
||||
- "harassmet"
|
||||
|
||||
# currently not working because /_synapse is not routed via reverse proxy
|
||||
pollReports: false
|
||||
|
||||
# this knob can turn of moderation action temporarily
|
||||
noop: false
|
||||
|
|
@ -1,10 +0,0 @@
|
|||
# Links & Resources
|
||||
# https://github.com/matrix-org/mjolnir/blob/main/docs/setup_docker.md
|
||||
|
||||
services:
|
||||
mjolnir:
|
||||
image: docker.io/matrixdotorg/mjolnir:v1.12.1
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- ./mjolnir_data:/data
|
||||
- ./configs/config.yaml:/data/config/production.yaml:ro
|
||||
|
|
@ -1,23 +0,0 @@
|
|||
# https://github.com/matrix-org/mjolnir/blob/main/config/default.yaml
|
||||
|
||||
homeserverUrl: "https://matrix.hamburg.ccc.de"
|
||||
rawHomeserverUrl: "https://matrix.hamburg.ccc.de"
|
||||
# Mjolnir should be able to retrieve an access token itself
|
||||
encryption:
|
||||
use: true
|
||||
username: "moderation"
|
||||
password: {{ secret__mjolnir_matrix_user_password }}
|
||||
dataPath: "/data/storage"
|
||||
autojoinOnlyIfManager: true
|
||||
recordIgnoredInvites: true
|
||||
# The native encryption backend doesn't seem to support v12 rooms yet.
|
||||
# https://github.com/matrix-org/mjolnir/issues/641
|
||||
managementRoom: "#moderation-management-v11:hamburg.ccc.de"
|
||||
forwardMentionsToManagementRoom: false
|
||||
verboseLogging: false
|
||||
logLevel: "INFO"
|
||||
syncOnStartup: true
|
||||
verifyPermissionsOnStartup: true
|
||||
noop: false
|
||||
fasterMembershipChecks: false
|
||||
protectAllJoinedRooms: true
|
||||
Loading…
Reference in a new issue