Repository navigation
radar-hub: install enrollment key and a stable self-signed certificate - #61
Conversation
PR Summary by QodoAdd enrollment key configuration to the radar-hub chart
AI Description
Diagram
High-Level Assessment
Files changed (5)
|
Code Review by Qodo
1.
|
…gned certificate enrollment.key / existingSecret / trustByDefault set the hub's install key. The self-signed web certificate is generated once and kept, or comes from web.tls.certificate/privateKey or web.tls.existingSecret; with web.tls.showInInstallSteps the hub hands its public part to the install steps. User-token mode with a self-signed hub is allowed except with localCluster. Claude-Session: https://claude.ai/code/session_01SxLwuGLtodCbE7pfsPHdtv
Bugbot needs on-demand usage enabledBugbot uses usage-based billing for this team and requires on-demand usage to be enabled. A team admin can enable on-demand usage in the Cursor dashboard. |
…ficate Adds enrollment.approval for the install key. The install steps always include the hub's public certificate on a self-signed hub (web.tls.showInInstallSteps is gone). Token mode on a self-signed hub now prints a warning in the install notes. Claude-Session: https://claude.ai/code/session_01SxLwuGLtodCbE7pfsPHdtv
Hub 1.13.0 shipped without enrollment. Claude-Session: https://claude.ai/code/session_01SxLwuGLtodCbE7pfsPHdtv
Chart CI requires a version bump for the new enrollment and TLS values. appVersion stays 1.13.0; the radar-hub v1.13.1 tag promotes this to 1.14.0. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The hub release that ships shared enrollment keys is 1.14.0, matching the chart version, so the guard, its message and the tests name it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The hub chart needs two things for shared enrollment keys on a self-hosted hub: a way to set an install key for automation that installs the hub before anyone signs in, and a self-signed certificate that stays the same, because clusters that joined with a key verify the hub's certificate.
What the change does
enrollment.keyorenrollment.existingSecret(plusexistingSecretKey) setsHUB_ENROLLMENT_KEY.enrollment.trustByDefaultsets whether clusters joining with it are trusted on hubs that pass people's sign-ins to clusters, andenrollment.approval(autoormanual) whether new clusters on it wait for an owner to approve them. Owners can also create keys in the hub itself; this one is optional.<fullname>-web-tlsonce and reuses it throughlookupon upgrades (helm.sh/resource-policy: keep). It can instead come fromweb.tls.certificateandweb.tls.privateKey, or from your ownweb.tls.existingSecret. The web pods mount it and the web image's script uses it instead of making a new one per pod.web.tls.selfSigned, the hub pod mounts only the certificate's public part and the hub always includes it in the cluster install steps.localCluster.Where to look hardest
templates/_web-tls.tplandtemplates/web-tls-secret.yaml: the certificate is generated once per render and shared by the Secret and the values checksum. Argo CD renders withoutlookup, so it would get a new certificate on each sync; the README tells Argo CD users to supply their own (values or a Secret).Release
Staged as chart
1.14.0-rc.1, withappVersionleft at1.13.0, which shipped without shared enrollment keys. The chart's enrollment guard therefore asks for hub 1.14.0 or later. Tagging radar-hubv1.14.0(after radar-hub-webv1.14.0) promotes this chart to1.14.0withappVersion1.14.0, so the chart and image versions match.Tests
helm lint(withtests/values/required-base.yaml),tests/render-matrix.sh(including a duplicate-key check on the values files) andhelm unittest(66) pass, on the branch merged with main.https://claude.ai/code/session_01SxLwuGLtodCbE7pfsPHdtv