parent
0fc77df1a9
commit
8e09f8360a
47 changed files with 98 additions and 1026 deletions
|
|
@ -281,42 +281,12 @@ in
|
|||
# settings: docs/integrations/matrix.md. Vhost map + discovery flow + tuning
|
||||
# knobs: docs/networking/gateway.md.
|
||||
|
||||
# Matrix lives under `swarm`, beside the other swarm-global services. One
|
||||
# rename for the top-level `services.hyperhive.matrix` namespace: the
|
||||
# subtree comes with it, so existing hives keep evaluating and get one
|
||||
# warning naming both paths.
|
||||
imports = [
|
||||
(lib.mkRenamedOptionModule
|
||||
[ "services" "hyperhive" "matrix" ]
|
||||
[ "services" "hyperhive" "swarm" "matrix" ]
|
||||
)
|
||||
# "does THIS host run it" is a per-host decision, and `swarm.*` is the
|
||||
# namespace every host in the swarm agrees on. What stays under
|
||||
# `swarm.matrix` is the homeserver's identity as every hive sees it —
|
||||
# its server name, its addresses, its federation policy.
|
||||
(lib.mkRenamedOptionModule
|
||||
[ "services" "hyperhive" "swarm" "matrix" "enable" ]
|
||||
[ "services" "hyperhive" "deploy" "matrix" "enable" ]
|
||||
)
|
||||
(lib.mkRemovedOptionModule [ "services" "hyperhive" "swarm" "matrix" "sso" "enable" ] ''
|
||||
SSO is no longer optional: a homeserver that runs at all delegates
|
||||
login to the swarm's authelia.
|
||||
|
||||
Removed rather than defaulted to true so a config that turned it
|
||||
OFF fails here, where the line is, instead of silently gaining a
|
||||
login flow on the next rebuild. Drop the line; if it was false,
|
||||
set services.hyperhive.deploy.matrix.sso.clientSecretFile and
|
||||
services.hyperhive.swarm.authelia.url as the assertions describe.
|
||||
'')
|
||||
];
|
||||
|
||||
# `swarm.matrix`, in ./hive-matrix-service.nix, is what the homeserver IS from
|
||||
# any hive's point of view: the name it answers to, the URLs it is
|
||||
# reached on, and the client id it is registered under. What lives here is what the host running it
|
||||
# decides — which build it runs, whether it is exposed, which peers it trusts,
|
||||
# how large a request it accepts, and where its host-local secrets sit. Same rule as
|
||||
# ./swarm-victorialogs.nix; `enable` already lives in ./deploy.nix, which also
|
||||
# carries the renames.
|
||||
# ./swarm-victorialogs.nix; `enable` lives in ./deploy.nix.
|
||||
options.services.hyperhive.deploy.matrix = {
|
||||
package = lib.mkOption {
|
||||
type = lib.types.package;
|
||||
|
|
|
|||
Loading…
Reference in a new issue