docs: prefix bundle package names with cozystack. in v1 examples#482
docs: prefix bundle package names with cozystack. in v1 examples#482
Conversation
…abledPackages examples In Cozystack v1.x every platform package is named cozystack.<name>. This is what kubectl get package returns and what the platform chart expects inside bundles.enabledPackages / bundles.disabledPackages (verified against packages/core/platform/templates/bundles/*.yaml in the upstream tree). Several examples in the v1 docs still use the pre-v1 short names (metallb, hetzner-robotlb, nfs-driver, gpu-operator), so users who copy them end up with bundle entries that match no real package and silently do nothing. Fix all four example sites: - operations/configuration/components.md — the Hetzner RobotLB swap example, plus a short paragraph in the surrounding prose pointing at kubectl get package as the source of truth and explicitly mentioning the cozystack. prefix. - install/providers/hetzner.md — the identical swap example in the Hetzner install guide. - storage/nfs.md — enabling the NFS driver via kubectl patch. - virtualization/gpu.md — enabling the GPU operator via kubectl patch. Assisted-By: Claude <noreply@anthropic.com> Signed-off-by: Aleksei Sviridkin <f@lex.la>
✅ Deploy Preview for cozystack ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
|
Warning Rate limit exceeded
Your organization is not enrolled in usage-based pricing. Contact your admin to enable usage-based pricing to continue reviews beyond the rate limit, or try again in 29 minutes and 57 seconds. ⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (4)
✨ 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 updates the documentation to use fully-qualified package names with the cozystack. prefix across various installation and configuration guides. The review feedback suggests improving the clarity of the instructions by recommending the -A flag for kubectl get package to ensure visibility across namespaces. Additionally, it identifies missing namespace flags (-n cozy-system) in several kubectl patch command examples, which are necessary for the commands to execute correctly.
| Every entry in those lists is a fully-qualified Package name — the same name you see with | ||
| `kubectl get package`. All platform packages live under the `cozystack.` prefix (for example, | ||
| `cozystack.metallb`, `cozystack.hetzner-robotlb`, `cozystack.nfs-driver`). Run | ||
| `kubectl get package` to see the exact names available on your cluster before editing | ||
| the Platform Package. |
There was a problem hiding this comment.
The added paragraph is slightly repetitive and the suggested command kubectl get package might return no results if the user is not in the correct namespace (e.g., cozy-system). It is better to use kubectl get package -A to ensure all packages are visible, and to condense the explanation for better readability.
| Every entry in those lists is a fully-qualified Package name — the same name you see with | |
| `kubectl get package`. All platform packages live under the `cozystack.` prefix (for example, | |
| `cozystack.metallb`, `cozystack.hetzner-robotlb`, `cozystack.nfs-driver`). Run | |
| `kubectl get package` to see the exact names available on your cluster before editing | |
| the Platform Package. | |
| Every entry in those lists is the full Package name as shown by `kubectl get package -A`. | |
| All platform packages use the `cozystack.` prefix (e.g., `cozystack.metallb`, | |
| `cozystack.hetzner-robotlb`, `cozystack.nfs-driver`). Check the exact names available on | |
| your cluster before editing the Platform Package. |
There was a problem hiding this comment.
Not applied — kubectl get package already shows every package on the cluster. The Package CRD is cluster-scoped (scope: Cluster in packages/system/application-definition-crd/definition/cozystack.io_applicationdefinitions.yaml → actually in the merged _out/assets/cozystack-crds.yaml for packages.cozystack.io), so -A / --all-namespaces has no effect here: there are no per-namespace packages to aggregate. Adding the flag would not be wrong, just misleading. Keeping the example simple.
| ```bash | ||
| kubectl patch packages.cozystack.io cozystack.cozystack-platform --type=json \ | ||
| -p '[{"op": "add", "path": "/spec/components/platform/values/bundles/enabledPackages/-", "value": "nfs-driver"}]' | ||
| -p '[{"op": "add", "path": "/spec/components/platform/values/bundles/enabledPackages/-", "value": "cozystack.nfs-driver"}]' |
There was a problem hiding this comment.
The kubectl patch command is missing the namespace. Since the cozystack.cozystack-platform package is typically located in the cozy-system namespace, the command might fail if the user is in a different namespace context.
| -p '[{"op": "add", "path": "/spec/components/platform/values/bundles/enabledPackages/-", "value": "cozystack.nfs-driver"}]' | |
| -n cozy-system -p '[{"op": "add", "path": "/spec/components/platform/values/bundles/enabledPackages/-", "value": "cozystack.nfs-driver"}]' |
There was a problem hiding this comment.
Not applied — packages.cozystack.io is a cluster-scoped CRD (scope: Cluster), so kubectl patch packages.cozystack.io cozystack.cozystack-platform does not need a namespace flag. The current-context namespace is irrelevant for cluster-scoped resources; the command targets the named object directly.
| ```bash | ||
| kubectl patch packages.cozystack.io cozystack.cozystack-platform --type=json \ | ||
| -p '[{"op": "add", "path": "/spec/components/platform/values/bundles/enabledPackages/-", "value": "gpu-operator"}]' | ||
| -p '[{"op": "add", "path": "/spec/components/platform/values/bundles/enabledPackages/-", "value": "cozystack.gpu-operator"}]' |
There was a problem hiding this comment.
The kubectl patch command is missing the namespace. Since the cozystack.cozystack-platform package is typically located in the cozy-system namespace, the command might fail if the user is in a different namespace context.
| -p '[{"op": "add", "path": "/spec/components/platform/values/bundles/enabledPackages/-", "value": "cozystack.gpu-operator"}]' | |
| -n cozy-system -p '[{"op": "add", "path": "/spec/components/platform/values/bundles/enabledPackages/-", "value": "cozystack.gpu-operator"}]' |
There was a problem hiding this comment.
Not applied — same reason as the nfs.md reply. packages.cozystack.io is cluster-scoped, so kubectl patch packages.cozystack.io cozystack.cozystack-platform does not accept or need a -n / --namespace flag.
What
Prefix every bundle package name in the v1 docs with
cozystack.so they match the real nameskubectl get packagereturns, and add a short note in the Components reference pointing at that command as the source of truth.Files touched:
content/en/docs/v1/operations/configuration/components.md— fix the Hetzner RobotLB swap example (metallb→cozystack.metallb,hetzner-robotlb→cozystack.hetzner-robotlb) and extend the surrounding prose with a one-paragraph explanation of the prefix convention plus thekubectl get packagepointer.content/en/docs/v1/install/providers/hetzner.md— fix the same example in the Hetzner install guide.content/en/docs/v1/storage/nfs.md—nfs-driver→cozystack.nfs-driverin the enable-NFS-driverkubectl patchexample.content/en/docs/v1/virtualization/gpu.md—gpu-operator→cozystack.gpu-operatorin the enable-GPU-operatorkubectl patchexample.Why
Multiple users have hit this in the community chat: they follow one of the examples (most recently the Hetzner RobotLB swap), paste
disabledPackages: [metallb]into their Platform Package, and the entry does nothing because no package namedmetallbexists — the real name iscozystack.metallb. From a recent thread:The
cozystack.prefix is a deliberate design choice in v1.x — every package the platform chart renders iscozystack.<name>, as enforced inpackages/core/platform/templates/bundles/*.yamlupstream. The docs never caught up after the convention changed. This PR fixes the four places where short names still appear.Verification
grep -rn 'enabledPackages\|disabledPackages' content/en/docs/v1/after the change shows only properly-prefixed names in examples (the only remaining bare mentions are in prose, not in YAML).packages/core/platform/templates/bundles/system.yamlandiaas.yaml:cozystack.metallb,cozystack.hetzner-robotlb—bundles/system.yaml:156cozystack.nfs-driver—bundles/system.yaml:146cozystack.gpu-operator—bundles/iaas.yaml:11hugobuilds cleanly; all four touched pages render with the prefixed names.bundles.enabledPackages/disabledPackagesfield names themselves or the Platform Package YAML path — only the package-name strings inside the list values.