trustgraph/trustgraph-flow/trustgraph/iam
cybermaggedon 29d3100c46
fix: IAM bootstrap atomicity and bootstrapper startup ordering (#935)
IAM auto-bootstrap could get permanently stuck in a half-done state:
_seed_tables wrote the workspace first, so any_workspace_exists()
returned true on restart even when user/key/signing-key creation had
failed.  Remove workspace creation from _seed_tables (WorkspaceInit
handles it) and use any_signing_key_exists() as the completion check
since the signing key is the last thing written.

Run pre-service initialisers (PulsarTopology) in start() before
opening pub/sub connections, breaking the chicken-and-egg where the
bootstrapper needed Pulsar namespaces that it was responsible for
creating.  Guard against empty cluster list when broker isn't ready.
2026-05-18 22:08:12 +01:00
..
noauth feat: add no-auth IAM regime as a drop-in replacement for iam-svc (#933) 2026-05-18 14:10:05 +01:00
service fix: IAM bootstrap atomicity and bootstrapper startup ordering (#935) 2026-05-18 22:08:12 +01:00
__init__.py feat: IAM service, gateway auth middleware, capability model, and CLIs (#849) 2026-04-24 17:29:10 +01:00