Commit Graph

7 Commits

Author SHA1 Message Date
hatiyildiz
76e68e6182 docs(pass-36): flux deep-scrutiny + sweep gap-fill (Pass 35 head -10 cutoff)
Pass 35's sweep grep had `head -10` cutoff that produced a false-clean
signal. Pass 36 ran the same grep without truncation, finding 6 surviving
drift instances:

platform/flux/README.md (5 fixes):
- Mermaid diagram: Tenant[Tenant Repos] -> Organization[Organization Repos].
- GitRepository url gitea.<domain> -> gitea.<location-code>.<sovereign-domain>.
- Bootstrap command --url=https://gitea.<domain>/... -> canonical form.
- Key commands `flux reconcile kustomization tenants` -> `organizations`
  (Pass 34 was uppercase-only and missed lowercase plural).
- Gitea Actions example flux-webhook.<domain> -> location-code form.

platform/kyverno/README.md (1 fix):
- Mermaid subgraph "Tenant Workload" -> "Organization Workload"
  (the priority class names tenant-high/tenant-default remain — those
  are deployed K8s PriorityClass objects requiring recreate-not-rename
  per Pass 9's deferred-migration note).

Methodology lesson: convenience shortcuts in validation produce false-clean
signals. From Pass 37 forward: drift sweeps use full grep output (no
truncation) and case-insensitive banned-term searches.

Validation log Pass 36 entry includes detail on each preserved
"multi-tenant" generic adjective use that survived (acceptable feature
descriptions, not Catalyst entity references).
2026-04-27 22:49:05 +02:00
hatiyildiz
5f028d1b6a docs(pass-20): SOVEREIGN-PROVISIONING placement YAML + Kyverno label drift
Pass 20 — drift-detection on SOVEREIGN-PROVISIONING + platform/kyverno.
Two real findings.

SOVEREIGN-PROVISIONING.md §8:
- "Existing Applications with `placement: active-active: false,
  single-region` do not migrate automatically" — invalid YAML
  mixing a boolean with an enum. The canonical placement model
  (per GLOSSARY) has `placement.mode: single-region | active-
  active | active-hotstandby`, no boolean toggle.
- Rewrote: "Existing Applications with `placement.mode: single-
  region` ... user explicitly switches Placement to active-active
  (or active-hotstandby) and adds the new region to
  placement.regions".

platform/kyverno/README.md:
- Policy V5 (minimum-replicas-production) targeted namespaces
  labeled `openova.io/env: production` — out-of-spec label name
  AND value. NAMING-CONVENTION §6 establishes `openova.io/env-type:
  prod` (hyphen-form, short value).
- Fixed to `openova.io/env-type: prod`.

Both findings show the same pattern: schema-level details that
survive grep-based banned-term checks but contradict the canonical
spec when read in body.

VALIDATION-LOG: Pass 20 entry added.

Refs #37
2026-04-27 22:06:24 +02:00
hatiyildiz
ea81c38e15 docs(pass-9): role-in-Catalyst banners on grafana / harbor / falco / kyverno / sigstore / syft-grype
Pass 9 — six more component READMEs got Catalyst-role banners
matching the rule of thumb in CLAUDE.md (every platform/<x>/README.md
should state its role in Catalyst).

- grafana: observability stack on every host cluster; Catalyst's
  own self-monitoring + Application telemetry flows here.
- harbor: per-host-cluster container registry for Catalyst images,
  mirrored Blueprint OCI artifacts, customer images.
- falco: runtime security on every host cluster; feeds SIEM/SOAR.
- kyverno: policy engine on every host cluster; enforces Catalyst
  policy contracts (cosign on Blueprints, default-deny NetworkPolicies
  on Organization namespaces, priority-class injection).
- sigstore: cosign-signed Blueprint OCI artifacts + admission
  verification chain on every host cluster.
- syft-grype: SBOM generation in CI per Blueprint + runtime CVE scans.

Plus Kyverno priority-class clarification: prose around `tenant-high`
/ `tenant-default` / `tenant-batch` priority class names now reads
"Organization workloads" instead of "tenant workloads", with an
explicit note that the priority class artifact names themselves stay
as-is until a separate migration ticket renames them in deployed
clusters (renaming PriorityClass objects requires recreate, not
in-place rename).

VALIDATION-LOG: Pass 9 entry added.

Refs #37
2026-04-27 21:40:51 +02:00
hatiyildiz
119a1e53a0 docs(components): terminology pass across platform and product READMEs
Bring per-component READMEs in line with the canonical glossary
(docs/GLOSSARY.md). Substantive architectural content unchanged —
this is a terminology + reference correctness pass.

Placeholder rename: <tenant> → <org> in YAML / IaC examples across
- platform/cnpg/README.md           (Cluster + Pooler + ScheduledBackup)
- platform/debezium/README.md       (PostgreSQL connector + topic patterns)
- platform/external-secrets/README.md (ExternalSecret / SecretStore)
- platform/grafana/README.md        (Instrumentation namespace)
- platform/k8gb/README.md           (Gslb + namespace + kubectl examples)
- platform/keda/README.md           (ScaledObject + Kafka triggers + Prometheus)
- platform/opentofu/README.md       (server resource example)
- platform/velero/README.md         (BackupStorageLocation buckets)
- platform/vpa/README.md            (VerticalPodAutoscaler examples)
- platform/flux/README.md           (kustomization name + tenants/ → organizations/)

"Catalyst IDP" → "Catalyst console":
- platform/crossplane/README.md     (integration section retitled and
                                      rewritten — Crossplane is platform
                                      plumbing, not user-facing)
- platform/gitea/README.md          (architecture diagram + integration table)
- platform/kyverno/README.md        (rollout tracking surface)
- products/fingate/README.md        (TPP onboarding portal)

"Bootstrap wizard" → "Catalyst bootstrap":
- platform/openbao/README.md        (bootstrap procedure rewritten —
                                      independent Raft per region clarified;
                                      cross-references docs/SECURITY.md §5)
- platform/opentofu/README.md       (Quick Start)

Kyverno labels & prose:
- openova.io/tenant → openova.io/organization (label rename for
  consistency; deployed clusters will add new label as a co-label
  during migration window)
- "tenant labels" / "tenant namespace" prose updated to
  "Organization labels" / "Organization-labeled namespace"
- Priority class names (tenant-high, tenant-default, tenant-batch)
  retained as deployed artifact names — rename pending in a
  separate migration ticket

No banned-term hits remain in component READMEs (verified by grep
in docs/GLOSSARY.md banned-terms table).

Refs #37
2026-04-27 20:06:51 +02:00
talent-mesh
435f49738d feat: restructure platform to 52 components and 9 products
Technology forecast and strategic review restructure:
- Remove 13 components (backstage, mongodb, activemq, vitess, airflow, camel, dapr, superset, searxng, langserve, trino, lago, rabbitmq)
- Add 10 components (sigstore, syft-grype, nemo-guardrails, langfuse, reloader, matrix, ferretdb, litmus, livekit, coraza)
- Rename product: Synapse → Axon (SaaS LLM Gateway)
- Merge products: Titan + Fuse → Fabric (Data & Integration)
- New product: Relay (Communication)
- Replace Backstage with Catalyst IDP
- Replace MongoDB with FerretDB (MongoDB wire protocol on CNPG)
- Add supply chain security (Sigstore/Cosign, Syft+Grype)
- Add AI safety and observability (NeMo Guardrails, LangFuse)
- Add technology forecast 2027-2030 document
- Full verification pass: zero stale references across all docs

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-26 21:00:19 +00:00
talent-mesh
bb53df55bb docs: comprehensive Kyverno policy matrix for resilience and zero-trust
Cover 44 policies across generate (VPA, PDB, NetworkPolicy, ResourceQuota,
LimitRange), mutate (topology spread, anti-affinity, security context,
seccomp, Harbor image rewrite, priority class), and validate (resource
requests, health probes, min replicas, pod security restricted profile,
image supply chain, network zero-trust, RBAC hardening).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-09 05:29:05 +00:00
talent-mesh
c9d04a53b4 refactor: flatten platform/ structure (41 components)
Remove hierarchical grouping (networking/, security/, etc.) and use flat
structure for all 41 platform components.

Changes:
- All components now directly under platform/ (no subfolders)
- AI Hub components moved from meta-platforms/ai-hub/components/ to platform/
- Open Banking components (lago, openmeter) moved to platform/
- meta-platforms/ now only contains README files that reference platform/
- Open Banking custom services remain in meta-platforms/open-banking/services/

Structure:
- platform/ (41 components, flat)
- meta-platforms/ai-hub/ (README only, references platform/)
- meta-platforms/open-banking/ (README + 6 custom services)

All documentation links updated.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-08 15:19:48 +00:00