docs(matrix): fix stale matrix.<hive> vhost + assertion-list claims
Verified against nix/host-modules/hive-matrix.nix: gatewayHost's current default is chat.<swarm-domain>, not matrix.<hive>, so the GUI mount point and fluffychat client line were stale. Also rewrote the Assertion rationale section, which named an assertion (hyperhiveDomain/serverName) that doesn't exist in this module and missed the three SSO assertions that do.
This commit is contained in:
parent
f41acfcc6e
commit
150cb1be76
1 changed files with 18 additions and 8 deletions
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
Private Matrix homeserver (matrix-tuwunel — the conduwuit
|
Private Matrix homeserver (matrix-tuwunel — the conduwuit
|
||||||
successor) wrapped in a nixos-container, plus optional fluffychat-web
|
successor) wrapped in a nixos-container, plus optional fluffychat-web
|
||||||
client at `matrix.<hive>/`. Configured via
|
client at `chat.<swarm-domain>/` (the `gatewayHost` vhost). Configured via
|
||||||
`services.hyperhive.swarm.matrix.*`; vhost routing lives in
|
`services.hyperhive.swarm.matrix.*`; vhost routing lives in
|
||||||
[`gateway.md`](gateway.md).
|
[`gateway.md`](gateway.md).
|
||||||
|
|
||||||
|
|
@ -208,18 +208,28 @@ resource-constrained hosts where a 20 MB request is unexpectedly large.
|
||||||
|
|
||||||
## Assertion rationale
|
## Assertion rationale
|
||||||
|
|
||||||
Two `config.assertions` entries fail eval early rather than ship
|
`config.assertions` in this module fail eval early rather than ship
|
||||||
surprising behaviour:
|
surprising behaviour:
|
||||||
|
|
||||||
- **`hyperhiveDomain != null || cfg.serverName != null`** —
|
|
||||||
`server_name` is embedded into every user / room ID irrevocably;
|
|
||||||
we refuse to spawn the homeserver with a bogus `server_name` we
|
|
||||||
can never change later.
|
|
||||||
- **`cfg.gatewayHost != ""`** — same footgun as `forge.domain`:
|
- **`cfg.gatewayHost != ""`** — same footgun as `forge.domain`:
|
||||||
empty string renders `.<hive>`-shaped garbage in both nginx
|
empty string renders `.<hive>`-shaped garbage in both nginx
|
||||||
`server_name` (treated as wildcard catch-all, surprising) and
|
`server_name` (treated as wildcard catch-all, surprising) and
|
||||||
`/etc/hosts` (invalid entry). `null` is the right opt-out shape;
|
`/etc/hosts` (invalid entry). `null` is the right opt-out shape;
|
||||||
empty string is rejected explicitly.
|
empty string is rejected explicitly.
|
||||||
|
- **`sso.enable` requires `sso.clientSecretFile`** — fails at eval,
|
||||||
|
not at boot: tuwunel reads its identity providers from the config
|
||||||
|
file, so a half-configured one can stop the homeserver from
|
||||||
|
starting outright rather than merely hiding a login button.
|
||||||
|
- **`sso.enable` requires `swarm.authelia.url`** — without a
|
||||||
|
provider URL there is nothing to discover against.
|
||||||
|
- **`sso.enable` requires `gatewayHost != null`** — the SSO callback
|
||||||
|
URL is format-locked to `<homeserver>/_matrix/client/unstable/login/sso/callback/<client_id>`,
|
||||||
|
and the identity provider needs a public name to redirect the
|
||||||
|
browser to.
|
||||||
|
|
||||||
|
`server_name`'s own bogus-value guard lives in `hive-network.nix`
|
||||||
|
(`services.hyperhive.domain != null`), not here — see
|
||||||
|
[`docs/network.md`](network.md).
|
||||||
|
|
||||||
## fluffychat-web build fixes
|
## fluffychat-web build fixes
|
||||||
|
|
||||||
|
|
@ -265,5 +275,5 @@ Two non-obvious details worth knowing before touching either derivation:
|
||||||
Drop both derivations when nixpkgs's flutter builder grows worker
|
Drop both derivations when nixpkgs's flutter builder grows worker
|
||||||
+ emcc support upstream.
|
+ emcc support upstream.
|
||||||
|
|
||||||
Mount point is `matrix.<hive>/`; upstream `--base-href "/"` is
|
Mount point is `chat.<swarm-domain>/` (the `gatewayHost` vhost);
|
||||||
correct at sub-domain root, no override.
|
upstream `--base-href "/"` is correct at sub-domain root, no override.
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue