openova/platform
hatiyildiz 42aeb629bb docs(pass-7): rewrite OpenBao + ESO READMEs to match agreed multi-region semantics
Pass 7 — line-by-line read of platform/openbao/README.md and
platform/external-secrets/README.md found a major architectural drift:
both files described an OLD active-active bidirectional sync model
that contradicts docs/SECURITY.md §5 (the canonical reference).

The active-active design was rejected during the architecture session
because it would have been a stretched cluster — a single region's
network blip would block writes everywhere. The agreed model is:

- Independent Raft cluster per region (intra-region quorum only).
- Single-primary writes; replicas accept reads only.
- Async Performance Replication primary → replicas (lag <1s typical).
- Explicit DR promotion (sovereign-admin or failover-controller).

Fixes:

platform/openbao/README.md:
- Overview: removed "active-active deployments" / "either region can
  update secrets". Replaced with "independent Raft cluster per region",
  "asynchronous Performance Replication".
- Architecture diagram: replaced bidirectional-push diagram with the
  primary→replicas async perf replication topology that matches
  SECURITY.md §5.
- ClusterSecretStores: simplified from "two stores (local+remote)" to
  "one local store"; reads always pull locally.
- Renamed "PushSecret (Bidirectional)" → "Writes go to the primary
  region" with a single-target PushSecret pointing at bao-primary.
- Added DR promotion section pointing at SECURITY.md §5.2.
- Status banner: notes that the canonical multi-region reference is
  SECURITY.md.

platform/external-secrets/README.md:
- Header line: repositioned as per-host-cluster infrastructure with
  pointer to PLATFORM-TECH-STACK §3.3.
- Removed broken link to non-existent ../openbao/docs/ADR-OPENBAO.md
  (replaced with link to ../openbao/README.md).
- "Multi-region sync | Push to both OpenBao instances simultaneously"
  → "Multi-region reads | Async perf replication".
- "PushSecret to Multiple OpenBao Instances" example was writing to
  two ClusterSecretStores in parallel — replaced with single-target
  primary write.
- "Multi-region sync via single PushSecret" in Consequences →
  "Cross-region availability via Performance Replication".
- Mermaid sequence diagram: "Bootstrap Wizard" actor → "Catalyst
  Bootstrap (Phase 0)"; "Terraform" → "OpenTofu"; ESO connection
  description "via K8s auth" → "via SPIFFE SVID (workload identity)".

These were the most consequential drift fixes found in any pass —
two READMEs were documenting an architecture explicitly rejected by
the agreed model.

