kanidm: compose the shared IdP on caco-zero-three, roster to the host #16
Loading…
Reference in a new issue
No description provided.
Delete branch "feat/kanidm-caco"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Second commit of the Kanidm work on the tenant box, caco-zero-three.
The shared IdP module (
services/kanidm) stopped being heimdall's alone andnow reads its roster from the host. This applies it to the tenant's box the
same way heimdall carries it.
What lands
composition.nixpulls in../../services/kanidm, appended after theother service modules for the reason this list is order-sensitive. The
module brings the server, the client, the
idm.<domain>certificate and theCaddy vhost. Its oauth2 clients are all gated on services this box does not
run (no matrix, no grafana, no forgejo), so only the core IdP lands.
identity.nixis the tenant's roster, kept with the host rather than theservice — the one thing two deployments of the module can never share. It
starts with a single person on purpose,
dronthe operator who owns thisbox, so the IdP can be brought up and verified end to end before the rest of
the roster is enrolled. One flat group (
idm-users) to start; there are nooauth2 clients to map a scope to yet, so an admin layer is premature.
immutable-etc.nixpins kanidm to uid987/ gid981. The moduledefaults to
999, which is nscd's on this box, so the pin overrides it witha fresh allocation continuing the file's walk into free ground (987/981
verified free on the box), keeping
/var/lib/kanidmon a stable owner acrossdeploys.
Deliberately out of scope (operator steps at deploy time)
kanidm-idm-admin-passwordis still to be added tosecrets/hosts/caco-zero-three.yaml.idm.cacodaemon.spaceDNS record is still to be created.Both are operator steps, not part of this change. sops-nix fails at
activation, not eval, so CI stays green on this commit; the secret and the
DNS record become load-bearing at
nixos-rebuildtime.Eval
Local semantic eval is not feasible on this box (1.5 GB disk / 4 GB RAM, a full
eval needs ~1.5 GB free). Verified instead by
nix-instantiate --parseon allfour files plus source-level tracing of every option the module reads
(
bootstrap = falseon caco,nd.services.matrixTuwunel.serverName,nd.services.observability.grafanaDomain,nd.backups.state, the Caddysnippets
common/acme_challenge/proxy_headers, and thesecret-hygienetest, which only checks files are encrypted and does not assert every declared
sops secret has a YAML key).
Step two of putting an IdP on caco-zero-three. The shared module (services/kanidm) stopped being heimdall's alone and now reads its roster from the host; this applies it to the tenant's box. - composition.nix pulls in ../../services/kanidm, appended after the other service modules for the reason this list is order-sensitive. The module brings the server, the client, the idm.<domain> certificate and the Caddy vhost; its oauth2 clients are all gated on services this box does not run, so only the core IdP lands. - identity.nix is the tenant's roster, kept with the host rather than the service -- the one thing two deployments of the module can never share. It starts with a single person on purpose, dron the operator who owns this box, so the IdP can be brought up and verified end to end before the rest of the roster is enrolled. One flat group (idm-users) to start; there are no oauth2 clients to map a scope to yet, so an admin layer is premature. - immutable-etc.nix pins kanidm to uid 987 / gid 981. The module defaults to 999, which is nscd's on this box, so the pin overrides it with a fresh allocation continuing the file's walk into free ground (987/981 verified free on the box), keeping /var/lib/kanidm on a stable owner across deploys. The sops secret kanidm-idm-admin-password is still to be added to secrets/hosts/caco-zero-three.yaml and the idm.cacodaemon.space DNS record is still to be created -- both are operator steps at deploy time, not part of this change; sops-nix fails at activation, not eval, so CI stays green.Review of PR #16: feat/kanidm-caco (head
a193c5a)The PR is one commit touching four files under hosts/caco-zero-three/. The changes you have staged locally in the working tree (the awg-gateway ones) aren't part of this PR, and the review ignores them. Verdict: don't merge yet. The PR description says a missing sops key only fails at activation, but it actually breaks caco's build. Every deploy to caco will fail until the key is added.
Blocking
Should fix
Comment errors
Design questions (not bugs)
The quickest path to mergeable is to add the sops key and create the DNS record before merging, rather than after. Then rename the group to matrix-users/admin-users and update the tripwire test. I haven't posted anything to the PR. I can leave these as review comments, or fix the smaller items on the branch.
View command line instructions
Manual merge helper
Use this merge commit message when completing the merge manually.
Checkout
From your project repository, check out a new branch and test the changes.Merge
Merge the changes and update on Forgejo.Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.