docs(impl-plan): reflect 2026-06-30 cluster split decision #6

Merged
sharang merged 1 commits from refactor/cluster-split-impl-plan into main 2026-06-30 21:16:11 +00:00
Owner

Summary

Updates IMPLEMENTATION_PLAN.md to match the cluster-split decision landed in platform/orca-platform PR #6 (commit 6be727d4). No new milestones; existing IDs (M0.xM18.x) stand. Only M1.2 sizing changes (M → L) to reflect the added cluster-repo split + Keycloak realm migration on top of VM provisioning.

What changes

§1.1 Repo strategy

Adds three cluster repos to the inventory:

  • platform/breakpilot-edge (Identity + Infra, vm-edge)
  • platform/breakpilot-control (Control, vm-control)
  • platform/breakpilot-app (App plane, vm-app-prod + vm-app-stage)

Reframes platform/orca-platform as the staging area where the cluster manifests live design-only under clusters/breakpilot-*/services/ until the legal entity unlocks SysEleven / Hetzner business contracts at M1.2.

§1.8 Environments

Rewrites the three-clusters-by-env model into three-clusters-by-plane. Stage and prod live in the same breakpilot-app cluster on different VMs; identity (breakpilot-edge) and control (breakpilot-control) are not duplicated for stage — stage workloads authenticate against prod KC with tenant.kind = "stage".

M0.1 / M0.3 / M1.1 / M1.2 / M1.3

  • M0.1: note added — the three cluster repos are NOT created at M0.1; they split out at M1.2.
  • M0.3 + M1.3: repo pointers re-targeted to breakpilot-edge / cross-cluster.
  • M1.1: updated to describe the cluster-split layout from PR #6clusters/breakpilot-{edge,control,app}/services/ + per-cluster placement.node whitelist in scripts/validate.sh.
  • M1.2: rewritten as "Provision VMs + split cluster repos." 4 VMs across 3 clusters, KC repurposed from CERTifAI, legal-entity gate added, sized up from M → L.
  • M1.3: backups now per-cluster (each cluster owns its own [backup] block + S3 bucket).

M2.x / M3.x

  • Fix vm-identity / vm-secrets typos to vm-edge.
  • M2.1: explicit KC repurpose from CERTifAI + JVM-pin escape hatch (split KC to its own VM if heap fight shows up).
  • M2.2 / M3.1: repo pointers re-targeted to breakpilot-edge.
  • M3.2: re-pointed to breakpilot-control.

M8.x / M9.x / M18.x

  • ERPNext + Frappe HD repo pointers re-targeted to breakpilot-control.
  • M18.1 ACME work re-pointed to breakpilot-edge.
  • "data plane" → "app plane" everywhere it referred to the cluster; "data-plane" phrasing kept only where it referred to per-tenant data isolation as a concept.

PR-10 narrative

Updated: VM provisioning is now a 4-VM-across-3-clusters split, gated on legal entity.

Cross-refs

  • Companion: platform/orca-platform PR #6 (already merged at 6be727d4)
  • Companion in personal memory: project_breakpilot_plane_model.md captures the constraints (single-VM core, KC repurpose, legal-entity gate, breakpilot-* naming) so future sessions can act on them

Out of scope

  • Creating the three future Gitea repos — happens at M1.2 once legal entity lands
  • VM provisioning, Terraform/OpenStack repo — gated on the same
  • INFRASTRUCTURE.md / PLATFORM_ARCHITECTURE.md — separate PRs if they need to be re-aligned

🤖 Generated with Claude Code

