Skip to content

docs: prefix bundle package names with cozystack. in v1 examples#482

Merged
kvaps merged 1 commit intomainfrom
docs/bundles-package-prefix
Apr 12, 2026
Merged

docs: prefix bundle package names with cozystack. in v1 examples#482
kvaps merged 1 commit intomainfrom
docs/bundles-package-prefix

Conversation

@lexfrei
Copy link
Copy Markdown
Contributor

@lexfrei lexfrei commented Apr 11, 2026

What

Prefix every bundle package name in the v1 docs with cozystack. so they match the real names kubectl get package returns, 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 (metallbcozystack.metallb, hetzner-robotlbcozystack.hetzner-robotlb) and extend the surrounding prose with a one-paragraph explanation of the prefix convention plus the kubectl get package pointer.
  • content/en/docs/v1/install/providers/hetzner.md — fix the same example in the Hetzner install guide.
  • content/en/docs/v1/storage/nfs.mdnfs-drivercozystack.nfs-driver in the enable-NFS-driver kubectl patch example.
  • content/en/docs/v1/virtualization/gpu.mdgpu-operatorcozystack.gpu-operator in the enable-GPU-operator kubectl patch example.

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 named metallb exists — the real name is cozystack.metallb. From a recent thread:

в перечне Helm Releases или пакетов package.cozystack.io числится cozystack.metallb, как будто бы игнорируется блок […]
там название аналогично меняется, cozystack.hetzner-robotlb т.е. добавляется префикс "cozystack." Это для всех пакетов теперь так

The cozystack. prefix is a deliberate design choice in v1.x — every package the platform chart renders is cozystack.<name>, as enforced in packages/core/platform/templates/bundles/*.yaml upstream. 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).
  • Every substitution was cross-checked against upstream packages/core/platform/templates/bundles/system.yaml and iaas.yaml:
    • cozystack.metallb, cozystack.hetzner-robotlbbundles/system.yaml:156
    • cozystack.nfs-driverbundles/system.yaml:146
    • cozystack.gpu-operatorbundles/iaas.yaml:11
  • hugo builds cleanly; all four touched pages render with the prefixed names.
  • The PR does not touch the bundles.enabledPackages / disabledPackages field names themselves or the Platform Package YAML path — only the package-name strings inside the list values.

…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>
@netlify
Copy link
Copy Markdown

netlify Bot commented Apr 11, 2026

Deploy Preview for cozystack ready!

Name Link
🔨 Latest commit 2602034
🔍 Latest deploy log https://app.netlify.com/projects/cozystack/deploys/69dab711a3e7330008a216a5
😎 Deploy Preview https://deploy-preview-482--cozystack.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Apr 11, 2026

Warning

Rate limit exceeded

@lexfrei has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 29 minutes and 57 seconds before requesting another review.

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 @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

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 configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: b27e8282-4fc5-4dba-8fb9-5a371d4fe804

📥 Commits

Reviewing files that changed from the base of the PR and between c6bcf59 and 2602034.

📒 Files selected for processing (4)
  • content/en/docs/v1/install/providers/hetzner.md
  • content/en/docs/v1/operations/configuration/components.md
  • content/en/docs/v1/storage/nfs.md
  • content/en/docs/v1/virtualization/gpu.md
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch docs/bundles-package-prefix

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 and usage tips.

Copy link
Copy Markdown
Contributor

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

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 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.

Comment on lines +44 to +48
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.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

medium

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.

Suggested change
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.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

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"}]'
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

medium

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.

Suggested change
-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"}]'

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

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"}]'
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

medium

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.

Suggested change
-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"}]'

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

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.

@lexfrei lexfrei marked this pull request as ready for review April 11, 2026 21:33
@lexfrei lexfrei requested review from kvaps and lllamnyp as code owners April 11, 2026 21:33
@kvaps kvaps merged commit ff34379 into main Apr 12, 2026
6 checks passed
@kvaps kvaps deleted the docs/bundles-package-prefix branch April 12, 2026 09:35
@lexfrei lexfrei self-assigned this Apr 12, 2026
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.

2 participants