Watch
0
0
Fork
You've already forked hyperhive
0
hyperhive/swarm-controller/src
Repository files (latest commit first)
Filename Latest commit message Latest commit date
atlas 962c1548eb swarm-controller: revoke matrix admin from former operators
The operator admin sync now also takes homeserver admin away. It records
each user id it sends `make-user-admin` for in
`operator-matrix-admins.json` under the controller's state directory
(written to a temporary file and renamed over it; a missing file is an
empty set). On each pass, a recorded account that is no longer in
authelia's `admins` group but is still joined to `#admins:<server>` is
sent `!admin users force-leave-room <user> <admin room id>` as `@swarm`,
over the same `/_matrix` path the grant uses. Leaving that room is what
ends tuwunel admin.

It never revokes an admin it didn't grant, `@swarm`, tuwunel's server
user (`@conduit:<server>`), an agent's account (the store's
`hive-agent-*` cert roles, the same roster the agent account mint uses),
or anyone in the new `services.hyperhive.swarm.matrix.adminSync.ignoreUsers`
list. That list reaches the daemon as
`SWARM_CONTROLLER_MATRIX_ADMIN_SYNC_IGNORE_USERS`. It also never sends a
revoke that would leave `#admins` with no member besides `@swarm` and the
server user.

A revoke is sent at most once per account per controller process, like a
grant. A recorded account that is out of both the group and the room is
dropped from the file.

Closes #4799
2026-10-05 12:39:02 +02:00
..
forge config repos: drop the hive's branch-protection edit and core from the merge gate 2026-10-02 23:13:03 +02:00
matrix_account swarm-controller: revoke matrix admin from former operators 2026-10-05 12:39:02 +02:00
agent_icon.rs swarm: let an agent publish its own icon 2026-09-28 13:47:37 +02:00
agent_identity.rs swarm-secret-client: agents may list their own subtree; controller rewrites agent policies 2026-10-01 17:43:28 +02:00
agent_input.rs swarm UI: send a message to an agent, without its hive 2026-10-04 03:02:14 +02:00
agent_renewal.rs swarm-controller: first credential-renewal pass waits for the queue connection 2026-09-30 15:46:56 +02:00
agent_state_stream.rs swarm-controller: the term and state stream 404/500 text describes a per-agent stream 2026-10-04 22:24:51 +02:00
agent_status.rs swarm-ui: add agent start/stop, backed by the wanted-state route 2026-09-02 19:57:04 +02:00
auth.rs swarm options: no swarm.* value depends on a deploy option or this host's hive 2026-10-04 18:13:47 +02:00
config_pr.rs hive-c0re: remove the approvals subsystem 2026-10-04 23:55:32 +02:00
forge.rs hive-c0re: drop the spawn-time forge user-email, repo-creation and config-repo passes 2026-10-04 20:50:50 +02:00
forge_account.rs use a neutral forge name in link-form placeholders, schema examples and tests 2026-10-04 15:51:20 +02:00
github_account.rs swarm-controller: inject the account store so link-route tests use the fake 2026-10-04 08:43:24 +02:00
issue_report.rs swarm-controller: answer 404, not 503, for an issue-report on a nonexistent repo 2026-09-24 16:38:47 +02:00
linked_accounts.rs use a neutral forge name in link-form placeholders, schema examples and tests 2026-10-04 15:51:20 +02:00
main.rs swarm-controller: revoke matrix admin from former operators 2026-10-05 12:39:02 +02:00
matrix_account.rs swarm-controller: make authelia's operators matrix homeserver admins 2026-10-04 16:45:08 +02:00
otel_http_client.rs swarm-queue-client: request the bearer-authz scope when minting an agent token 2026-09-17 09:51:44 +02:00
queue_identity.rs swarm-controller: read the queue client secret from the store, drop the file 2026-09-28 19:01:05 +02:00
read_policy.rs swarm-secret-client: agents may list their own subtree; controller rewrites agent policies 2026-10-01 17:43:28 +02:00
schedules.rs swarm: named scheduled prompts for one or more agents, fired in each agent 2026-10-04 17:24:57 +02:00
status.rs swarm-controller: make status::render/row pub(crate) so agent_status.rs's doc links resolve 2026-09-02 10:20:29 +02:00
store.rs fix doc-comment pointers broken by the module-eval split 2026-09-20 04:31:08 +02:00
subagent_term.rs swarm-controller: drop the relay subscription to the refused hive-scoped agent subject 2026-10-04 22:24:51 +02:00
term_stream.rs swarm-controller: the term and state stream 404/500 text describes a per-agent stream 2026-10-04 22:24:51 +02:00
vcs_metrics.rs swarm-controller: read the queue client secret from the store, drop the file 2026-09-28 19:01:05 +02:00
wanted.rs swarm-controller: first credential-renewal pass waits for the queue connection 2026-09-30 15:46:56 +02:00
webhook.rs config PRs: remove the hive's config-PR webhook, poll and core merge 2026-10-02 23:13:03 +02:00