Watch
0
0
Fork
You've already forked hyperhive
0

matrix: serve the web client unconditionally; link it from the swarm domain

Removes services.hyperhive.deploy.matrix.gui.enable and its
swarm.matrix.gui.enable alias; both are mkRemovedOptionModule stubs. A
host running the homeserver serves fluffychat at gatewayHost's vhost,
and the hive's /matrix/ redirect follows the same condition.

The swarm-controller builds the Matrix quick link from
swarm.matrix.gatewayHost, replacing hive-matrix.nix's per-host entry.
HIVE_MATRIX_PUBLIC_URL is set on every hive with a gatewayHost, so
`hivectl open matrix` resolves off the homeserver's host too.

Drops HIVE_MATRIX_GUI_ENABLED and the dashboard's matrix_gui_enabled
field; nothing in the frontend reads it.

Refs #4885
This commit is contained in:
atlas 2026-10-02 18:41:21 +02:00
commit f60f8af33b
10 changed files with 48 additions and 96 deletions

View file

@ -51,7 +51,14 @@ let
icon = "📜";
inherit (swarmCfg.victorialogs) domain;
}
];
]
# A null `gatewayHost` means no vhost fronts the homeserver, so there is
# no web client to link to.
++ lib.optional (swarmCfg.matrix.gatewayHost != null) {
label = "Matrix";
icon = "💬";
url = "https://${swarmCfg.matrix.gatewayHost}/";
};
# Where the secret store is, and whether this host holds the controller's
# own leaf for it. ⚠️ The controller's pair, NOT `deploy.bao.clientCertFile`
@ -451,8 +458,9 @@ in
or swarm-ui change.
The Authelia, Grafana, Metrics and Logs entries come from
`services.hyperhive.swarm.<service>.domain`, so they are present
whichever host runs each service. `hive-matrix.nix`,
`services.hyperhive.swarm.<service>.domain`, and the Matrix entry
from `services.hyperhive.swarm.matrix.gatewayHost` when it is set,
so they are present whichever host runs each service.
`hive-forge/default.nix` and `swarm-ui.nix` contribute their own
entries, and only where they are enabled on this host.