Refs #37
2026-04-27 21:34:09 +02:00
..
anthropic-adapter refactor: flatten platform/ structure (41 components) 2026-02-08 15:19:48 +00:00
bge refactor: flatten platform/ structure (41 components) 2026-02-08 15:19:48 +00:00
cert-manager refactor: flatten platform/ structure (41 components) 2026-02-08 15:19:48 +00:00
cilium refactor: flatten platform/ structure (41 components) 2026-02-08 15:19:48 +00:00
clickhouse feat: ecosystem expansion to 55 components with license compliance 2026-02-11 18:15:11 +00:00
cnpg docs(components): terminology pass across platform and product READMEs 2026-04-27 20:06:51 +02:00
coraza feat: restructure platform to 52 components and 9 products 2026-02-26 21:00:19 +00:00
crossplane docs(components): terminology pass across platform and product READMEs 2026-04-27 20:06:51 +02:00
debezium docs(components): terminology pass across platform and product READMEs 2026-04-27 20:06:51 +02:00
external-dns refactor: flatten platform/ structure (41 components) 2026-02-08 15:19:48 +00:00
external-secrets docs(pass-7): rewrite OpenBao + ESO READMEs to match agreed multi-region semantics 2026-04-27 21:34:09 +02:00
failover-controller refactor: flatten platform/ structure (41 components) 2026-02-08 15:19:48 +00:00
falco feat: ecosystem expansion to 55 components with license compliance 2026-02-11 18:15:11 +00:00
ferretdb feat: restructure platform to 52 components and 9 products 2026-02-26 21:00:19 +00:00
flink feat: restructure platform to 52 components and 9 products 2026-02-26 21:00:19 +00:00
flux docs(components): terminology pass across platform and product READMEs 2026-04-27 20:06:51 +02:00
gitea docs(components): terminology pass across platform and product READMEs 2026-04-27 20:06:51 +02:00
grafana docs(components): terminology pass across platform and product READMEs 2026-04-27 20:06:51 +02:00
harbor refactor: flatten platform/ structure (41 components) 2026-02-08 15:19:48 +00:00
iceberg feat: restructure platform to 52 components and 9 products 2026-02-26 21:00:19 +00:00
k8gb docs(components): terminology pass across platform and product READMEs 2026-04-27 20:06:51 +02:00
keda docs(components): terminology pass across platform and product READMEs 2026-04-27 20:06:51 +02:00
keycloak refactor: flatten platform/ structure (41 components) 2026-02-08 15:19:48 +00:00
knative refactor: flatten platform/ structure (41 components) 2026-02-08 15:19:48 +00:00
kserve refactor: flatten platform/ structure (41 components) 2026-02-08 15:19:48 +00:00
kyverno docs(components): terminology pass across platform and product READMEs 2026-04-27 20:06:51 +02:00
langfuse feat: restructure platform to 52 components and 9 products 2026-02-26 21:00:19 +00:00
librechat feat: restructure platform to 52 components and 9 products 2026-02-26 21:00:19 +00:00
litmus feat: restructure platform to 52 components and 9 products 2026-02-26 21:00:19 +00:00
livekit feat: restructure platform to 52 components and 9 products 2026-02-26 21:00:19 +00:00
llm-gateway refactor: flatten platform/ structure (41 components) 2026-02-08 15:19:48 +00:00
matrix feat: restructure platform to 52 components and 9 products 2026-02-26 21:00:19 +00:00
milvus refactor: flatten platform/ structure (41 components) 2026-02-08 15:19:48 +00:00
minio refactor: flatten platform/ structure (41 components) 2026-02-08 15:19:48 +00:00
nemo-guardrails feat: restructure platform to 52 components and 9 products 2026-02-26 21:00:19 +00:00
neo4j refactor: flatten platform/ structure (41 components) 2026-02-08 15:19:48 +00:00
openbao docs(pass-7): rewrite OpenBao + ESO READMEs to match agreed multi-region semantics 2026-04-27 21:34:09 +02:00
openmeter feat: restructure platform to 52 components and 9 products 2026-02-26 21:00:19 +00:00
opensearch feat: ecosystem expansion to 55 components with license compliance 2026-02-11 18:15:11 +00:00
opentofu docs(components): terminology pass across platform and product READMEs 2026-04-27 20:06:51 +02:00
reloader feat: restructure platform to 52 components and 9 products 2026-02-26 21:00:19 +00:00
sigstore feat: restructure platform to 52 components and 9 products 2026-02-26 21:00:19 +00:00
stalwart refactor: flatten platform/ structure (41 components) 2026-02-08 15:19:48 +00:00
strimzi feat: restructure platform to 52 components and 9 products 2026-02-26 21:00:19 +00:00
stunner refactor: flatten platform/ structure (41 components) 2026-02-08 15:19:48 +00:00
syft-grype feat: restructure platform to 52 components and 9 products 2026-02-26 21:00:19 +00:00
temporal feat: restructure platform to 52 components and 9 products 2026-02-26 21:00:19 +00:00
trivy refactor: flatten platform/ structure (41 components) 2026-02-08 15:19:48 +00:00
valkey refactor: flatten platform/ structure (41 components) 2026-02-08 15:19:48 +00:00
velero docs(components): terminology pass across platform and product READMEs 2026-04-27 20:06:51 +02:00
vllm refactor: flatten platform/ structure (41 components) 2026-02-08 15:19:48 +00:00
vpa docs(components): terminology pass across platform and product READMEs 2026-04-27 20:06:51 +02:00