hivectl, hive-c0re: remove dead matrix create-user/promote-user/reset-password
Human matrix accounts come from SSO, not hivectl. Matrix homeserver admin will come from authelia's admins group (sync tracked in #4585); password reset moves to swarm level (#4798). promote-user and reset-password were already broken from the hive: the hive's sender account has no admin sender to call the admin room with, only the swarm's does. Removes the three hivectl matrix verbs, their HostRequest variants, their hive-c0re handlers, and the admin-room helpers (discover room id, send-and-poll, event-id extraction, password/success parsing) that only they used. sync-admin and invite are unchanged. Refs #4585
This commit is contained in:
parent
69ae23f801
commit
93bbec015f
12 changed files with 37 additions and 748 deletions
|
|
@ -130,8 +130,7 @@ a token.
|
|||
so the sibling credentials are invisible to it. The `.yaml` suffix on
|
||||
the credential id is what makes this work.
|
||||
5. **hive-c0re** reads the appservice token and creates its own
|
||||
`@hive-<hive>:` account, and the accounts an operator asks for with
|
||||
`hivectl matrix create-user`. It never mints the token itself: the value
|
||||
`@hive-<hive>:` account. It never mints the token itself: the value
|
||||
has to be the one the rendered registration names, and only the nix
|
||||
side writes that.
|
||||
6. **Agents' accounts aren't this hive's.** `swarm-controller` creates each
|
||||
|
|
@ -199,15 +198,12 @@ being the rooms' own creator at power level 100 — there is no homeserver
|
|||
admin in any of it, and no Synapse admin API to reach for either, since
|
||||
tuwunel has none.
|
||||
|
||||
Two operations need an admin **sender**: `hivectl matrix promote-user`
|
||||
and `hivectl matrix reset-password`. Both are `!admin …` messages into
|
||||
`#admins:<server_name>`, and tuwunel only treats a message as a command
|
||||
when its sender is already an admin. They're swarm-level operations,
|
||||
rehomed to the swarm tier rather than granted here; from the hive,
|
||||
`@hive-<hive>:` has no admin sender to make that call with, so both get the
|
||||
admin room's refusal rather than an over-privileged credential that
|
||||
every other call site would also carry. The swarm's own sender is the
|
||||
admin they need; moving them there is separate work.
|
||||
Promoting a user to homeserver admin and resetting a password both need an
|
||||
admin **sender**: `!admin …` messages into `#admins:<server_name>`, and
|
||||
tuwunel only treats a message as a command when its sender is already an
|
||||
admin. `@hive-<hive>:` has no admin sender to make that call with. They're
|
||||
swarm-level operations: matrix admin should eventually come from
|
||||
membership in authelia's `admins` group; nobody has built that sync yet.
|
||||
|
||||
<details><summary>Upgrading a hive that shared one sender account with every other hive</summary>
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue