Skip to content

docs(compute-plane): derive release names — the kubeconfig Secret is computeplane-cluster-admin-kubeconfig#40

Draft
Andrei Kvapil (kvaps) wants to merge 1 commit into
mainfrom
docs/computeplane-derived-secret
Draft

docs(compute-plane): derive release names — the kubeconfig Secret is computeplane-cluster-admin-kubeconfig#40
Andrei Kvapil (kvaps) wants to merge 1 commit into
mainfrom
docs/computeplane-derived-secret

Conversation

@kvaps

Copy link
Copy Markdown
Member

Follow-up amendment from the cozystack/cozystack#3280 review: the aggregated API rebuilds HelmRelease specs without spec.releaseName, so neither the module nor the cluster HelmRelease may set it — release names derive from object names, like every other tenant module. The stable external contract becomes the cluster HelmRelease object name computeplane-cluster, and the Secret the deferred placement: ComputePlane injection consumes is computeplane-cluster-admin-kubeconfig. The §1 invariant is restated accordingly (including why an explicit release name is unrepresentable), and all Secret references are updated.

…computeplane-cluster-admin-kubeconfig

Follow-up from the cozystack/cozystack#3280 review: the aggregated API
rebuilds HelmRelease specs without spec.releaseName, so neither the module
nor the cluster HelmRelease may set it — release names derive from object
names. The stable external contract is therefore the cluster HelmRelease
object name computeplane-cluster, and the Kamaji admin-kubeconfig Secret the
placement: ComputePlane injection consumes is
computeplane-cluster-admin-kubeconfig.

Assisted-By: Claude
Signed-off-by: Andrei Kvapil <kvapss@gmail.com>
@coderabbitai

coderabbitai Bot commented Jul 20, 2026

Copy link
Copy Markdown

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 7ab4e0f6-5ef9-4f2d-9cb7-e6bb304b2416

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch docs/computeplane-derived-secret

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request updates the compute-plane design proposal to reflect that spec.releaseName is no longer set on HelmRelease objects, meaning release names are now derived from object names. This changes the cluster release name to computeplane-cluster and its admin kubeconfig secret to computeplane-cluster-admin-kubeconfig. Feedback was provided to correct an obsolete sentence in the document that still references the old -module suffix and the reservation of the computeplane name.

Important

The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.


1. When a tenant has the module enabled, the **tenant chart** renders the module `HelmRelease` (name `computeplane`, in the tenant namespace on the management cluster) whose `chartRef` points at the **`extra/computeplane`** chart's `ExternalArtifact`. Its own Helm release takes the `-module` suffix so the canonical release name `computeplane` stays reserved for the cluster release below.
2. The **`extra/computeplane` chart** in turn renders the cluster `HelmRelease` (object name `computeplane-cluster`, `spec.releaseName: computeplane`) whose `chartRef` points at the **source-only re-sourced `apps/kubernetes`** `ExternalArtifact`, carrying the operator-fixed values. The release name `computeplane` is what makes Kamaji write the admin kubeconfig to the `computeplane-admin-kubeconfig` Secret — the contract `placement: ComputePlane` apps consume.
2. The **`extra/computeplane` chart** in turn renders the cluster `HelmRelease` (object name `computeplane-cluster`) whose `chartRef` points at the **source-only re-sourced `apps/kubernetes`** `ExternalArtifact`, carrying the operator-fixed values. Neither `HelmRelease` sets `spec.releaseName` — the aggregated API rebuilds `HelmRelease` specs without that field, so both releases must derive their names from object names. The derived cluster release name `computeplane-cluster` is what makes Kamaji write the admin kubeconfig to the `computeplane-cluster-admin-kubeconfig` Secret — the contract `placement: ComputePlane` apps consume.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The changes in this PR remove spec.releaseName from both HelmRelease objects, meaning their release names are now derived directly from their object names (computeplane for the module, and computeplane-cluster for the cluster).\n\nHowever, the preceding sentence in item 1 (line 81) still states:\n> "Its own Helm release takes the -module suffix so the canonical release name computeplane stays reserved for the cluster release below."\n\nThis is now obsolete and incorrect because:\n1. The module's Helm release name no longer takes the -module suffix (it is now computeplane).\n2. The canonical name computeplane is no longer reserved for the cluster release (which is now computeplane-cluster).\n\nPlease update line 81 to remove or correct this sentence to match the new design.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant