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.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.
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.
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
## 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)
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 main2026-06-30 21:16:11 +00:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Summary
Updates
IMPLEMENTATION_PLAN.mdto match the cluster-split decision landed inplatform/orca-platformPR #6 (commit6be727d4). 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-platformas the staging area where the cluster manifests live design-only underclusters/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-appcluster on different VMs; identity (breakpilot-edge) and control (breakpilot-control) are not duplicated for stage — stage workloads authenticate against prod KC withtenant.kind = "stage".M0.1 / M0.3 / M1.1 / M1.2 / M1.3
breakpilot-edge/ cross-cluster.clusters/breakpilot-{edge,control,app}/services/+ per-clusterplacement.nodewhitelist inscripts/validate.sh.[backup]block + S3 bucket).M2.x / M3.x
vm-identity/vm-secretstypos tovm-edge.breakpilot-edge.breakpilot-control.M8.x / M9.x / M18.x
breakpilot-control.breakpilot-edge.PR-10 narrative
Updated: VM provisioning is now a 4-VM-across-3-clusters split, gated on legal entity.
Cross-refs
platform/orca-platformPR #6 (already merged at6be727d4)project_breakpilot_plane_model.mdcaptures the constraints (single-VM core, KC repurpose, legal-entity gate,breakpilot-*naming) so future sessions can act on themOut of scope
INFRASTRUCTURE.md/PLATFORM_ARCHITECTURE.md— separate PRs if they need to be re-aligned🤖 Generated with Claude Code