Skip to main content

Readiness

:::info Source Sourced from services/tenant-service/SERVICE_READINESS.md in the documentation repo. :::

1. Readiness per Milestone

MilestoneLevelJustification
M0L2Tenants, org units, roles, memberships, basic ABAC.
M1L3Customer-facing for pilots; feature-flag overrides.
M2L3Provider tenants for marketplace.
M3L4SAML JIT provisioning, full ABAC, dynamic groups, compliance reports.
M4L4
M5L4Data residency migration saga live.

2. Canonical Gates

G1 — Domain

  • Aggregates Tenant, OrgUnit, Membership, Role, DynamicGroup, FeatureFlagOverride.
  • Invariants: OrgUnit tree integrity (ltree), unique slug per scope, role system/tenant invariant.
  • Unit coverage ≥ 95%.

G2 — API

  • OpenAPI published; idempotency + problem+json + cursor pagination.
  • Pact contracts with every consumer of tenant data.

G3 — Events

  • Subjects: tenant.org.*, tenant.role.*, tenant.membership.*, tenant.org_unit.*, tenant.dynamic_group.*, tenant.data_residency.*.
  • Outbox + inbox + schema registry.

G4 — Sync

  • Role, Permission, DynamicGroup replicable; server_authoritative.

G5 — AI

  • No direct AI. ABAC predicate linter is rule-based. N/A.

G6 — Observability

  • SLO: authz decision p95 < 20ms (in-process), /authz/check p95 < 50ms.
  • Dashboards: authz grant/deny rates per tenant, policy bundle version.

G7 — Performance

  • 50k authz decisions / sec / pod sustained.
  • Dynamic group re-eval < 60s for tenants with 100k members.

G8 — Security

  • Two-tenant isolation suite green.
  • Policy-linter blocks predicates without tenant scope.
  • Pen-test #1 closed.

3. SLOs

SLITarget
Availability99.99%
/authz/check p95< 50ms
Policy bundle refresh< 60s
Dynamic group re-eval< 5 min for 100k-member tenant
Tenant provisioning< 30s end-to-end

4. Definition of Done

  • Unit + integration + contract tests green.
  • OpenAPI updated.
  • Event schemas registered.
  • Migrations tested fwd+back.
  • Policy linter pass.
  • Two-tenant isolation test green.
  • Runbook updated.

5. Release Checklists

M3 (L4 target)

  • SAML JIT provisioning complete.
  • ABAC policy editor UI live.
  • Dynamic group performance test at 100k members.
  • Compliance officer UI.
  • Signed policy bundle pipeline.

M5 (Data Residency)

  • Data-residency migration saga tested on production-size tenant.
  • Rollback tested.
  • Multi-region active-active tenant reads.