docs(operations): add customizer section#549
Conversation
Documents the cozystack.customizer system package (opt-in admin-facing GitOps) shipping in cozystack/cozystack#2731. New section under content/en/docs/next/operations/customizer/ with four pages: - _index.md — overview, when to use, two-zone architecture - setup.md — step-by-step setup guide (prerequisites, create git auth Secret, init the customizer repo, enable in the Platform Package, verify reconciliation, sanity-check commit, troubleshooting first sync) - repo-layout.md — recommended directory tree and three worked examples (enable OIDC, override a MetalLB option, ship an in-house HelmRelease) + custom-packages walkthrough - field-ownership.md — RBAC granted vs explicitly not granted, chart-owned vs customizer-owned Package CR fields, the SSA contract, the known advisory-only limitation pending the planned admission webhook, recovery from a bad patch, full uninstall path Weight 15 on the section places customizer between Configuration (10) and Cluster Maintenance Guides (20) in the Operations sidebar — early in the operator's reading order, consistent with "the recommended way to manage cluster customizations." Held behind do-not-merge until cozystack/cozystack#2731 lands in a release; the customizer package isn't in any shipped Cozystack version yet, so this docs section would render against features that don't exist for readers on current releases. Signed-off-by: Myasnikov Daniil <myasnikovdaniil2001@gmail.com>
✅ Deploy Preview for cozystack ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
There was a problem hiding this comment.
Code Review
This pull request introduces comprehensive documentation for the "Customizer" feature in Cozystack, which enables declarative cluster customizations using an admin-owned Git repository and Flux. The documentation covers an overview, setup instructions, repository layout examples, and field ownership/RBAC details. The review feedback correctly identifies two issues in the documentation examples: an incorrect HelmRelease configuration for multi-chart OCI repositories and an incorrect Helm release name in the uninstallation commands.
| spec: | ||
| interval: 5m | ||
| chartRef: | ||
| kind: OCIRepository | ||
| name: myorg-charts | ||
| namespace: cozy-customizer |
There was a problem hiding this comment.
Since myorg-charts is an OCIRepository containing a directory structure of multiple charts (as shown in the PackageSource example where path: internal-portal is used), you cannot use spec.chartRef directly in the HelmRelease. spec.chartRef expects the OCIRepository to be a packaged Helm chart itself. Instead, use spec.chart.spec with chart and sourceRef to specify the subdirectory path.
| spec: | |
| interval: 5m | |
| chartRef: | |
| kind: OCIRepository | |
| name: myorg-charts | |
| namespace: cozy-customizer | |
| spec: | |
| interval: 5m | |
| chart: | |
| spec: | |
| chart: internal-portal | |
| sourceRef: | |
| kind: OCIRepository | |
| name: myorg-charts | |
| namespace: cozy-customizer |
|
|
||
| ```sh | ||
| kubectl delete package.cozystack.io cozystack.customizer | ||
| helm uninstall customizer --namespace cozy-system |
There was a problem hiding this comment.
Since the package name is cozystack.customizer, the corresponding Helm release name managed by Cozystack is likely cozystack-customizer (or cozystack.customizer), rather than just customizer. Running helm uninstall customizer might fail with a release not found error.
| helm uninstall customizer --namespace cozy-system | |
| helm uninstall cozystack-customizer --namespace cozy-system |
Summary
Adds an Operations Guide section for the new
cozystack.customizersystem package (the opt-in admin-facing GitOps surface) shipping in
cozystack/cozystack#2731.
Four pages under
content/en/docs/next/operations/customizer/:_index.md— overview, when to use, two-zone architecture sketchsetup.md— step-by-step setup guide (prerequisites → create git auth Secret → init customizer repo → enable in the Platform Package → verify reconciliation → sanity-check commit → troubleshooting first sync)repo-layout.md— recommended directory tree plus three worked examples (enable OIDC, override a MetalLB option, ship an in-house HelmRelease) and a custom-packages walkthroughWeight
15on the section places customizer between Configuration (10) and Cluster Maintenance Guides (20) in the Operations sidebar — early in the operator's reading order, consistent with framing the customizer as "the recommended way to manage cluster customizations."Why `do-not-merge`
The customizer package isn't in any shipped Cozystack version yet — its upstream PR (cozystack/cozystack#2731) is still draft. Merging this docs section before the feature lands in a release would render documentation for code readers can't actually use on current releases. Hold until #2731 merges and gets cut into a release; then this PR can flip to ready-for-review and merge into `next/`.
Test plan
Out of scope