From 7b38ab2c72d09070c4100110b6d6a5bb43b92ac0 Mon Sep 17 00:00:00 2001 From: Myasnikov Daniil Date: Wed, 12 Aug 2026 15:56:54 +0500 Subject: [PATCH] docs(compute-plane): link decision 0001 instead of inlining the rationale The "Revision (this PR)" field carried a paragraph explaining why the preset-field revision was set aside. Post-merge "this PR" no longer refers to anything, and the Overview restates the same material, so the field was a third copy of the rationale with no home of its own. Decision 0001 is that home now. Replace the field with Supersedes plus a link. Assisted-By: Claude Signed-off-by: Myasnikov Daniil --- design-proposals/compute-plane/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/design-proposals/compute-plane/README.md b/design-proposals/compute-plane/README.md index 27710f8..4576c4c 100644 --- a/design-proposals/compute-plane/README.md +++ b/design-proposals/compute-plane/README.md @@ -5,7 +5,7 @@ - **Author(s):** `@kvaps` - **Date:** `2026-06-23` - **Status:** Accepted -- **Revision (this PR):** Supersedes the preset-field revision (#27). ComputePlane is delivered as a Cozystack-owned **Tenant module** (`packages/extra/computeplane`) that, under the hood, deploys the ordinary `apps/kubernetes` chart with operator-fixed values, sourced through the existing PackageSource "source-only chart" mechanism (the same one NATS and SeaweedFS use — only the wrapped chart comes from `apps/` instead of `system/`). Like every Cozystack managed service, the module registers its **own `apps.cozystack.io` kind** (`ComputePlane`, via an `ApplicationDefinition` with `dashboard.module: true`) — its own API endpoint and input schema, served by `cozystack-api` and converted to a HelmRelease. So this is **not** the literal "no new kind" surface #27 aimed for; the honest positioning is: no new **CRD**, no new **controller / reconcile path**, and **no fields added to `kind: Kubernetes`** — the `ComputePlane` kind is a thin operator-owned wrapper over the unchanged `apps/kubernetes`. The tenant gets the *same* `kind: Kubernetes` cluster but owns none of its settings — only the knobs the operator exposes. The isolation mechanism (remote Flux apply onto Kamaji+KubeVirt, untrusted code behind a per-VM kernel boundary) is unchanged from the merged first revision; this revision is about the **delivery surface**. +- **Supersedes:** the preset-field revision (#27) — the delivery surface and why the preset fields were set aside are recorded in [decision 0001](../../decisions/0001-computeplane-ships-as-an-operator-owned-module.md). ## Overview