## Summary Updates `IMPLEMENTATION_PLAN.md` to match the cluster-split decision landed in [`platform/orca-platform` PR #6](https://gitea.meghsakha.com/platform/orca-platform/pulls/6) (commit `6be727d4`). No new milestones; existing IDs (`M0.x` – `M18.x`) stand. Only **M1.2 sizing changes (M → L)** to reflect the added cluster-repo split + Keycloak realm migration on top of VM provisioning. ## What changes ### §1.1 Repo strategy Adds three cluster repos to the inventory: - `platform/breakpilot-edge` (Identity + Infra, `vm-edge`) - `platform/breakpilot-control` (Control, `vm-control`) - `platform/breakpilot-app` (App plane, `vm-app-prod` + `vm-app-stage`) Reframes `platform/orca-platform` as the staging area where the cluster manifests live design-only under `clusters/breakpilot-*/services/` until the legal entity unlocks SysEleven / Hetzner business contracts at **M1.2**. ### §1.8 Environments Rewrites the three-clusters-by-env model into **three-clusters-by-plane**. Stage and prod live in the same `breakpilot-app` cluster on different VMs; identity (`breakpilot-edge`) and control (`breakpilot-control`) are **not duplicated** for stage — stage workloads authenticate against prod KC with `tenant.kind = "stage"`. ### M0.1 / M0.3 / M1.1 / M1.2 / M1.3 - **M0.1**: note added — the three cluster repos are NOT created at M0.1; they split out at M1.2. - **M0.3** + **M1.3**: repo pointers re-targeted to `breakpilot-edge` / cross-cluster. - **M1.1**: updated to describe the cluster-split layout from PR #6 — `clusters/breakpilot-{edge,control,app}/services/` + per-cluster `placement.node` whitelist in `scripts/validate.sh`. - **M1.2**: **rewritten** as "Provision VMs + split cluster repos." 4 VMs across 3 clusters, KC repurposed from CERTifAI, legal-entity gate added, sized up from M → L. - **M1.3**: backups now per-cluster (each cluster owns its own `[backup]` block + S3 bucket). ### M2.x / M3.x - Fix `vm-identity` / `vm-secrets` typos to `vm-edge`. - **M2.1**: explicit KC repurpose from CERTifAI + JVM-pin escape hatch (split KC to its own VM if heap fight shows up). - **M2.2 / M3.1**: repo pointers re-targeted to `breakpilot-edge`. - **M3.2**: re-pointed to `breakpilot-control`. ### M8.x / M9.x / M18.x - ERPNext + Frappe HD repo pointers re-targeted to `breakpilot-control`. - M18.1 ACME work re-pointed to `breakpilot-edge`. - "data plane" → "app plane" everywhere it referred to the cluster; "data-plane" phrasing kept only where it referred to per-tenant data isolation as a concept. ### PR-10 narrative Updated: VM provisioning is now a 4-VM-across-3-clusters split, gated on legal entity. ## Cross-refs - Companion: [`platform/orca-platform` PR #6](https://gitea.meghsakha.com/platform/orca-platform/pulls/6) (already merged at `6be727d4`) - Companion in personal memory: `project_breakpilot_plane_model.md` captures the constraints (single-VM core, KC repurpose, legal-entity gate, `breakpilot-*` naming) so future sessions can act on them ## Out of scope - Creating the three future Gitea repos — happens at M1.2 once legal entity lands - VM provisioning, Terraform/OpenStack repo — gated on the same - `INFRASTRUCTURE.md` / `PLATFORM_ARCHITECTURE.md` — separate PRs if they need to be re-aligned 🤖 Generated with [Claude Code](https://claude.com/claude-code)
sharang added 1 commit 2026-06-30 21:10:46 +00:00
docs(impl-plan): reflect 2026-06-30 cluster split decision
ci / shared (pull_request) Successful in 10s
b849363b10
Updates the implementation plan to match the cluster-split decision
landed in platform/orca-platform PR #6 (commit 6be727d4):

§1.1 Repo strategy
  - Adds three cluster repos to the inventory:
    platform/breakpilot-edge   (Identity + Infra, vm-edge)
    platform/breakpilot-control (Control, vm-control)
    platform/breakpilot-app    (App, vm-app-prod + vm-app-stage)
  - Reframes platform/orca-platform as the staging area where the
    cluster manifests live design-only until the legal entity unlocks
    SysEleven / Hetzner business contracts at M1.2.

§1.8 Environments
  - Rewrites the three-clusters-by-env model into three-clusters-by-plane.
  - Stage and prod live in the same breakpilot-app cluster on different
    VMs (vm-app-stage and vm-app-prod); identity and control are NOT
    duplicated for stage.

M0.1 / M0.3 / M1.1 / M1.2 / M1.3
  - M0.1 note: the three cluster repos are NOT created at M0.1; they
    split out of orca-platform at M1.2.
  - M0.3 / M1.3 repo pointers re-targeted to breakpilot-edge.
  - M1.1 updated to describe the cluster-split layout that landed in
    PR #6: clusters/breakpilot-{edge,control,app}/services/ + per-cluster
    node whitelist in scripts/validate.sh.
  - M1.2 rewritten as "Provision VMs + split cluster repos": 4 VMs across
    3 clusters, KC repurposed from CERTifAI, legal-entity gate added,
    sized up to L.

M2.1 / M2.2 / M3.1 / M3.2
  - Fix vm-identity / vm-secrets typos to vm-edge.
  - M2.1 calls out the KC repurpose explicitly + the JVM-pin escape
    hatch (split KC to its own VM if heap fight shows up).
  - M3.2 re-pointed to breakpilot-control.

M8.x / M9.x / M18.x
  - ERPNext + Frappe HD repo pointers re-targeted to breakpilot-control.
  - M18.1 ACME work re-pointed to breakpilot-edge.
  - "data plane" → "app plane" everywhere; data-plane phrasing kept
    only where it refers to per-tenant data isolation as a concept.

PR-10 narrative updated: VM provisioning is a cluster split, gated on
legal entity.

No milestone IDs change; effort estimates change only for M1.2 (M→L)
to reflect the added repo-split + KC realm migration work.
CODEOWNERS rules requested review from Benjamin_Boenisch 2026-06-30 21:10:46 +00:00
sharang merged commit a8593091c2 into main 2026-06-30 21:16:11 +00:00
sharang deleted branch refactor/cluster-split-impl-plan 2026-06-30 21:16:11 +00:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: platform/docs#6