-
Notifications
You must be signed in to change notification settings - Fork 136
[platform] refactor: split cozystack-resource-definitions into separate packages #1778
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
Note Other AI code review bot(s) detectedCodeRabbit has detected other AI code review bot(s) in this pull request and will avoid duplicating their findings in the review comments. This may lead to a less comprehensive review. 📝 WalkthroughWalkthroughReplaces a single monolithic Changes
Estimated code review effort🎯 4 (Complex) | ⏱️ ~60 minutes Suggested reviewers
Poem
Pre-merge checks and finishing touches✅ Passed checks (3 passed)
✨ Finishing touches
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 |
Summary of ChangesHello @kvaps, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request refactors the platform's resource definition management by breaking down a large, single package into numerous smaller, specialized packages. This change aims to enhance the system's modularity, allowing for independent versioning and easier maintenance of individual resource definitions, while also improving build efficiency. Highlights
🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console. Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here. You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension. Footnotes
|
9c7fb8c to
7c89f31
Compare
There was a problem hiding this 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 is a significant refactoring that splits the monolithic cozystack-resource-definitions package into 25 individual packages. This is a great step towards better modularity and independent versioning. The changes are well-executed and align with the stated goals.
My review focuses on improving the maintainability of the new structure. I've identified significant code duplication in the platform bundle YAML files and suggest using a template loop to generate the release definitions. This will make it much easier to manage the resource definition packages in the future. I've also pointed out the duplication of boilerplate files across the new packages and suggested a potential improvement using a Helm library chart, although I understand this might be a trade-off for complete package independence.
| - name: bootbox-rd | ||
| releaseName: bootbox-rd | ||
| chart: bootbox-rd | ||
| namespace: cozy-system | ||
| dependsOn: [cozystack-resource-definition-crd] | ||
|
|
||
| - name: bucket-rd | ||
| releaseName: bucket-rd | ||
| chart: bucket-rd | ||
| namespace: cozy-system | ||
| dependsOn: [cozystack-resource-definition-crd] | ||
|
|
||
| - name: clickhouse-rd | ||
| releaseName: clickhouse-rd | ||
| chart: clickhouse-rd | ||
| namespace: cozy-system | ||
| dependsOn: [cozystack-resource-definition-crd] | ||
|
|
||
| - name: etcd-rd | ||
| releaseName: etcd-rd | ||
| chart: etcd-rd | ||
| namespace: cozy-system | ||
| dependsOn: [cozystack-resource-definition-crd] | ||
|
|
||
| - name: ferretdb-rd | ||
| releaseName: ferretdb-rd | ||
| chart: ferretdb-rd | ||
| namespace: cozy-system | ||
| dependsOn: [cozystack-resource-definition-crd] | ||
|
|
||
| - name: foundationdb-rd | ||
| releaseName: foundationdb-rd | ||
| chart: foundationdb-rd | ||
| namespace: cozy-system | ||
| dependsOn: [cozystack-resource-definition-crd] | ||
|
|
||
| - name: http-cache-rd | ||
| releaseName: http-cache-rd | ||
| chart: http-cache-rd | ||
| namespace: cozy-system | ||
| dependsOn: [cilium,cozystack-controller,cozystack-resource-definition-crd] | ||
|
|
||
| - name: info-rd | ||
| releaseName: info-rd | ||
| chart: info-rd | ||
| namespace: cozy-system | ||
| dependsOn: [cozystack-resource-definition-crd] | ||
|
|
||
| - name: ingress-rd | ||
| releaseName: ingress-rd | ||
| chart: ingress-rd | ||
| namespace: cozy-system | ||
| dependsOn: [cozystack-resource-definition-crd] | ||
|
|
||
| - name: kafka-rd | ||
| releaseName: kafka-rd | ||
| chart: kafka-rd | ||
| namespace: cozy-system | ||
| dependsOn: [cozystack-resource-definition-crd] | ||
|
|
||
| - name: kubernetes-rd | ||
| releaseName: kubernetes-rd | ||
| chart: kubernetes-rd | ||
| namespace: cozy-system | ||
| dependsOn: [cozystack-resource-definition-crd] | ||
|
|
||
| - name: monitoring-rd | ||
| releaseName: monitoring-rd | ||
| chart: monitoring-rd | ||
| namespace: cozy-system | ||
| dependsOn: [cozystack-resource-definition-crd] | ||
|
|
||
| - name: mysql-rd | ||
| releaseName: mysql-rd | ||
| chart: mysql-rd | ||
| namespace: cozy-system | ||
| dependsOn: [cozystack-resource-definition-crd] | ||
|
|
||
| - name: nats-rd | ||
| releaseName: nats-rd | ||
| chart: nats-rd | ||
| namespace: cozy-system | ||
| dependsOn: [cozystack-resource-definition-crd] | ||
|
|
||
| - name: postgres-rd | ||
| releaseName: postgres-rd | ||
| chart: postgres-rd | ||
| namespace: cozy-system | ||
| dependsOn: [cozystack-resource-definition-crd] | ||
|
|
||
| - name: rabbitmq-rd | ||
| releaseName: rabbitmq-rd | ||
| chart: rabbitmq-rd | ||
| namespace: cozy-system | ||
| dependsOn: [cozystack-resource-definition-crd] | ||
|
|
||
| - name: redis-rd | ||
| releaseName: redis-rd | ||
| chart: redis-rd | ||
| namespace: cozy-system | ||
| dependsOn: [cozystack-resource-definition-crd] | ||
|
|
||
| - name: seaweedfs-rd | ||
| releaseName: seaweedfs-rd | ||
| chart: seaweedfs-rd | ||
| namespace: cozy-system | ||
| dependsOn: [cozystack-resource-definition-crd] | ||
|
|
||
| - name: tcp-balancer-rd | ||
| releaseName: tcp-balancer-rd | ||
| chart: tcp-balancer-rd | ||
| namespace: cozy-system | ||
| dependsOn: [cilium,cozystack-controller,cozystack-resource-definition-crd] | ||
|
|
||
| - name: tenant-rd | ||
| releaseName: tenant-rd | ||
| chart: tenant-rd | ||
| namespace: cozy-system | ||
| dependsOn: [cozystack-resource-definition-crd] | ||
|
|
||
| - name: virtual-machine-rd | ||
| releaseName: virtual-machine-rd | ||
| chart: virtual-machine-rd | ||
| namespace: cozy-system | ||
| dependsOn: [cilium,cozystack-controller,cozystack-resource-definition-crd] | ||
|
|
||
| - name: virtualprivatecloud-rd | ||
| releaseName: virtualprivatecloud-rd | ||
| chart: virtualprivatecloud-rd | ||
| namespace: cozy-system | ||
| dependsOn: [cozystack-resource-definition-crd] | ||
|
|
||
| - name: vm-disk-rd | ||
| releaseName: vm-disk-rd | ||
| chart: vm-disk-rd | ||
| namespace: cozy-system | ||
| dependsOn: [cilium,cozystack-controller,cozystack-resource-definition-crd] | ||
|
|
||
| - name: vm-instance-rd | ||
| releaseName: vm-instance-rd | ||
| chart: vm-instance-rd | ||
| namespace: cozy-system | ||
| dependsOn: [cilium,cozystack-controller,cozystack-resource-definition-crd] | ||
|
|
||
| - name: vpn-rd | ||
| releaseName: vpn-rd | ||
| chart: vpn-rd | ||
| namespace: cozy-system | ||
| dependsOn: [cozystack-resource-definition-crd] | ||
|
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This large block of repeated release definitions for the resource definition packages (*-rd) is difficult to maintain. Adding or removing a resource definition would require manual changes in multiple places. Since this file is processed by a templating engine (as evidenced by the syntax at the top of the file), you could use a loop to generate these definitions. This would improve maintainability, reduce the file size, and make the list of included resource definitions more explicit.
{{- $rd_names := list "bootbox" "bucket" "clickhouse" "etcd" "ferretdb" "foundationdb" "http-cache" "info" "ingress" "kafka" "kubernetes" "monitoring" "mysql" "nats" "postgres" "rabbitmq" "redis" "seaweedfs" "tcp-balancer" "tenant" "virtual-machine" "virtualprivatecloud" "vm-disk" "vm-instance" "vpn" }}
{{- range $name := $rd_names }}
- name: {{ $name }}-rd
releaseName: {{ $name }}-rd
chart: {{ $name }}-rd
namespace: cozy-system
dependsOn: [cilium,cozystack-controller,cozystack-resource-definition-crd]
{{- end }}| - name: bootbox-rd | ||
| releaseName: bootbox-rd | ||
| chart: bootbox-rd | ||
| namespace: cozy-system | ||
| dependsOn: [cozystack-resource-definition-crd] | ||
|
|
||
| - name: bucket-rd | ||
| releaseName: bucket-rd | ||
| chart: bucket-rd | ||
| namespace: cozy-system | ||
| dependsOn: [cozystack-resource-definition-crd] | ||
|
|
||
| - name: clickhouse-rd | ||
| releaseName: clickhouse-rd | ||
| chart: clickhouse-rd | ||
| namespace: cozy-system | ||
| dependsOn: [cozystack-resource-definition-crd] | ||
|
|
||
| - name: etcd-rd | ||
| releaseName: etcd-rd | ||
| chart: etcd-rd | ||
| namespace: cozy-system | ||
| dependsOn: [cozystack-resource-definition-crd] | ||
|
|
||
| - name: ferretdb-rd | ||
| releaseName: ferretdb-rd | ||
| chart: ferretdb-rd | ||
| namespace: cozy-system | ||
| dependsOn: [cozystack-resource-definition-crd] | ||
|
|
||
| - name: foundationdb-rd | ||
| releaseName: foundationdb-rd | ||
| chart: foundationdb-rd | ||
| namespace: cozy-system | ||
| dependsOn: [cozystack-resource-definition-crd] | ||
|
|
||
| - name: http-cache-rd | ||
| releaseName: http-cache-rd | ||
| chart: http-cache-rd | ||
| namespace: cozy-system | ||
| dependsOn: [cilium,kubeovn,cozystack-api,cozystack-controller,cozystack-resource-definition-crd] | ||
|
|
||
| - name: info-rd | ||
| releaseName: info-rd | ||
| chart: info-rd | ||
| namespace: cozy-system | ||
| dependsOn: [cozystack-resource-definition-crd] | ||
|
|
||
| - name: ingress-rd | ||
| releaseName: ingress-rd | ||
| chart: ingress-rd | ||
| namespace: cozy-system | ||
| dependsOn: [cozystack-resource-definition-crd] | ||
|
|
||
| - name: kafka-rd | ||
| releaseName: kafka-rd | ||
| chart: kafka-rd | ||
| namespace: cozy-system | ||
| dependsOn: [cozystack-resource-definition-crd] | ||
|
|
||
| - name: kubernetes-rd | ||
| releaseName: kubernetes-rd | ||
| chart: kubernetes-rd | ||
| namespace: cozy-system | ||
| dependsOn: [cozystack-resource-definition-crd] | ||
|
|
||
| - name: monitoring-rd | ||
| releaseName: monitoring-rd | ||
| chart: monitoring-rd | ||
| namespace: cozy-system | ||
| dependsOn: [cozystack-resource-definition-crd] | ||
|
|
||
| - name: mysql-rd | ||
| releaseName: mysql-rd | ||
| chart: mysql-rd | ||
| namespace: cozy-system | ||
| dependsOn: [cozystack-resource-definition-crd] | ||
|
|
||
| - name: nats-rd | ||
| releaseName: nats-rd | ||
| chart: nats-rd | ||
| namespace: cozy-system | ||
| dependsOn: [cozystack-resource-definition-crd] | ||
|
|
||
| - name: postgres-rd | ||
| releaseName: postgres-rd | ||
| chart: postgres-rd | ||
| namespace: cozy-system | ||
| dependsOn: [cozystack-resource-definition-crd] | ||
|
|
||
| - name: rabbitmq-rd | ||
| releaseName: rabbitmq-rd | ||
| chart: rabbitmq-rd | ||
| namespace: cozy-system | ||
| dependsOn: [cozystack-resource-definition-crd] | ||
|
|
||
| - name: redis-rd | ||
| releaseName: redis-rd | ||
| chart: redis-rd | ||
| namespace: cozy-system | ||
| dependsOn: [cozystack-resource-definition-crd] | ||
|
|
||
| - name: seaweedfs-rd | ||
| releaseName: seaweedfs-rd | ||
| chart: seaweedfs-rd | ||
| namespace: cozy-system | ||
| dependsOn: [cozystack-resource-definition-crd] | ||
|
|
||
| - name: tcp-balancer-rd | ||
| releaseName: tcp-balancer-rd | ||
| chart: tcp-balancer-rd | ||
| namespace: cozy-system | ||
| dependsOn: [cilium,kubeovn,cozystack-api,cozystack-controller,cozystack-resource-definition-crd] | ||
|
|
||
| - name: tenant-rd | ||
| releaseName: tenant-rd | ||
| chart: tenant-rd | ||
| namespace: cozy-system | ||
| dependsOn: [cozystack-resource-definition-crd] | ||
|
|
||
| - name: virtual-machine-rd | ||
| releaseName: virtual-machine-rd | ||
| chart: virtual-machine-rd | ||
| namespace: cozy-system | ||
| dependsOn: [cilium,kubeovn,cozystack-api,cozystack-controller,cozystack-resource-definition-crd] | ||
|
|
||
| - name: virtualprivatecloud-rd | ||
| releaseName: virtualprivatecloud-rd | ||
| chart: virtualprivatecloud-rd | ||
| namespace: cozy-system | ||
| dependsOn: [cozystack-resource-definition-crd] | ||
|
|
||
| - name: vm-disk-rd | ||
| releaseName: vm-disk-rd | ||
| chart: vm-disk-rd | ||
| namespace: cozy-system | ||
| dependsOn: [cilium,kubeovn,cozystack-api,cozystack-controller,cozystack-resource-definition-crd] | ||
|
|
||
| - name: vm-instance-rd | ||
| releaseName: vm-instance-rd | ||
| chart: vm-instance-rd | ||
| namespace: cozy-system | ||
| dependsOn: [cilium,kubeovn,cozystack-api,cozystack-controller,cozystack-resource-definition-crd] | ||
|
|
||
| - name: vpn-rd | ||
| releaseName: vpn-rd | ||
| chart: vpn-rd | ||
| namespace: cozy-system | ||
| dependsOn: [cozystack-resource-definition-crd] | ||
|
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This large block of repeated release definitions for the resource definition packages (*-rd) is difficult to maintain. Adding or removing a resource definition would require manual changes in multiple places. Since this file is processed by a templating engine (as evidenced by the syntax at the top of the file), you could use a loop to generate these definitions. This would improve maintainability, reduce the file size, and make the list of included resource definitions more explicit.
{{- $rd_names := list "bootbox" "bucket" "clickhouse" "etcd" "ferretdb" "foundationdb" "http-cache" "info" "ingress" "kafka" "kubernetes" "monitoring" "mysql" "nats" "postgres" "rabbitmq" "redis" "seaweedfs" "tcp-balancer" "tenant" "virtual-machine" "virtualprivatecloud" "vm-disk" "vm-instance" "vpn" }}
{{- range $name := $rd_names }}
- name: {{ $name }}-rd
releaseName: {{ $name }}-rd
chart: {{ $name }}-rd
namespace: cozy-system
dependsOn: [cilium,kubeovn,cozystack-api,cozystack-controller,cozystack-resource-definition-crd]
{{- end }}| - name: bootbox-rd | ||
| releaseName: bootbox-rd | ||
| chart: bootbox-rd | ||
| namespace: cozy-system | ||
| dependsOn: [cozystack-resource-definition-crd] | ||
|
|
||
| - name: bucket-rd | ||
| releaseName: bucket-rd | ||
| chart: bucket-rd | ||
| namespace: cozy-system | ||
| dependsOn: [cozystack-resource-definition-crd] | ||
|
|
||
| - name: clickhouse-rd | ||
| releaseName: clickhouse-rd | ||
| chart: clickhouse-rd | ||
| namespace: cozy-system | ||
| dependsOn: [cozystack-resource-definition-crd] | ||
|
|
||
| - name: etcd-rd | ||
| releaseName: etcd-rd | ||
| chart: etcd-rd | ||
| namespace: cozy-system | ||
| dependsOn: [cozystack-resource-definition-crd] | ||
|
|
||
| - name: ferretdb-rd | ||
| releaseName: ferretdb-rd | ||
| chart: ferretdb-rd | ||
| namespace: cozy-system | ||
| dependsOn: [cozystack-resource-definition-crd] | ||
|
|
||
| - name: foundationdb-rd | ||
| releaseName: foundationdb-rd | ||
| chart: foundationdb-rd | ||
| namespace: cozy-system | ||
| dependsOn: [cozystack-resource-definition-crd] | ||
|
|
||
| - name: http-cache-rd | ||
| releaseName: http-cache-rd | ||
| chart: http-cache-rd | ||
| namespace: cozy-system | ||
| dependsOn: [cozystack-api,cozystack-controller,cozystack-resource-definition-crd] | ||
|
|
||
| - name: info-rd | ||
| releaseName: info-rd | ||
| chart: info-rd | ||
| namespace: cozy-system | ||
| dependsOn: [cozystack-resource-definition-crd] | ||
|
|
||
| - name: ingress-rd | ||
| releaseName: ingress-rd | ||
| chart: ingress-rd | ||
| namespace: cozy-system | ||
| dependsOn: [cozystack-resource-definition-crd] | ||
|
|
||
| - name: kafka-rd | ||
| releaseName: kafka-rd | ||
| chart: kafka-rd | ||
| namespace: cozy-system | ||
| dependsOn: [cozystack-resource-definition-crd] | ||
|
|
||
| - name: kubernetes-rd | ||
| releaseName: kubernetes-rd | ||
| chart: kubernetes-rd | ||
| namespace: cozy-system | ||
| dependsOn: [cozystack-resource-definition-crd] | ||
|
|
||
| - name: monitoring-rd | ||
| releaseName: monitoring-rd | ||
| chart: monitoring-rd | ||
| namespace: cozy-system | ||
| dependsOn: [cozystack-resource-definition-crd] | ||
|
|
||
| - name: mysql-rd | ||
| releaseName: mysql-rd | ||
| chart: mysql-rd | ||
| namespace: cozy-system | ||
| dependsOn: [cozystack-resource-definition-crd] | ||
|
|
||
| - name: nats-rd | ||
| releaseName: nats-rd | ||
| chart: nats-rd | ||
| namespace: cozy-system | ||
| dependsOn: [cozystack-resource-definition-crd] | ||
|
|
||
| - name: postgres-rd | ||
| releaseName: postgres-rd | ||
| chart: postgres-rd | ||
| namespace: cozy-system | ||
| dependsOn: [cozystack-resource-definition-crd] | ||
|
|
||
| - name: rabbitmq-rd | ||
| releaseName: rabbitmq-rd | ||
| chart: rabbitmq-rd | ||
| namespace: cozy-system | ||
| dependsOn: [cozystack-resource-definition-crd] | ||
|
|
||
| - name: redis-rd | ||
| releaseName: redis-rd | ||
| chart: redis-rd | ||
| namespace: cozy-system | ||
| dependsOn: [cozystack-resource-definition-crd] | ||
|
|
||
| - name: seaweedfs-rd | ||
| releaseName: seaweedfs-rd | ||
| chart: seaweedfs-rd | ||
| namespace: cozy-system | ||
| dependsOn: [cozystack-resource-definition-crd] | ||
|
|
||
| - name: tcp-balancer-rd | ||
| releaseName: tcp-balancer-rd | ||
| chart: tcp-balancer-rd | ||
| namespace: cozy-system | ||
| dependsOn: [cozystack-api,cozystack-controller,cozystack-resource-definition-crd] | ||
|
|
||
| - name: tenant-rd | ||
| releaseName: tenant-rd | ||
| chart: tenant-rd | ||
| namespace: cozy-system | ||
| dependsOn: [cozystack-resource-definition-crd] | ||
|
|
||
| - name: virtual-machine-rd | ||
| releaseName: virtual-machine-rd | ||
| chart: virtual-machine-rd | ||
| namespace: cozy-system | ||
| dependsOn: [cozystack-api,cozystack-controller,cozystack-resource-definition-crd] | ||
|
|
||
| - name: virtualprivatecloud-rd | ||
| releaseName: virtualprivatecloud-rd | ||
| chart: virtualprivatecloud-rd | ||
| namespace: cozy-system | ||
| dependsOn: [cozystack-resource-definition-crd] | ||
|
|
||
| - name: vm-disk-rd | ||
| releaseName: vm-disk-rd | ||
| chart: vm-disk-rd | ||
| namespace: cozy-system | ||
| dependsOn: [cozystack-api,cozystack-controller,cozystack-resource-definition-crd] | ||
|
|
||
| - name: vm-instance-rd | ||
| releaseName: vm-instance-rd | ||
| chart: vm-instance-rd | ||
| namespace: cozy-system | ||
| dependsOn: [cozystack-api,cozystack-controller,cozystack-resource-definition-crd] | ||
|
|
||
| - name: vpn-rd | ||
| releaseName: vpn-rd | ||
| chart: vpn-rd | ||
| namespace: cozy-system | ||
| dependsOn: [cozystack-resource-definition-crd] | ||
|
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This large block of repeated release definitions for the resource definition packages (*-rd) is difficult to maintain. Adding or removing a resource definition would require manual changes in multiple places. Since this file is processed by a templating engine (as evidenced by the syntax at the top of the file), you could use a loop to generate these definitions. This would improve maintainability, reduce the file size, and make the list of included resource definitions more explicit.
{{- $rd_names := list "bootbox" "bucket" "clickhouse" "etcd" "ferretdb" "foundationdb" "http-cache" "info" "ingress" "kafka" "kubernetes" "monitoring" "mysql" "nats" "postgres" "rabbitmq" "redis" "seaweedfs" "tcp-balancer" "tenant" "virtual-machine" "virtualprivatecloud" "vm-disk" "vm-instance" "vpn" }}
{{- range $name := $rd_names }}
- name: {{ $name }}-rd
releaseName: {{ $name }}-rd
chart: {{ $name }}-rd
namespace: cozy-system
dependsOn: [cozystack-api,cozystack-controller,cozystack-resource-definition-crd]
{{- end }}| {{- range $path, $_ := .Files.Glob "cozyrds/*" }} | ||
| --- | ||
| {{ $.Files.Get $path }} | ||
| {{- end }} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This template file is duplicated across all 25 new *-rd packages. While this approach ensures each package is standalone, it could lead to maintenance challenges. If this template needs to be updated in the future, the change will have to be applied to all 25 packages. Consider using a common Helm library chart to share this template and other boilerplate files like values.yaml. This would reduce duplication and centralize common logic, though it would introduce a dependency between the packages.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
🧹 Nitpick comments (10)
packages/system/virtualprivatecloud-rd/values.yaml (1)
1-1: LGTM: Valid placeholder for Helm values.The empty YAML object is a standard convention for Helm charts with no default configuration values. This pattern is consistent across all the new resource-definition packages.
Optional: Consider adding explanatory comment.
For improved maintainability, you could optionally add a comment explaining this is a placeholder:
🔎 Optional documentation enhancement
+# Empty values - configuration provided by build process {}packages/system/virtual-machine-rd/values.yaml (1)
1-1: LGTM: Valid placeholder for Helm values.The empty YAML object follows the standard Helm convention and is consistent with all other resource-definition packages in this refactor.
Optional: Consider adding explanatory comment.
🔎 Optional documentation enhancement
+# Empty values - configuration provided by build process {}packages/system/clickhouse-rd/values.yaml (1)
1-1: LGTM: Valid placeholder for Helm values.The empty YAML object is appropriate for a Helm chart with no default configuration values, consistent with the pattern across all resource-definition packages.
Optional: Consider adding explanatory comment.
🔎 Optional documentation enhancement
+# Empty values - configuration provided by build process {}packages/system/vpn-rd/values.yaml (1)
1-1: LGTM: Valid placeholder for Helm values.The empty YAML object follows Helm conventions and maintains consistency with all other resource-definition packages.
Optional: Consider adding explanatory comment.
🔎 Optional documentation enhancement
+# Empty values - configuration provided by build process {}packages/system/info-rd/values.yaml (1)
1-1: LGTM: Valid placeholder for Helm values.The empty YAML object is a standard Helm convention for charts without default configuration, matching the pattern across all resource-definition packages.
Optional: Consider adding explanatory comment.
🔎 Optional documentation enhancement
+# Empty values - configuration provided by build process {}packages/system/ferretdb-rd/values.yaml (1)
1-1: LGTM: Valid placeholder for Helm values.The empty YAML object follows Helm best practices for placeholder values and is consistent with the approach across all resource-definition packages in this refactor.
Optional: Consider adding explanatory comment.
🔎 Optional documentation enhancement
+# Empty values - configuration provided by build process {}packages/system/bootbox-rd/Chart.yaml (1)
1-3: LGTM: Chart metadata follows Helm standards.The chart structure is correct and consistent with the other resource-definition packages in this PR. The version placeholder with build-time replacement is appropriate.
Optional: Consider adding a description field for documentation
While not required, adding a
descriptionfield would improve chart discoverability and documentation:apiVersion: v2 name: bootbox-rd +description: Bootbox resource definition for Cozystack version: 0.0.0 # Placeholder, the actual version will be automatically set during the build processThis suggestion applies to all 25 *-rd charts being introduced in this PR.
packages/system/redis-rd/Chart.yaml (1)
1-3: Chart structure is valid; consider adding description field.The minimal Chart.yaml is valid for a simple CRD-only package. The placeholder version with build-time replacement is an acceptable pattern.
Optional: Add description field for better documentation
apiVersion: v2 name: redis-rd +description: Redis resource definition for Cozystack version: 0.0.0 # Placeholder, the actual version will be automatically set during the build processThis would improve discoverability and documentation, though it's not required for functionality.
Note: These new -rd packages don't follow the umbrella pattern mentioned in the coding guidelines for packages/system/. This appears intentional for simple CRD-only packages that don't require vendored dependencies, but may be worth confirming with the team. Based on learnings, packages/system/ typically use the Helm Chart umbrella pattern.
packages/system/vm-disk-rd/Chart.yaml (1)
1-3: Chart metadata is functional and consistent.The minimal Chart.yaml structure is valid and aligns with the pattern used across all 25 resource definition packages in this refactor.
Consider adding a
descriptionfield for improved discoverability:📋 Optional enhancement
apiVersion: v2 name: vm-disk-rd +description: Virtual machine disk resource definitions for Cozystack version: 0.0.0 # Placeholder, the actual version will be automatically set during the build processpackages/system/info-rd/Chart.yaml (1)
1-3: Consider adding adescriptionfield for better chart documentation.The Chart.yaml is minimal but functional. Adding a
descriptionfield would improve discoverability and documentation, especially since these are now standalone packages.🔎 Suggested addition
apiVersion: v2 name: info-rd +description: Cozystack resource definitions for Info resources version: 0.0.0 # Placeholder, the actual version will be automatically set during the build process
📜 Review details
Configuration used: defaults
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (129)
hack/update-crd.shpackages/core/platform/bundles/distro-full.yamlpackages/core/platform/bundles/paas-full.yamlpackages/core/platform/bundles/paas-hosted.yamlpackages/system/bootbox-rd/Chart.yamlpackages/system/bootbox-rd/Makefilepackages/system/bootbox-rd/cozyrds/bootbox.yamlpackages/system/bootbox-rd/templates/cozyrd.yamlpackages/system/bootbox-rd/values.yamlpackages/system/bucket-rd/Chart.yamlpackages/system/bucket-rd/Makefilepackages/system/bucket-rd/cozyrds/bucket.yamlpackages/system/bucket-rd/templates/cozyrd.yamlpackages/system/bucket-rd/values.yamlpackages/system/clickhouse-rd/Chart.yamlpackages/system/clickhouse-rd/Makefilepackages/system/clickhouse-rd/cozyrds/clickhouse.yamlpackages/system/clickhouse-rd/templates/cozyrd.yamlpackages/system/clickhouse-rd/values.yamlpackages/system/etcd-rd/Chart.yamlpackages/system/etcd-rd/Makefilepackages/system/etcd-rd/cozyrds/etcd.yamlpackages/system/etcd-rd/templates/cozyrd.yamlpackages/system/etcd-rd/values.yamlpackages/system/ferretdb-rd/Chart.yamlpackages/system/ferretdb-rd/Makefilepackages/system/ferretdb-rd/cozyrds/ferretdb.yamlpackages/system/ferretdb-rd/templates/cozyrd.yamlpackages/system/ferretdb-rd/values.yamlpackages/system/foundationdb-rd/Chart.yamlpackages/system/foundationdb-rd/Makefilepackages/system/foundationdb-rd/cozyrds/foundationdb.yamlpackages/system/foundationdb-rd/templates/cozyrd.yamlpackages/system/foundationdb-rd/values.yamlpackages/system/http-cache-rd/Chart.yamlpackages/system/http-cache-rd/Makefilepackages/system/http-cache-rd/cozyrds/http-cache.yamlpackages/system/http-cache-rd/templates/cozyrd.yamlpackages/system/http-cache-rd/values.yamlpackages/system/info-rd/Chart.yamlpackages/system/info-rd/Makefilepackages/system/info-rd/cozyrds/info.yamlpackages/system/info-rd/templates/cozyrd.yamlpackages/system/info-rd/values.yamlpackages/system/ingress-rd/Chart.yamlpackages/system/ingress-rd/Makefilepackages/system/ingress-rd/cozyrds/ingress.yamlpackages/system/ingress-rd/templates/cozyrd.yamlpackages/system/ingress-rd/values.yamlpackages/system/kafka-rd/Chart.yamlpackages/system/kafka-rd/Makefilepackages/system/kafka-rd/cozyrds/kafka.yamlpackages/system/kafka-rd/templates/cozyrd.yamlpackages/system/kafka-rd/values.yamlpackages/system/kubernetes-rd/Chart.yamlpackages/system/kubernetes-rd/Makefilepackages/system/kubernetes-rd/cozyrds/kubernetes.yamlpackages/system/kubernetes-rd/templates/cozyrd.yamlpackages/system/kubernetes-rd/values.yamlpackages/system/monitoring-rd/Chart.yamlpackages/system/monitoring-rd/Makefilepackages/system/monitoring-rd/cozyrds/monitoring.yamlpackages/system/monitoring-rd/templates/cozyrd.yamlpackages/system/monitoring-rd/values.yamlpackages/system/mysql-rd/Chart.yamlpackages/system/mysql-rd/Makefilepackages/system/mysql-rd/cozyrds/mysql.yamlpackages/system/mysql-rd/templates/cozyrd.yamlpackages/system/mysql-rd/values.yamlpackages/system/nats-rd/Chart.yamlpackages/system/nats-rd/Makefilepackages/system/nats-rd/cozyrds/nats.yamlpackages/system/nats-rd/templates/cozyrd.yamlpackages/system/nats-rd/values.yamlpackages/system/postgres-rd/Chart.yamlpackages/system/postgres-rd/Makefilepackages/system/postgres-rd/cozyrds/postgres.yamlpackages/system/postgres-rd/templates/cozyrd.yamlpackages/system/postgres-rd/values.yamlpackages/system/rabbitmq-rd/Chart.yamlpackages/system/rabbitmq-rd/Makefilepackages/system/rabbitmq-rd/cozyrds/rabbitmq.yamlpackages/system/rabbitmq-rd/templates/cozyrd.yamlpackages/system/rabbitmq-rd/values.yamlpackages/system/redis-rd/Chart.yamlpackages/system/redis-rd/Makefilepackages/system/redis-rd/cozyrds/redis.yamlpackages/system/redis-rd/templates/cozyrd.yamlpackages/system/redis-rd/values.yamlpackages/system/seaweedfs-rd/Chart.yamlpackages/system/seaweedfs-rd/Makefilepackages/system/seaweedfs-rd/cozyrds/seaweedfs.yamlpackages/system/seaweedfs-rd/templates/cozyrd.yamlpackages/system/seaweedfs-rd/values.yamlpackages/system/tcp-balancer-rd/Chart.yamlpackages/system/tcp-balancer-rd/Makefilepackages/system/tcp-balancer-rd/cozyrds/tcp-balancer.yamlpackages/system/tcp-balancer-rd/templates/cozyrd.yamlpackages/system/tcp-balancer-rd/values.yamlpackages/system/tenant-rd/Chart.yamlpackages/system/tenant-rd/Makefilepackages/system/tenant-rd/cozyrds/tenant.yamlpackages/system/tenant-rd/templates/cozyrd.yamlpackages/system/tenant-rd/values.yamlpackages/system/virtual-machine-rd/Chart.yamlpackages/system/virtual-machine-rd/Makefilepackages/system/virtual-machine-rd/cozyrds/virtual-machine.yamlpackages/system/virtual-machine-rd/templates/cozyrd.yamlpackages/system/virtual-machine-rd/values.yamlpackages/system/virtualprivatecloud-rd/Chart.yamlpackages/system/virtualprivatecloud-rd/Makefilepackages/system/virtualprivatecloud-rd/cozyrds/virtualprivatecloud.yamlpackages/system/virtualprivatecloud-rd/templates/cozyrd.yamlpackages/system/virtualprivatecloud-rd/values.yamlpackages/system/vm-disk-rd/Chart.yamlpackages/system/vm-disk-rd/Makefilepackages/system/vm-disk-rd/cozyrds/vm-disk.yamlpackages/system/vm-disk-rd/templates/cozyrd.yamlpackages/system/vm-disk-rd/values.yamlpackages/system/vm-instance-rd/Chart.yamlpackages/system/vm-instance-rd/Makefilepackages/system/vm-instance-rd/cozyrds/vm-instance.yamlpackages/system/vm-instance-rd/templates/cozyrd.yamlpackages/system/vm-instance-rd/values.yamlpackages/system/vpn-rd/Chart.yamlpackages/system/vpn-rd/Makefilepackages/system/vpn-rd/cozyrds/vpn.yamlpackages/system/vpn-rd/templates/cozyrd.yamlpackages/system/vpn-rd/values.yaml
🧰 Additional context used
📓 Path-based instructions (3)
packages/system/**
📄 CodeRabbit inference engine (AGENTS.md)
Use Helm Chart umbrella pattern with vendored upstream charts in
charts/directory
Files:
packages/system/foundationdb-rd/Makefilepackages/system/kafka-rd/values.yamlpackages/system/bootbox-rd/Makefilepackages/system/redis-rd/values.yamlpackages/system/postgres-rd/templates/cozyrd.yamlpackages/system/tcp-balancer-rd/values.yamlpackages/system/info-rd/Makefilepackages/system/tcp-balancer-rd/Makefilepackages/system/info-rd/templates/cozyrd.yamlpackages/system/etcd-rd/Makefilepackages/system/http-cache-rd/templates/cozyrd.yamlpackages/system/virtualprivatecloud-rd/templates/cozyrd.yamlpackages/system/vpn-rd/Makefilepackages/system/etcd-rd/values.yamlpackages/system/virtual-machine-rd/values.yamlpackages/system/postgres-rd/Makefilepackages/system/clickhouse-rd/templates/cozyrd.yamlpackages/system/virtual-machine-rd/Makefilepackages/system/vm-disk-rd/values.yamlpackages/system/kubernetes-rd/values.yamlpackages/system/rabbitmq-rd/Makefilepackages/system/http-cache-rd/values.yamlpackages/system/bucket-rd/values.yamlpackages/system/vm-disk-rd/templates/cozyrd.yamlpackages/system/redis-rd/Makefilepackages/system/ferretdb-rd/values.yamlpackages/system/kubernetes-rd/Makefilepackages/system/monitoring-rd/values.yamlpackages/system/ferretdb-rd/Makefilepackages/system/virtual-machine-rd/templates/cozyrd.yamlpackages/system/monitoring-rd/templates/cozyrd.yamlpackages/system/rabbitmq-rd/values.yamlpackages/system/mysql-rd/values.yamlpackages/system/ingress-rd/values.yamlpackages/system/mysql-rd/Makefilepackages/system/tenant-rd/Makefilepackages/system/vm-instance-rd/values.yamlpackages/system/virtualprivatecloud-rd/values.yamlpackages/system/vm-disk-rd/Makefilepackages/system/virtualprivatecloud-rd/Makefilepackages/system/etcd-rd/templates/cozyrd.yamlpackages/system/kubernetes-rd/templates/cozyrd.yamlpackages/system/kafka-rd/Chart.yamlpackages/system/seaweedfs-rd/values.yamlpackages/system/monitoring-rd/Makefilepackages/system/foundationdb-rd/Chart.yamlpackages/system/redis-rd/Chart.yamlpackages/system/tenant-rd/Chart.yamlpackages/system/nats-rd/values.yamlpackages/system/postgres-rd/values.yamlpackages/system/tcp-balancer-rd/Chart.yamlpackages/system/virtual-machine-rd/Chart.yamlpackages/system/info-rd/values.yamlpackages/system/clickhouse-rd/values.yamlpackages/system/ingress-rd/Chart.yamlpackages/system/vpn-rd/values.yamlpackages/system/virtualprivatecloud-rd/Chart.yamlpackages/system/vpn-rd/templates/cozyrd.yamlpackages/system/vm-instance-rd/templates/cozyrd.yamlpackages/system/tenant-rd/values.yamlpackages/system/nats-rd/Makefilepackages/system/ingress-rd/Makefilepackages/system/ferretdb-rd/Chart.yamlpackages/system/bootbox-rd/Chart.yamlpackages/system/tcp-balancer-rd/templates/cozyrd.yamlpackages/system/vm-instance-rd/Makefilepackages/system/redis-rd/templates/cozyrd.yamlpackages/system/http-cache-rd/Makefilepackages/system/kafka-rd/Makefilepackages/system/mysql-rd/templates/cozyrd.yamlpackages/system/seaweedfs-rd/templates/cozyrd.yamlpackages/system/postgres-rd/Chart.yamlpackages/system/seaweedfs-rd/Makefilepackages/system/clickhouse-rd/Makefilepackages/system/tenant-rd/templates/cozyrd.yamlpackages/system/rabbitmq-rd/templates/cozyrd.yamlpackages/system/seaweedfs-rd/Chart.yamlpackages/system/nats-rd/templates/cozyrd.yamlpackages/system/foundationdb-rd/templates/cozyrd.yamlpackages/system/kubernetes-rd/Chart.yamlpackages/system/ferretdb-rd/templates/cozyrd.yamlpackages/system/vpn-rd/Chart.yamlpackages/system/bucket-rd/Makefilepackages/system/vm-instance-rd/Chart.yamlpackages/system/nats-rd/Chart.yamlpackages/system/rabbitmq-rd/Chart.yamlpackages/system/bucket-rd/Chart.yamlpackages/system/info-rd/Chart.yamlpackages/system/bucket-rd/templates/cozyrd.yamlpackages/system/mysql-rd/Chart.yamlpackages/system/ingress-rd/templates/cozyrd.yamlpackages/system/vm-disk-rd/Chart.yamlpackages/system/etcd-rd/Chart.yamlpackages/system/kafka-rd/templates/cozyrd.yamlpackages/system/clickhouse-rd/Chart.yamlpackages/system/http-cache-rd/Chart.yamlpackages/system/monitoring-rd/Chart.yamlpackages/system/foundationdb-rd/values.yaml
**/*.yaml
📄 CodeRabbit inference engine (AGENTS.md)
Do NOT directly edit upstream Helm charts in vendored charts directory; use proper chart vendoring mechanisms
Files:
packages/system/kafka-rd/values.yamlpackages/system/redis-rd/values.yamlpackages/system/postgres-rd/templates/cozyrd.yamlpackages/system/tcp-balancer-rd/values.yamlpackages/system/info-rd/templates/cozyrd.yamlpackages/system/http-cache-rd/templates/cozyrd.yamlpackages/system/virtualprivatecloud-rd/templates/cozyrd.yamlpackages/system/etcd-rd/values.yamlpackages/system/virtual-machine-rd/values.yamlpackages/system/clickhouse-rd/templates/cozyrd.yamlpackages/system/vm-disk-rd/values.yamlpackages/system/kubernetes-rd/values.yamlpackages/system/http-cache-rd/values.yamlpackages/system/bucket-rd/values.yamlpackages/system/vm-disk-rd/templates/cozyrd.yamlpackages/system/ferretdb-rd/values.yamlpackages/system/monitoring-rd/values.yamlpackages/system/virtual-machine-rd/templates/cozyrd.yamlpackages/system/monitoring-rd/templates/cozyrd.yamlpackages/system/rabbitmq-rd/values.yamlpackages/system/mysql-rd/values.yamlpackages/system/ingress-rd/values.yamlpackages/system/vm-instance-rd/values.yamlpackages/system/virtualprivatecloud-rd/values.yamlpackages/system/etcd-rd/templates/cozyrd.yamlpackages/system/kubernetes-rd/templates/cozyrd.yamlpackages/system/kafka-rd/Chart.yamlpackages/system/seaweedfs-rd/values.yamlpackages/system/foundationdb-rd/Chart.yamlpackages/system/redis-rd/Chart.yamlpackages/system/tenant-rd/Chart.yamlpackages/system/nats-rd/values.yamlpackages/system/postgres-rd/values.yamlpackages/system/tcp-balancer-rd/Chart.yamlpackages/system/virtual-machine-rd/Chart.yamlpackages/system/info-rd/values.yamlpackages/system/clickhouse-rd/values.yamlpackages/system/ingress-rd/Chart.yamlpackages/system/vpn-rd/values.yamlpackages/system/virtualprivatecloud-rd/Chart.yamlpackages/system/vpn-rd/templates/cozyrd.yamlpackages/system/vm-instance-rd/templates/cozyrd.yamlpackages/system/tenant-rd/values.yamlpackages/system/ferretdb-rd/Chart.yamlpackages/system/bootbox-rd/Chart.yamlpackages/system/tcp-balancer-rd/templates/cozyrd.yamlpackages/system/redis-rd/templates/cozyrd.yamlpackages/system/mysql-rd/templates/cozyrd.yamlpackages/system/seaweedfs-rd/templates/cozyrd.yamlpackages/system/postgres-rd/Chart.yamlpackages/system/tenant-rd/templates/cozyrd.yamlpackages/system/rabbitmq-rd/templates/cozyrd.yamlpackages/system/seaweedfs-rd/Chart.yamlpackages/system/nats-rd/templates/cozyrd.yamlpackages/system/foundationdb-rd/templates/cozyrd.yamlpackages/system/kubernetes-rd/Chart.yamlpackages/system/ferretdb-rd/templates/cozyrd.yamlpackages/system/vpn-rd/Chart.yamlpackages/system/vm-instance-rd/Chart.yamlpackages/system/nats-rd/Chart.yamlpackages/system/rabbitmq-rd/Chart.yamlpackages/system/bucket-rd/Chart.yamlpackages/system/info-rd/Chart.yamlpackages/system/bucket-rd/templates/cozyrd.yamlpackages/system/mysql-rd/Chart.yamlpackages/system/ingress-rd/templates/cozyrd.yamlpackages/system/vm-disk-rd/Chart.yamlpackages/system/etcd-rd/Chart.yamlpackages/system/kafka-rd/templates/cozyrd.yamlpackages/system/clickhouse-rd/Chart.yamlpackages/system/http-cache-rd/Chart.yamlpackages/system/monitoring-rd/Chart.yamlpackages/system/foundationdb-rd/values.yamlpackages/core/platform/bundles/distro-full.yamlpackages/core/platform/bundles/paas-full.yamlpackages/core/platform/bundles/paas-hosted.yaml
packages/core/**
📄 CodeRabbit inference engine (AGENTS.md)
Use Helm Chart umbrella pattern with vendored upstream charts in
charts/directory
Files:
packages/core/platform/bundles/distro-full.yamlpackages/core/platform/bundles/paas-full.yamlpackages/core/platform/bundles/paas-hosted.yaml
🧠 Learnings (9)
📓 Common learnings
Learnt from: CR
Repo: cozystack/cozystack PR: 0
File: AGENTS.md:0-0
Timestamp: 2025-12-25T09:45:26.524Z
Learning: Applies to packages/core/** : Use Helm Chart umbrella pattern with vendored upstream charts in `charts/` directory
📚 Learning: 2025-12-25T09:45:26.524Z
Learnt from: CR
Repo: cozystack/cozystack PR: 0
File: AGENTS.md:0-0
Timestamp: 2025-12-25T09:45:26.524Z
Learning: Applies to packages/system/** : Use Helm Chart umbrella pattern with vendored upstream charts in `charts/` directory
Applied to files:
packages/system/kafka-rd/Chart.yamlpackages/system/foundationdb-rd/Chart.yamlpackages/system/redis-rd/Chart.yamlpackages/system/tenant-rd/Chart.yamlpackages/system/tcp-balancer-rd/Chart.yamlpackages/system/virtual-machine-rd/Chart.yamlpackages/system/ingress-rd/Chart.yamlpackages/system/virtualprivatecloud-rd/Chart.yamlpackages/system/ferretdb-rd/Chart.yamlpackages/system/seaweedfs-rd/Chart.yamlpackages/system/kubernetes-rd/Chart.yamlpackages/system/vm-instance-rd/Chart.yamlpackages/system/nats-rd/Chart.yamlpackages/system/rabbitmq-rd/Chart.yamlpackages/system/bucket-rd/Chart.yamlpackages/system/info-rd/Chart.yamlpackages/system/vm-disk-rd/Chart.yamlpackages/system/clickhouse-rd/Chart.yamlpackages/system/http-cache-rd/Chart.yaml
📚 Learning: 2025-12-25T09:45:26.524Z
Learnt from: CR
Repo: cozystack/cozystack PR: 0
File: AGENTS.md:0-0
Timestamp: 2025-12-25T09:45:26.524Z
Learning: Applies to **/*.yaml : Do NOT directly edit upstream Helm charts in vendored charts directory; use proper chart vendoring mechanisms
Applied to files:
packages/system/kafka-rd/Chart.yamlpackages/system/foundationdb-rd/Chart.yamlpackages/system/redis-rd/Chart.yamlpackages/system/tenant-rd/Chart.yamlpackages/system/virtual-machine-rd/Chart.yamlpackages/system/ingress-rd/Chart.yamlpackages/system/virtualprivatecloud-rd/Chart.yamlpackages/system/ferretdb-rd/Chart.yamlhack/update-crd.shpackages/system/seaweedfs-rd/Chart.yamlpackages/system/kubernetes-rd/Chart.yamlpackages/system/vpn-rd/Chart.yamlpackages/system/vm-instance-rd/Chart.yamlpackages/system/nats-rd/Chart.yamlpackages/system/bucket-rd/Chart.yamlpackages/system/info-rd/Chart.yamlpackages/system/mysql-rd/Chart.yamlpackages/system/vm-disk-rd/Chart.yamlpackages/system/etcd-rd/Chart.yamlpackages/system/clickhouse-rd/Chart.yamlpackages/system/http-cache-rd/Chart.yamlpackages/system/monitoring-rd/Chart.yaml
📚 Learning: 2025-12-25T09:45:26.524Z
Learnt from: CR
Repo: cozystack/cozystack PR: 0
File: AGENTS.md:0-0
Timestamp: 2025-12-25T09:45:26.524Z
Learning: Applies to packages/core/** : Use Helm Chart umbrella pattern with vendored upstream charts in `charts/` directory
Applied to files:
packages/system/foundationdb-rd/Chart.yamlpackages/system/redis-rd/Chart.yamlpackages/system/tenant-rd/Chart.yamlpackages/system/tcp-balancer-rd/Chart.yamlpackages/system/virtual-machine-rd/Chart.yamlpackages/system/ingress-rd/Chart.yamlpackages/system/ferretdb-rd/Chart.yamlpackages/system/seaweedfs-rd/Chart.yamlpackages/system/kubernetes-rd/Chart.yamlpackages/system/vm-instance-rd/Chart.yamlpackages/system/nats-rd/Chart.yamlpackages/system/rabbitmq-rd/Chart.yamlpackages/system/bucket-rd/Chart.yamlpackages/system/info-rd/Chart.yamlpackages/system/clickhouse-rd/Chart.yaml
📚 Learning: 2025-12-25T09:45:26.524Z
Learnt from: CR
Repo: cozystack/cozystack PR: 0
File: AGENTS.md:0-0
Timestamp: 2025-12-25T09:45:26.524Z
Learning: Applies to packages/apps/** : Use Helm Chart umbrella pattern with vendored upstream charts in `charts/` directory
Applied to files:
packages/system/foundationdb-rd/Chart.yamlpackages/system/redis-rd/Chart.yamlpackages/system/tenant-rd/Chart.yamlpackages/system/ingress-rd/Chart.yamlpackages/system/ferretdb-rd/Chart.yamlpackages/system/seaweedfs-rd/Chart.yamlpackages/system/kubernetes-rd/Chart.yamlpackages/system/vm-instance-rd/Chart.yamlpackages/system/nats-rd/Chart.yamlpackages/system/bucket-rd/Chart.yamlpackages/system/clickhouse-rd/Chart.yaml
📚 Learning: 2025-07-23T09:15:09.658Z
Learnt from: lllamnyp
Repo: cozystack/cozystack PR: 1233
File: packages/system/hetzner-robotlb/charts/robotlb/templates/deployment.yaml:33-35
Timestamp: 2025-07-23T09:15:09.658Z
Learning: The `./charts/robotlb/` directory in the hetzner-robotlb package contains vendored code, and the team generally avoids modifying vendored code to maintain clean separation from upstream dependencies.
Applied to files:
packages/system/tenant-rd/Chart.yamlpackages/system/tcp-balancer-rd/Chart.yamlpackages/system/ingress-rd/Chart.yamlpackages/system/ferretdb-rd/Chart.yamlpackages/system/kubernetes-rd/Chart.yamlpackages/system/vm-instance-rd/Chart.yamlpackages/system/nats-rd/Chart.yamlpackages/system/clickhouse-rd/Chart.yaml
📚 Learning: 2025-07-11T06:11:25.438Z
Learnt from: lllamnyp
Repo: cozystack/cozystack PR: 1130
File: hack/e2e-apps/kubernetes.bats:101-101
Timestamp: 2025-07-11T06:11:25.438Z
Learning: In cozystack, the plural form for the Kubernetes custom resource is `kuberneteses.apps.cozystack.io`, not `kubernetes.apps.cozystack.io`. This is defined in the API schema even though it's not grammatically perfect.
Applied to files:
packages/system/bootbox-rd/Chart.yaml
📚 Learning: 2025-11-28T21:26:10.771Z
Learnt from: kvaps
Repo: cozystack/cozystack PR: 1671
File: packages/apps/postgres/files/versions.yaml:1-6
Timestamp: 2025-11-28T21:26:10.771Z
Learning: In packages/apps/postgres/files/versions.yaml, the version mappings are sourced from the CloudNativePG container registry (ghcr.io/cloudnative-pg/postgresql), not from PostgreSQL project releases. The versions should reflect what's actually published in the CloudNativePG registry, which is automatically fetched by the hack/update-versions.sh script.
Applied to files:
packages/system/postgres-rd/Chart.yaml
📚 Learning: 2025-12-25T09:45:26.524Z
Learnt from: CR
Repo: cozystack/cozystack PR: 0
File: AGENTS.md:0-0
Timestamp: 2025-12-25T09:45:26.524Z
Learning: Applies to api/** : Define Kubernetes CRDs in the api directory following kubebuilder conventions
Applied to files:
packages/system/kubernetes-rd/Chart.yaml
🪛 checkmake (0.2.2)
packages/system/foundationdb-rd/Makefile
[warning] 1-1: Missing required phony target "all"
(minphony)
[warning] 1-1: Missing required phony target "clean"
(minphony)
[warning] 1-1: Missing required phony target "test"
(minphony)
packages/system/bootbox-rd/Makefile
[warning] 1-1: Missing required phony target "all"
(minphony)
[warning] 1-1: Missing required phony target "clean"
(minphony)
[warning] 1-1: Missing required phony target "test"
(minphony)
packages/system/info-rd/Makefile
[warning] 1-1: Missing required phony target "all"
(minphony)
[warning] 1-1: Missing required phony target "clean"
(minphony)
[warning] 1-1: Missing required phony target "test"
(minphony)
packages/system/tcp-balancer-rd/Makefile
[warning] 1-1: Missing required phony target "all"
(minphony)
[warning] 1-1: Missing required phony target "clean"
(minphony)
[warning] 1-1: Missing required phony target "test"
(minphony)
packages/system/etcd-rd/Makefile
[warning] 1-1: Missing required phony target "all"
(minphony)
[warning] 1-1: Missing required phony target "clean"
(minphony)
[warning] 1-1: Missing required phony target "test"
(minphony)
packages/system/vpn-rd/Makefile
[warning] 1-1: Missing required phony target "all"
(minphony)
[warning] 1-1: Missing required phony target "clean"
(minphony)
[warning] 1-1: Missing required phony target "test"
(minphony)
packages/system/postgres-rd/Makefile
[warning] 1-1: Missing required phony target "all"
(minphony)
[warning] 1-1: Missing required phony target "clean"
(minphony)
[warning] 1-1: Missing required phony target "test"
(minphony)
packages/system/virtual-machine-rd/Makefile
[warning] 1-1: Missing required phony target "all"
(minphony)
[warning] 1-1: Missing required phony target "clean"
(minphony)
[warning] 1-1: Missing required phony target "test"
(minphony)
packages/system/rabbitmq-rd/Makefile
[warning] 1-1: Missing required phony target "all"
(minphony)
[warning] 1-1: Missing required phony target "clean"
(minphony)
[warning] 1-1: Missing required phony target "test"
(minphony)
packages/system/redis-rd/Makefile
[warning] 1-1: Missing required phony target "all"
(minphony)
[warning] 1-1: Missing required phony target "clean"
(minphony)
[warning] 1-1: Missing required phony target "test"
(minphony)
packages/system/kubernetes-rd/Makefile
[warning] 1-1: Missing required phony target "all"
(minphony)
[warning] 1-1: Missing required phony target "clean"
(minphony)
[warning] 1-1: Missing required phony target "test"
(minphony)
packages/system/ferretdb-rd/Makefile
[warning] 1-1: Missing required phony target "all"
(minphony)
[warning] 1-1: Missing required phony target "clean"
(minphony)
[warning] 1-1: Missing required phony target "test"
(minphony)
packages/system/mysql-rd/Makefile
[warning] 1-1: Missing required phony target "all"
(minphony)
[warning] 1-1: Missing required phony target "clean"
(minphony)
[warning] 1-1: Missing required phony target "test"
(minphony)
packages/system/tenant-rd/Makefile
[warning] 1-1: Missing required phony target "all"
(minphony)
[warning] 1-1: Missing required phony target "clean"
(minphony)
[warning] 1-1: Missing required phony target "test"
(minphony)
packages/system/vm-disk-rd/Makefile
[warning] 1-1: Missing required phony target "all"
(minphony)
[warning] 1-1: Missing required phony target "clean"
(minphony)
[warning] 1-1: Missing required phony target "test"
(minphony)
packages/system/virtualprivatecloud-rd/Makefile
[warning] 1-1: Missing required phony target "all"
(minphony)
[warning] 1-1: Missing required phony target "clean"
(minphony)
[warning] 1-1: Missing required phony target "test"
(minphony)
packages/system/monitoring-rd/Makefile
[warning] 1-1: Missing required phony target "all"
(minphony)
[warning] 1-1: Missing required phony target "clean"
(minphony)
[warning] 1-1: Missing required phony target "test"
(minphony)
packages/system/nats-rd/Makefile
[warning] 1-1: Missing required phony target "all"
(minphony)
[warning] 1-1: Missing required phony target "clean"
(minphony)
[warning] 1-1: Missing required phony target "test"
(minphony)
packages/system/ingress-rd/Makefile
[warning] 1-1: Missing required phony target "all"
(minphony)
[warning] 1-1: Missing required phony target "clean"
(minphony)
[warning] 1-1: Missing required phony target "test"
(minphony)
packages/system/vm-instance-rd/Makefile
[warning] 1-1: Missing required phony target "all"
(minphony)
[warning] 1-1: Missing required phony target "clean"
(minphony)
[warning] 1-1: Missing required phony target "test"
(minphony)
packages/system/http-cache-rd/Makefile
[warning] 1-1: Missing required phony target "all"
(minphony)
[warning] 1-1: Missing required phony target "clean"
(minphony)
[warning] 1-1: Missing required phony target "test"
(minphony)
packages/system/kafka-rd/Makefile
[warning] 1-1: Missing required phony target "all"
(minphony)
[warning] 1-1: Missing required phony target "clean"
(minphony)
[warning] 1-1: Missing required phony target "test"
(minphony)
packages/system/seaweedfs-rd/Makefile
[warning] 1-1: Missing required phony target "all"
(minphony)
[warning] 1-1: Missing required phony target "clean"
(minphony)
[warning] 1-1: Missing required phony target "test"
(minphony)
packages/system/clickhouse-rd/Makefile
[warning] 1-1: Missing required phony target "all"
(minphony)
[warning] 1-1: Missing required phony target "clean"
(minphony)
[warning] 1-1: Missing required phony target "test"
(minphony)
packages/system/bucket-rd/Makefile
[warning] 1-1: Missing required phony target "all"
(minphony)
[warning] 1-1: Missing required phony target "clean"
(minphony)
[warning] 1-1: Missing required phony target "test"
(minphony)
🪛 YAMLlint (1.37.1)
packages/system/postgres-rd/templates/cozyrd.yaml
[error] 1-1: syntax error: expected the node content, but found '-'
(syntax)
packages/system/info-rd/templates/cozyrd.yaml
[error] 1-1: syntax error: expected the node content, but found '-'
(syntax)
packages/system/http-cache-rd/templates/cozyrd.yaml
[error] 1-1: syntax error: expected the node content, but found '-'
(syntax)
packages/system/virtualprivatecloud-rd/templates/cozyrd.yaml
[error] 1-1: syntax error: expected the node content, but found '-'
(syntax)
packages/system/clickhouse-rd/templates/cozyrd.yaml
[error] 1-1: syntax error: expected the node content, but found '-'
(syntax)
packages/system/vm-disk-rd/templates/cozyrd.yaml
[error] 1-1: syntax error: expected the node content, but found '-'
(syntax)
packages/system/virtual-machine-rd/templates/cozyrd.yaml
[error] 1-1: syntax error: expected the node content, but found '-'
(syntax)
packages/system/monitoring-rd/templates/cozyrd.yaml
[error] 1-1: syntax error: expected the node content, but found '-'
(syntax)
packages/system/etcd-rd/templates/cozyrd.yaml
[error] 1-1: syntax error: expected the node content, but found '-'
(syntax)
packages/system/kubernetes-rd/templates/cozyrd.yaml
[error] 1-1: syntax error: expected the node content, but found '-'
(syntax)
packages/system/vpn-rd/templates/cozyrd.yaml
[error] 1-1: syntax error: expected the node content, but found '-'
(syntax)
packages/system/vm-instance-rd/templates/cozyrd.yaml
[error] 1-1: syntax error: expected the node content, but found '-'
(syntax)
packages/system/tcp-balancer-rd/templates/cozyrd.yaml
[error] 1-1: syntax error: expected the node content, but found '-'
(syntax)
packages/system/redis-rd/templates/cozyrd.yaml
[error] 1-1: syntax error: expected the node content, but found '-'
(syntax)
packages/system/mysql-rd/templates/cozyrd.yaml
[error] 1-1: syntax error: expected the node content, but found '-'
(syntax)
packages/system/seaweedfs-rd/templates/cozyrd.yaml
[error] 1-1: syntax error: expected the node content, but found '-'
(syntax)
packages/system/tenant-rd/templates/cozyrd.yaml
[error] 1-1: syntax error: expected the node content, but found '-'
(syntax)
packages/system/rabbitmq-rd/templates/cozyrd.yaml
[error] 1-1: syntax error: expected the node content, but found '-'
(syntax)
packages/system/nats-rd/templates/cozyrd.yaml
[error] 1-1: syntax error: expected the node content, but found '-'
(syntax)
packages/system/foundationdb-rd/templates/cozyrd.yaml
[error] 1-1: syntax error: expected the node content, but found '-'
(syntax)
packages/system/ferretdb-rd/templates/cozyrd.yaml
[error] 1-1: syntax error: expected the node content, but found '-'
(syntax)
packages/system/bucket-rd/templates/cozyrd.yaml
[error] 1-1: syntax error: expected the node content, but found '-'
(syntax)
packages/system/ingress-rd/templates/cozyrd.yaml
[error] 1-1: syntax error: expected the node content, but found '-'
(syntax)
packages/system/kafka-rd/templates/cozyrd.yaml
[error] 1-1: syntax error: expected the node content, but found '-'
(syntax)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
- GitHub Check: Build
Split the monolithic cozystack-resource-definitions package into 25 individual resource definition packages (*-rd) for better modularity and independent versioning. Changes: - Create 25 separate *-rd packages (bootbox-rd, bucket-rd, clickhouse-rd, etcd-rd, ferretdb-rd, foundationdb-rd, http-cache-rd, info-rd, ingress-rd, kafka-rd, kubernetes-rd, monitoring-rd, mysql-rd, nats-rd, postgres-rd, rabbitmq-rd, redis-rd, seaweedfs-rd, tcp-balancer-rd, tenant-rd, virtual-machine-rd, virtualprivatecloud-rd, vm-disk-rd, vm-instance-rd, vpn-rd) - Remove packages/system/cozystack-resource-definitions - Update platform bundles (paas-hosted, paas-full, distro-full) to reference individual -rd packages instead of the monolithic package - Update hack/update-crd.sh to use package-specific directories Each *-rd package contains: - Chart.yaml with package metadata - values.yaml with default values - Makefile for build instructions - cozyrds/<name>.yaml with CRD definition - templates/cozyrd.yaml with Helm template 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com> Signed-off-by: Andrei Kvapil <kvapss@gmail.com>
7c89f31 to
1fc48da
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
♻️ Duplicate comments (3)
packages/core/platform/bundles/distro-full.yaml (1)
65-214: Consider using a loop to generate resource definition releases.The 25 repeated release definition blocks create maintenance overhead. As previously suggested, using a Helm template loop would improve maintainability and make the list of included resources more explicit.
packages/core/platform/bundles/paas-full.yaml (1)
115-264: Consider using a loop to generate resource definition releases.The 25 repeated release definition blocks create maintenance overhead. As previously suggested, using a Helm template loop would improve maintainability and make the list of included resources more explicit.
packages/core/platform/bundles/paas-hosted.yaml (1)
58-207: Consider using a loop to reduce repetition.This block of 25 nearly identical resource definition releases makes maintenance more difficult. Adding, removing, or modifying resource definitions requires manual changes across multiple lines, increasing the risk of inconsistencies.
As noted in a previous review, you can leverage Helm templating to generate these entries using a loop, which would make the list more maintainable and explicit.
🔎 Example refactor using a loop
+{{- $rd_names := list "bootbox" "bucket" "clickhouse" "etcd" "ferretdb" "foundationdb" "http-cache" "info" "ingress" "kafka" "kubernetes" "monitoring" "mysql" "nats" "postgres" "rabbitmq" "redis" "seaweedfs" "tcp-balancer" "tenant" "virtual-machine" "virtualprivatecloud" "vm-disk" "vm-instance" "vpn" }} +{{- range $name := $rd_names }} +- name: {{ $name }}-rd + releaseName: {{ $name }}-rd + chart: {{ $name }}-rd + namespace: cozy-system + dependsOn: [cozystack-resource-definition-crd] + +{{- end }} -- name: bootbox-rd - releaseName: bootbox-rd - chart: bootbox-rd - namespace: cozy-system - dependsOn: [cozystack-resource-definition-crd] - -- name: bucket-rd - releaseName: bucket-rd - chart: bucket-rd - namespace: cozy-system - dependsOn: [cozystack-resource-definition-crd] - -[... remaining 23 entries ...]
📜 Review details
Configuration used: defaults
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (129)
hack/update-crd.shpackages/core/platform/bundles/distro-full.yamlpackages/core/platform/bundles/paas-full.yamlpackages/core/platform/bundles/paas-hosted.yamlpackages/system/bootbox-rd/Chart.yamlpackages/system/bootbox-rd/Makefilepackages/system/bootbox-rd/cozyrds/bootbox.yamlpackages/system/bootbox-rd/templates/cozyrd.yamlpackages/system/bootbox-rd/values.yamlpackages/system/bucket-rd/Chart.yamlpackages/system/bucket-rd/Makefilepackages/system/bucket-rd/cozyrds/bucket.yamlpackages/system/bucket-rd/templates/cozyrd.yamlpackages/system/bucket-rd/values.yamlpackages/system/clickhouse-rd/Chart.yamlpackages/system/clickhouse-rd/Makefilepackages/system/clickhouse-rd/cozyrds/clickhouse.yamlpackages/system/clickhouse-rd/templates/cozyrd.yamlpackages/system/clickhouse-rd/values.yamlpackages/system/etcd-rd/Chart.yamlpackages/system/etcd-rd/Makefilepackages/system/etcd-rd/cozyrds/etcd.yamlpackages/system/etcd-rd/templates/cozyrd.yamlpackages/system/etcd-rd/values.yamlpackages/system/ferretdb-rd/Chart.yamlpackages/system/ferretdb-rd/Makefilepackages/system/ferretdb-rd/cozyrds/ferretdb.yamlpackages/system/ferretdb-rd/templates/cozyrd.yamlpackages/system/ferretdb-rd/values.yamlpackages/system/foundationdb-rd/Chart.yamlpackages/system/foundationdb-rd/Makefilepackages/system/foundationdb-rd/cozyrds/foundationdb.yamlpackages/system/foundationdb-rd/templates/cozyrd.yamlpackages/system/foundationdb-rd/values.yamlpackages/system/http-cache-rd/Chart.yamlpackages/system/http-cache-rd/Makefilepackages/system/http-cache-rd/cozyrds/http-cache.yamlpackages/system/http-cache-rd/templates/cozyrd.yamlpackages/system/http-cache-rd/values.yamlpackages/system/info-rd/Chart.yamlpackages/system/info-rd/Makefilepackages/system/info-rd/cozyrds/info.yamlpackages/system/info-rd/templates/cozyrd.yamlpackages/system/info-rd/values.yamlpackages/system/ingress-rd/Chart.yamlpackages/system/ingress-rd/Makefilepackages/system/ingress-rd/cozyrds/ingress.yamlpackages/system/ingress-rd/templates/cozyrd.yamlpackages/system/ingress-rd/values.yamlpackages/system/kafka-rd/Chart.yamlpackages/system/kafka-rd/Makefilepackages/system/kafka-rd/cozyrds/kafka.yamlpackages/system/kafka-rd/templates/cozyrd.yamlpackages/system/kafka-rd/values.yamlpackages/system/kubernetes-rd/Chart.yamlpackages/system/kubernetes-rd/Makefilepackages/system/kubernetes-rd/cozyrds/kubernetes.yamlpackages/system/kubernetes-rd/templates/cozyrd.yamlpackages/system/kubernetes-rd/values.yamlpackages/system/monitoring-rd/Chart.yamlpackages/system/monitoring-rd/Makefilepackages/system/monitoring-rd/cozyrds/monitoring.yamlpackages/system/monitoring-rd/templates/cozyrd.yamlpackages/system/monitoring-rd/values.yamlpackages/system/mysql-rd/Chart.yamlpackages/system/mysql-rd/Makefilepackages/system/mysql-rd/cozyrds/mysql.yamlpackages/system/mysql-rd/templates/cozyrd.yamlpackages/system/mysql-rd/values.yamlpackages/system/nats-rd/Chart.yamlpackages/system/nats-rd/Makefilepackages/system/nats-rd/cozyrds/nats.yamlpackages/system/nats-rd/templates/cozyrd.yamlpackages/system/nats-rd/values.yamlpackages/system/postgres-rd/Chart.yamlpackages/system/postgres-rd/Makefilepackages/system/postgres-rd/cozyrds/postgres.yamlpackages/system/postgres-rd/templates/cozyrd.yamlpackages/system/postgres-rd/values.yamlpackages/system/rabbitmq-rd/Chart.yamlpackages/system/rabbitmq-rd/Makefilepackages/system/rabbitmq-rd/cozyrds/rabbitmq.yamlpackages/system/rabbitmq-rd/templates/cozyrd.yamlpackages/system/rabbitmq-rd/values.yamlpackages/system/redis-rd/Chart.yamlpackages/system/redis-rd/Makefilepackages/system/redis-rd/cozyrds/redis.yamlpackages/system/redis-rd/templates/cozyrd.yamlpackages/system/redis-rd/values.yamlpackages/system/seaweedfs-rd/Chart.yamlpackages/system/seaweedfs-rd/Makefilepackages/system/seaweedfs-rd/cozyrds/seaweedfs.yamlpackages/system/seaweedfs-rd/templates/cozyrd.yamlpackages/system/seaweedfs-rd/values.yamlpackages/system/tcp-balancer-rd/Chart.yamlpackages/system/tcp-balancer-rd/Makefilepackages/system/tcp-balancer-rd/cozyrds/tcp-balancer.yamlpackages/system/tcp-balancer-rd/templates/cozyrd.yamlpackages/system/tcp-balancer-rd/values.yamlpackages/system/tenant-rd/Chart.yamlpackages/system/tenant-rd/Makefilepackages/system/tenant-rd/cozyrds/tenant.yamlpackages/system/tenant-rd/templates/cozyrd.yamlpackages/system/tenant-rd/values.yamlpackages/system/virtual-machine-rd/Chart.yamlpackages/system/virtual-machine-rd/Makefilepackages/system/virtual-machine-rd/cozyrds/virtual-machine.yamlpackages/system/virtual-machine-rd/templates/cozyrd.yamlpackages/system/virtual-machine-rd/values.yamlpackages/system/virtualprivatecloud-rd/Chart.yamlpackages/system/virtualprivatecloud-rd/Makefilepackages/system/virtualprivatecloud-rd/cozyrds/virtualprivatecloud.yamlpackages/system/virtualprivatecloud-rd/templates/cozyrd.yamlpackages/system/virtualprivatecloud-rd/values.yamlpackages/system/vm-disk-rd/Chart.yamlpackages/system/vm-disk-rd/Makefilepackages/system/vm-disk-rd/cozyrds/vm-disk.yamlpackages/system/vm-disk-rd/templates/cozyrd.yamlpackages/system/vm-disk-rd/values.yamlpackages/system/vm-instance-rd/Chart.yamlpackages/system/vm-instance-rd/Makefilepackages/system/vm-instance-rd/cozyrds/vm-instance.yamlpackages/system/vm-instance-rd/templates/cozyrd.yamlpackages/system/vm-instance-rd/values.yamlpackages/system/vpn-rd/Chart.yamlpackages/system/vpn-rd/Makefilepackages/system/vpn-rd/cozyrds/vpn.yamlpackages/system/vpn-rd/templates/cozyrd.yamlpackages/system/vpn-rd/values.yaml
✅ Files skipped from review due to trivial changes (5)
- packages/system/rabbitmq-rd/values.yaml
- packages/system/vpn-rd/values.yaml
- packages/system/kafka-rd/values.yaml
- packages/system/postgres-rd/values.yaml
- packages/system/tenant-rd/values.yaml
🚧 Files skipped from review as they are similar to previous changes (40)
- packages/system/virtualprivatecloud-rd/values.yaml
- packages/system/bootbox-rd/Chart.yaml
- packages/system/ingress-rd/values.yaml
- packages/system/info-rd/Chart.yaml
- packages/system/bucket-rd/Chart.yaml
- packages/system/vm-instance-rd/values.yaml
- packages/system/tcp-balancer-rd/Chart.yaml
- packages/system/postgres-rd/Chart.yaml
- packages/system/foundationdb-rd/values.yaml
- packages/system/redis-rd/Chart.yaml
- packages/system/vm-instance-rd/Chart.yaml
- packages/system/etcd-rd/Chart.yaml
- packages/system/foundationdb-rd/Chart.yaml
- packages/system/virtualprivatecloud-rd/Chart.yaml
- packages/system/kubernetes-rd/values.yaml
- packages/system/http-cache-rd/Chart.yaml
- packages/system/seaweedfs-rd/values.yaml
- packages/system/clickhouse-rd/Chart.yaml
- packages/system/http-cache-rd/values.yaml
- hack/update-crd.sh
- packages/system/virtual-machine-rd/Chart.yaml
- packages/system/ferretdb-rd/values.yaml
- packages/system/ferretdb-rd/Chart.yaml
- packages/system/ingress-rd/Chart.yaml
- packages/system/rabbitmq-rd/Chart.yaml
- packages/system/redis-rd/values.yaml
- packages/system/clickhouse-rd/values.yaml
- packages/system/info-rd/values.yaml
- packages/system/kafka-rd/Chart.yaml
- packages/system/nats-rd/values.yaml
- packages/system/seaweedfs-rd/Chart.yaml
- packages/system/mysql-rd/values.yaml
- packages/system/monitoring-rd/values.yaml
- packages/system/bucket-rd/values.yaml
- packages/system/tcp-balancer-rd/values.yaml
- packages/system/mysql-rd/Chart.yaml
- packages/system/nats-rd/Chart.yaml
- packages/system/monitoring-rd/Chart.yaml
- packages/system/vpn-rd/Chart.yaml
- packages/system/vm-disk-rd/values.yaml
🧰 Additional context used
📓 Path-based instructions (3)
packages/system/**
📄 CodeRabbit inference engine (AGENTS.md)
Use Helm Chart umbrella pattern with vendored upstream charts in
charts/directory
Files:
packages/system/kubernetes-rd/Chart.yamlpackages/system/mysql-rd/Makefilepackages/system/ferretdb-rd/Makefilepackages/system/info-rd/Makefilepackages/system/seaweedfs-rd/Makefilepackages/system/etcd-rd/templates/cozyrd.yamlpackages/system/monitoring-rd/templates/cozyrd.yamlpackages/system/vm-disk-rd/Chart.yamlpackages/system/postgres-rd/templates/cozyrd.yamlpackages/system/vpn-rd/templates/cozyrd.yamlpackages/system/tenant-rd/Chart.yamlpackages/system/virtual-machine-rd/values.yamlpackages/system/vm-disk-rd/templates/cozyrd.yamlpackages/system/etcd-rd/values.yamlpackages/system/tcp-balancer-rd/templates/cozyrd.yamlpackages/system/bootbox-rd/Makefilepackages/system/bucket-rd/Makefilepackages/system/bucket-rd/templates/cozyrd.yamlpackages/system/clickhouse-rd/Makefilepackages/system/clickhouse-rd/templates/cozyrd.yamlpackages/system/etcd-rd/Makefilepackages/system/ferretdb-rd/templates/cozyrd.yamlpackages/system/foundationdb-rd/Makefilepackages/system/foundationdb-rd/templates/cozyrd.yamlpackages/system/http-cache-rd/Makefilepackages/system/http-cache-rd/templates/cozyrd.yamlpackages/system/info-rd/templates/cozyrd.yamlpackages/system/ingress-rd/Makefilepackages/system/ingress-rd/templates/cozyrd.yamlpackages/system/kafka-rd/Makefilepackages/system/kafka-rd/templates/cozyrd.yamlpackages/system/kubernetes-rd/Makefilepackages/system/kubernetes-rd/templates/cozyrd.yamlpackages/system/monitoring-rd/Makefilepackages/system/mysql-rd/templates/cozyrd.yamlpackages/system/nats-rd/Makefilepackages/system/nats-rd/templates/cozyrd.yamlpackages/system/postgres-rd/Makefilepackages/system/rabbitmq-rd/Makefilepackages/system/rabbitmq-rd/templates/cozyrd.yamlpackages/system/redis-rd/Makefilepackages/system/redis-rd/templates/cozyrd.yamlpackages/system/seaweedfs-rd/templates/cozyrd.yamlpackages/system/tcp-balancer-rd/Makefilepackages/system/tenant-rd/Makefilepackages/system/tenant-rd/templates/cozyrd.yamlpackages/system/virtual-machine-rd/Makefilepackages/system/virtual-machine-rd/templates/cozyrd.yamlpackages/system/virtualprivatecloud-rd/Makefilepackages/system/virtualprivatecloud-rd/templates/cozyrd.yamlpackages/system/vm-disk-rd/Makefilepackages/system/vm-instance-rd/Makefilepackages/system/vm-instance-rd/templates/cozyrd.yamlpackages/system/vpn-rd/Makefile
**/*.yaml
📄 CodeRabbit inference engine (AGENTS.md)
Do NOT directly edit upstream Helm charts in vendored charts directory; use proper chart vendoring mechanisms
Files:
packages/system/kubernetes-rd/Chart.yamlpackages/system/etcd-rd/templates/cozyrd.yamlpackages/system/monitoring-rd/templates/cozyrd.yamlpackages/system/vm-disk-rd/Chart.yamlpackages/system/postgres-rd/templates/cozyrd.yamlpackages/system/vpn-rd/templates/cozyrd.yamlpackages/system/tenant-rd/Chart.yamlpackages/system/virtual-machine-rd/values.yamlpackages/system/vm-disk-rd/templates/cozyrd.yamlpackages/system/etcd-rd/values.yamlpackages/core/platform/bundles/paas-full.yamlpackages/system/tcp-balancer-rd/templates/cozyrd.yamlpackages/core/platform/bundles/distro-full.yamlpackages/core/platform/bundles/paas-hosted.yamlpackages/system/bucket-rd/templates/cozyrd.yamlpackages/system/clickhouse-rd/templates/cozyrd.yamlpackages/system/ferretdb-rd/templates/cozyrd.yamlpackages/system/foundationdb-rd/templates/cozyrd.yamlpackages/system/http-cache-rd/templates/cozyrd.yamlpackages/system/info-rd/templates/cozyrd.yamlpackages/system/ingress-rd/templates/cozyrd.yamlpackages/system/kafka-rd/templates/cozyrd.yamlpackages/system/kubernetes-rd/templates/cozyrd.yamlpackages/system/mysql-rd/templates/cozyrd.yamlpackages/system/nats-rd/templates/cozyrd.yamlpackages/system/rabbitmq-rd/templates/cozyrd.yamlpackages/system/redis-rd/templates/cozyrd.yamlpackages/system/seaweedfs-rd/templates/cozyrd.yamlpackages/system/tenant-rd/templates/cozyrd.yamlpackages/system/virtual-machine-rd/templates/cozyrd.yamlpackages/system/virtualprivatecloud-rd/templates/cozyrd.yamlpackages/system/vm-instance-rd/templates/cozyrd.yaml
packages/core/**
📄 CodeRabbit inference engine (AGENTS.md)
Use Helm Chart umbrella pattern with vendored upstream charts in
charts/directory
Files:
packages/core/platform/bundles/paas-full.yamlpackages/core/platform/bundles/distro-full.yamlpackages/core/platform/bundles/paas-hosted.yaml
🧠 Learnings (7)
📓 Common learnings
Learnt from: CR
Repo: cozystack/cozystack PR: 0
File: AGENTS.md:0-0
Timestamp: 2025-12-25T09:45:26.524Z
Learning: Applies to packages/core/** : Use Helm Chart umbrella pattern with vendored upstream charts in `charts/` directory
📚 Learning: 2025-12-25T09:45:26.524Z
Learnt from: CR
Repo: cozystack/cozystack PR: 0
File: AGENTS.md:0-0
Timestamp: 2025-12-25T09:45:26.524Z
Learning: Applies to packages/system/** : Use Helm Chart umbrella pattern with vendored upstream charts in `charts/` directory
Applied to files:
packages/system/kubernetes-rd/Chart.yamlpackages/system/vm-disk-rd/Chart.yamlpackages/system/tenant-rd/Chart.yamlpackages/system/bucket-rd/templates/cozyrd.yaml
📚 Learning: 2025-12-25T09:45:26.524Z
Learnt from: CR
Repo: cozystack/cozystack PR: 0
File: AGENTS.md:0-0
Timestamp: 2025-12-25T09:45:26.524Z
Learning: Applies to packages/core/** : Use Helm Chart umbrella pattern with vendored upstream charts in `charts/` directory
Applied to files:
packages/system/kubernetes-rd/Chart.yamlpackages/system/tenant-rd/Chart.yamlpackages/system/bucket-rd/templates/cozyrd.yaml
📚 Learning: 2025-07-23T09:15:09.658Z
Learnt from: lllamnyp
Repo: cozystack/cozystack PR: 1233
File: packages/system/hetzner-robotlb/charts/robotlb/templates/deployment.yaml:33-35
Timestamp: 2025-07-23T09:15:09.658Z
Learning: The `./charts/robotlb/` directory in the hetzner-robotlb package contains vendored code, and the team generally avoids modifying vendored code to maintain clean separation from upstream dependencies.
Applied to files:
packages/system/kubernetes-rd/Chart.yamlpackages/system/tenant-rd/Chart.yamlpackages/system/bucket-rd/templates/cozyrd.yaml
📚 Learning: 2025-12-25T09:45:26.524Z
Learnt from: CR
Repo: cozystack/cozystack PR: 0
File: AGENTS.md:0-0
Timestamp: 2025-12-25T09:45:26.524Z
Learning: Applies to **/*.yaml : Do NOT directly edit upstream Helm charts in vendored charts directory; use proper chart vendoring mechanisms
Applied to files:
packages/system/kubernetes-rd/Chart.yamlpackages/system/vm-disk-rd/Chart.yamlpackages/system/tenant-rd/Chart.yamlpackages/system/bucket-rd/templates/cozyrd.yaml
📚 Learning: 2025-12-25T09:45:26.524Z
Learnt from: CR
Repo: cozystack/cozystack PR: 0
File: AGENTS.md:0-0
Timestamp: 2025-12-25T09:45:26.524Z
Learning: Applies to packages/apps/** : Use Helm Chart umbrella pattern with vendored upstream charts in `charts/` directory
Applied to files:
packages/system/kubernetes-rd/Chart.yamlpackages/system/tenant-rd/Chart.yamlpackages/system/bucket-rd/templates/cozyrd.yaml
📚 Learning: 2025-12-25T09:45:26.524Z
Learnt from: CR
Repo: cozystack/cozystack PR: 0
File: AGENTS.md:0-0
Timestamp: 2025-12-25T09:45:26.524Z
Learning: Applies to api/** : Define Kubernetes CRDs in the api directory following kubebuilder conventions
Applied to files:
packages/system/kubernetes-rd/Chart.yaml
🪛 checkmake (0.2.2)
packages/system/mysql-rd/Makefile
[warning] 1-1: Missing required phony target "all"
(minphony)
[warning] 1-1: Missing required phony target "clean"
(minphony)
[warning] 1-1: Missing required phony target "test"
(minphony)
packages/system/ferretdb-rd/Makefile
[warning] 1-1: Missing required phony target "all"
(minphony)
[warning] 1-1: Missing required phony target "clean"
(minphony)
[warning] 1-1: Missing required phony target "test"
(minphony)
packages/system/info-rd/Makefile
[warning] 1-1: Missing required phony target "all"
(minphony)
[warning] 1-1: Missing required phony target "clean"
(minphony)
[warning] 1-1: Missing required phony target "test"
(minphony)
packages/system/seaweedfs-rd/Makefile
[warning] 1-1: Missing required phony target "all"
(minphony)
[warning] 1-1: Missing required phony target "clean"
(minphony)
[warning] 1-1: Missing required phony target "test"
(minphony)
packages/system/bootbox-rd/Makefile
[warning] 1-1: Missing required phony target "all"
(minphony)
[warning] 1-1: Missing required phony target "clean"
(minphony)
[warning] 1-1: Missing required phony target "test"
(minphony)
packages/system/bucket-rd/Makefile
[warning] 1-1: Missing required phony target "all"
(minphony)
[warning] 1-1: Missing required phony target "clean"
(minphony)
[warning] 1-1: Missing required phony target "test"
(minphony)
packages/system/clickhouse-rd/Makefile
[warning] 1-1: Missing required phony target "all"
(minphony)
[warning] 1-1: Missing required phony target "clean"
(minphony)
[warning] 1-1: Missing required phony target "test"
(minphony)
packages/system/etcd-rd/Makefile
[warning] 1-1: Missing required phony target "all"
(minphony)
[warning] 1-1: Missing required phony target "clean"
(minphony)
[warning] 1-1: Missing required phony target "test"
(minphony)
packages/system/foundationdb-rd/Makefile
[warning] 1-1: Missing required phony target "all"
(minphony)
[warning] 1-1: Missing required phony target "clean"
(minphony)
[warning] 1-1: Missing required phony target "test"
(minphony)
packages/system/http-cache-rd/Makefile
[warning] 1-1: Missing required phony target "all"
(minphony)
[warning] 1-1: Missing required phony target "clean"
(minphony)
[warning] 1-1: Missing required phony target "test"
(minphony)
packages/system/ingress-rd/Makefile
[warning] 1-1: Missing required phony target "all"
(minphony)
[warning] 1-1: Missing required phony target "clean"
(minphony)
[warning] 1-1: Missing required phony target "test"
(minphony)
packages/system/kafka-rd/Makefile
[warning] 1-1: Missing required phony target "all"
(minphony)
[warning] 1-1: Missing required phony target "clean"
(minphony)
[warning] 1-1: Missing required phony target "test"
(minphony)
packages/system/kubernetes-rd/Makefile
[warning] 1-1: Missing required phony target "all"
(minphony)
[warning] 1-1: Missing required phony target "clean"
(minphony)
[warning] 1-1: Missing required phony target "test"
(minphony)
packages/system/monitoring-rd/Makefile
[warning] 1-1: Missing required phony target "all"
(minphony)
[warning] 1-1: Missing required phony target "clean"
(minphony)
[warning] 1-1: Missing required phony target "test"
(minphony)
packages/system/nats-rd/Makefile
[warning] 1-1: Missing required phony target "all"
(minphony)
[warning] 1-1: Missing required phony target "clean"
(minphony)
[warning] 1-1: Missing required phony target "test"
(minphony)
packages/system/postgres-rd/Makefile
[warning] 1-1: Missing required phony target "all"
(minphony)
[warning] 1-1: Missing required phony target "clean"
(minphony)
[warning] 1-1: Missing required phony target "test"
(minphony)
packages/system/rabbitmq-rd/Makefile
[warning] 1-1: Missing required phony target "all"
(minphony)
[warning] 1-1: Missing required phony target "clean"
(minphony)
[warning] 1-1: Missing required phony target "test"
(minphony)
packages/system/redis-rd/Makefile
[warning] 1-1: Missing required phony target "all"
(minphony)
[warning] 1-1: Missing required phony target "clean"
(minphony)
[warning] 1-1: Missing required phony target "test"
(minphony)
packages/system/tcp-balancer-rd/Makefile
[warning] 1-1: Missing required phony target "all"
(minphony)
[warning] 1-1: Missing required phony target "clean"
(minphony)
[warning] 1-1: Missing required phony target "test"
(minphony)
packages/system/tenant-rd/Makefile
[warning] 1-1: Missing required phony target "all"
(minphony)
[warning] 1-1: Missing required phony target "clean"
(minphony)
[warning] 1-1: Missing required phony target "test"
(minphony)
packages/system/virtual-machine-rd/Makefile
[warning] 1-1: Missing required phony target "all"
(minphony)
[warning] 1-1: Missing required phony target "clean"
(minphony)
[warning] 1-1: Missing required phony target "test"
(minphony)
packages/system/virtualprivatecloud-rd/Makefile
[warning] 1-1: Missing required phony target "all"
(minphony)
[warning] 1-1: Missing required phony target "clean"
(minphony)
[warning] 1-1: Missing required phony target "test"
(minphony)
packages/system/vm-disk-rd/Makefile
[warning] 1-1: Missing required phony target "all"
(minphony)
[warning] 1-1: Missing required phony target "clean"
(minphony)
[warning] 1-1: Missing required phony target "test"
(minphony)
packages/system/vm-instance-rd/Makefile
[warning] 1-1: Missing required phony target "all"
(minphony)
[warning] 1-1: Missing required phony target "clean"
(minphony)
[warning] 1-1: Missing required phony target "test"
(minphony)
packages/system/vpn-rd/Makefile
[warning] 1-1: Missing required phony target "all"
(minphony)
[warning] 1-1: Missing required phony target "clean"
(minphony)
[warning] 1-1: Missing required phony target "test"
(minphony)
🪛 YAMLlint (1.37.1)
packages/system/etcd-rd/templates/cozyrd.yaml
[error] 1-1: syntax error: expected the node content, but found '-'
(syntax)
packages/system/monitoring-rd/templates/cozyrd.yaml
[error] 1-1: syntax error: expected the node content, but found '-'
(syntax)
packages/system/postgres-rd/templates/cozyrd.yaml
[error] 1-1: syntax error: expected the node content, but found '-'
(syntax)
packages/system/vpn-rd/templates/cozyrd.yaml
[error] 1-1: syntax error: expected the node content, but found '-'
(syntax)
packages/system/vm-disk-rd/templates/cozyrd.yaml
[error] 1-1: syntax error: expected the node content, but found '-'
(syntax)
packages/system/tcp-balancer-rd/templates/cozyrd.yaml
[error] 1-1: syntax error: expected the node content, but found '-'
(syntax)
packages/system/bucket-rd/templates/cozyrd.yaml
[error] 1-1: syntax error: expected the node content, but found '-'
(syntax)
packages/system/clickhouse-rd/templates/cozyrd.yaml
[error] 1-1: syntax error: expected the node content, but found '-'
(syntax)
packages/system/ferretdb-rd/templates/cozyrd.yaml
[error] 1-1: syntax error: expected the node content, but found '-'
(syntax)
packages/system/foundationdb-rd/templates/cozyrd.yaml
[error] 1-1: syntax error: expected the node content, but found '-'
(syntax)
packages/system/http-cache-rd/templates/cozyrd.yaml
[error] 1-1: syntax error: expected the node content, but found '-'
(syntax)
packages/system/info-rd/templates/cozyrd.yaml
[error] 1-1: syntax error: expected the node content, but found '-'
(syntax)
packages/system/ingress-rd/templates/cozyrd.yaml
[error] 1-1: syntax error: expected the node content, but found '-'
(syntax)
packages/system/kafka-rd/templates/cozyrd.yaml
[error] 1-1: syntax error: expected the node content, but found '-'
(syntax)
packages/system/kubernetes-rd/templates/cozyrd.yaml
[error] 1-1: syntax error: expected the node content, but found '-'
(syntax)
packages/system/mysql-rd/templates/cozyrd.yaml
[error] 1-1: syntax error: expected the node content, but found '-'
(syntax)
packages/system/nats-rd/templates/cozyrd.yaml
[error] 1-1: syntax error: expected the node content, but found '-'
(syntax)
packages/system/rabbitmq-rd/templates/cozyrd.yaml
[error] 1-1: syntax error: expected the node content, but found '-'
(syntax)
packages/system/redis-rd/templates/cozyrd.yaml
[error] 1-1: syntax error: expected the node content, but found '-'
(syntax)
packages/system/seaweedfs-rd/templates/cozyrd.yaml
[error] 1-1: syntax error: expected the node content, but found '-'
(syntax)
packages/system/tenant-rd/templates/cozyrd.yaml
[error] 1-1: syntax error: expected the node content, but found '-'
(syntax)
packages/system/virtual-machine-rd/templates/cozyrd.yaml
[error] 1-1: syntax error: expected the node content, but found '-'
(syntax)
packages/system/virtualprivatecloud-rd/templates/cozyrd.yaml
[error] 1-1: syntax error: expected the node content, but found '-'
(syntax)
packages/system/vm-instance-rd/templates/cozyrd.yaml
[error] 1-1: syntax error: expected the node content, but found '-'
(syntax)
🔇 Additional comments (49)
packages/system/tcp-balancer-rd/Makefile (1)
1-4: LGTM! Clean and consistent Makefile.The Makefile correctly exports package metadata and delegates build logic to the shared
package.mkscript, which promotes consistency across all 25 resource definition packages.Note: The static analysis warnings about missing phony targets (
all,clean,test) can be safely ignored, as these targets are defined in the includedpackage.mkfile.packages/system/virtual-machine-rd/values.yaml (1)
1-1: LGTM!An empty values file is appropriate for a resource definition package that doesn't expose user-configurable parameters.
packages/system/seaweedfs-rd/Makefile (1)
1-4: LGTM! Standard pattern for rd packages.The Makefile correctly exports the package NAME and NAMESPACE, then includes the shared packaging script. This follows the same pattern used across all other rd packages in this PR.
Note: The checkmake warnings about missing phony targets (all, clean, test) can be safely ignored—these targets are defined in the included
package.mkfile.packages/system/virtualprivatecloud-rd/Makefile (1)
1-4: LGTM! Consistent pattern with shared build logic.The Makefile correctly exports package-specific variables and delegates to the shared build script. This pattern is consistent across all 25 resource-definition packages introduced in this refactoring.
Note: The checkmake warnings about missing phony targets (
all,clean,test) can be safely ignored—these targets are defined in the includedpackage.mkscript.packages/system/redis-rd/Makefile (1)
1-4: LGTM! Follows the consistent pattern for -rd packages.The Makefile correctly exports the package name and namespace, then delegates to the shared packaging script. This approach ensures consistency across all 25 resource definition packages.
The static analysis warnings about missing phony targets (
all,clean,test) are likely false positives, as these targets are presumably defined in the includedpackage.mkscript.packages/system/info-rd/Makefile (1)
1-4: LGTM! Clean and consistent implementation.The Makefile follows the established pattern for resource definition packages, correctly setting the package name and namespace before delegating to the shared packaging script.
packages/system/nats-rd/Makefile (2)
1-2: LGTM!The exported variables are correctly set and consistent with the package structure.
4-4: No issues found. The include path is correct, the sharedpackage.mkscript exists and defines all necessary phony targets (help, show, diff, apply, delete, update, image), and all 25 rd packages consistently follow the same Makefile pattern. The static analysis warnings about missing phony targets are false positives.packages/system/postgres-rd/Makefile (2)
1-2: LGTM! Variable definitions follow the consistent pattern.The NAME and NAMESPACE exports are correctly set for the postgres resource definition package and follow the same pattern as the other 24 -rd packages in this refactoring.
4-4: No issues found. The include statement follows the standard pattern used consistently across all 26 -rd packages in packages/system/, and the referenced script exists with the necessary targets.packages/system/etcd-rd/values.yaml (1)
1-1: LGTM! Empty values file is appropriate.The empty YAML object is suitable for this resource definition package, which appears to require no configurable values at the chart level.
packages/system/tenant-rd/Makefile (1)
1-4: LGTM! Standard packaging pattern.The Makefile correctly follows the established pattern for resource-definition packages, exporting the necessary variables and including the shared packaging script.
Note: The static analysis warnings about missing phony targets are false positives—the included
package.mkscript provides those targets.packages/system/bootbox-rd/Makefile (1)
1-1: LGTM! NAME correctly updated for package split.The change from
cozystack-resource-definitionstobootbox-rdaligns with the PR's objective to split the monolithic package into separate resource-definition packages.Note: The static analysis warnings about missing phony targets are false positives—the included
package.mkscript provides those targets.packages/system/tenant-rd/Chart.yaml (1)
1-3: LGTM! Standard Helm chart metadata.The chart descriptor follows Helm conventions with appropriate placeholder versioning that will be set during the build process.
packages/system/ferretdb-rd/Makefile (1)
1-4: LGTM! Consistent with packaging pattern.The Makefile follows the established pattern for resource-definition packages.
Note: The static analysis warnings about missing phony targets are false positives—the included
package.mkscript provides those targets.packages/system/rabbitmq-rd/Makefile (1)
1-4: LGTM! Standard packaging pattern.The Makefile correctly follows the established pattern for resource-definition packages.
Note: The static analysis warnings about missing phony targets are false positives—the included
package.mkscript provides those targets.packages/system/monitoring-rd/Makefile (1)
1-4: LGTM! Consistent with packaging pattern.The Makefile follows the established pattern for resource-definition packages.
Note: The static analysis warnings about missing phony targets are false positives—the included
package.mkscript provides those targets.packages/system/etcd-rd/Makefile (1)
1-4: LGTM! Standard packaging pattern.The Makefile correctly follows the established pattern for resource-definition packages.
Note: The static analysis warnings about missing phony targets are false positives—the included
package.mkscript provides those targets.packages/system/vpn-rd/Makefile (1)
1-4: LGTM! Consistent packaging pattern.The Makefile follows the standard pattern used across all *-rd packages, correctly exporting NAME and NAMESPACE and delegating to the shared packaging script.
Note: The checkmake warnings about missing phony targets are false positives—
package.mklikely defines those targets.packages/system/http-cache-rd/Makefile (1)
1-4: LGTM! Consistent packaging pattern.The Makefile follows the standard pattern used across all *-rd packages, correctly exporting NAME and NAMESPACE and delegating to the shared packaging script.
Note: The checkmake warnings about missing phony targets are false positives—
package.mklikely defines those targets.packages/system/kubernetes-rd/Makefile (1)
1-4: LGTM! Consistent packaging pattern.The Makefile follows the standard pattern used across all *-rd packages, correctly exporting NAME and NAMESPACE and delegating to the shared packaging script.
Note: The checkmake warnings about missing phony targets are false positives—
package.mklikely defines those targets.packages/system/vm-instance-rd/Makefile (1)
1-4: LGTM! Consistent packaging pattern.The Makefile follows the standard pattern used across all *-rd packages, correctly exporting NAME and NAMESPACE and delegating to the shared packaging script.
Note: The checkmake warnings about missing phony targets are false positives—
package.mklikely defines those targets.packages/system/http-cache-rd/templates/cozyrd.yaml (1)
1-4: LGTM! Standard Helm template for embedding CRD files.The template correctly uses Helm's
.Files.Globand.Files.Getto dynamically inline all files from thecozyrds/directory as a multi-document YAML stream. This pattern is consistent across all *-rd packages.Note: The YAMLlint syntax error is a false positive—this is a Helm Go template file, not pure YAML.
packages/system/postgres-rd/templates/cozyrd.yaml (1)
1-4: LGTM! Standard Helm template for embedding CRD files.The template correctly uses Helm's
.Files.Globand.Files.Getto dynamically inline all files from thecozyrds/directory as a multi-document YAML stream. This pattern is consistent across all *-rd packages.Note: The YAMLlint syntax error is a false positive—this is a Helm Go template file, not pure YAML.
packages/system/bucket-rd/Makefile (1)
1-4: LGTM! Consistent packaging pattern.The Makefile follows the standard pattern used across all *-rd packages, correctly exporting NAME and NAMESPACE and delegating to the shared packaging script.
Note: The checkmake warnings about missing phony targets are false positives—
package.mklikely defines those targets.packages/system/mysql-rd/templates/cozyrd.yaml (1)
1-4: LGTM! Standard Helm template for embedding CRD files.The template correctly uses Helm's
.Files.Globand.Files.Getto dynamically inline all files from thecozyrds/directory as a multi-document YAML stream. This pattern is consistent across all *-rd packages.Note: The YAMLlint syntax error is a false positive—this is a Helm Go template file, not pure YAML.
packages/system/virtualprivatecloud-rd/templates/cozyrd.yaml (1)
1-4: LGTM! Template pattern is correct and consistent.The Go template correctly iterates over files in
cozyrds/*and concatenates them as separate YAML documents. This pattern is consistent across all the new-rdpackages in this PR, which aids maintainability.Note: The YAMLlint syntax error is a false positive—YAMLlint cannot parse Go template directives, which are expected in Helm chart templates.
packages/system/kubernetes-rd/Chart.yaml (1)
1-3: LGTM! Chart descriptor is correct.The minimal Chart.yaml structure is appropriate for this resource definition package. The placeholder version with explanatory comment follows the documented build process.
packages/system/vpn-rd/templates/cozyrd.yaml (1)
1-4: LGTM! Template follows consistent pattern.The template correctly implements the multi-document YAML embedding pattern used across all new
-rdpackages. The YAMLlint error is a false positive for Go template syntax.packages/system/clickhouse-rd/templates/cozyrd.yaml (1)
1-4: LGTM! Template is correct.Consistent with the other resource definition templates. The YAMLlint syntax error can be safely ignored.
packages/system/virtual-machine-rd/templates/cozyrd.yaml (1)
1-4: LGTM! Template implementation is correct.The template follows the established pattern for embedding resource definition YAML files. YAMLlint error is expected for Go templates.
packages/system/virtual-machine-rd/Makefile (1)
1-4: LGTM! Makefile follows standard pattern.The Makefile correctly exports
NAMEandNAMESPACEvariables and includes the shared packaging logic. This pattern is consistent across all new-rdpackages.Note: The checkmake warnings about missing phony targets are likely false positives, as
package.mktypically provides these targets.packages/system/vm-disk-rd/Chart.yaml (1)
1-3: LGTM! Chart descriptor is properly structured.The Chart.yaml follows the standard pattern for these resource definition packages with an appropriate placeholder version.
packages/system/nats-rd/templates/cozyrd.yaml (1)
1-4: LGTM! Template is consistent and correct.The template properly implements the resource definition file embedding pattern. YAMLlint errors for Go template syntax are expected and can be ignored.
packages/system/info-rd/templates/cozyrd.yaml (1)
1-4: LGTM - Standard Helm template pattern.The template correctly iterates over resource definition files in
cozyrds/*and outputs them as separate YAML documents. This pattern is consistent across all the new-rdpackages in this PR.Note: The YAMLlint syntax error is a false positive—this is a Helm template with Go template syntax, not plain YAML.
packages/system/vm-instance-rd/templates/cozyrd.yaml (1)
1-4: LGTM.Template implementation is correct and consistent with the other
-rdpackages.packages/system/redis-rd/templates/cozyrd.yaml (1)
1-4: LGTM.Template implementation is correct.
packages/system/vm-disk-rd/templates/cozyrd.yaml (1)
1-4: LGTM.Template implementation is correct.
packages/system/kubernetes-rd/templates/cozyrd.yaml (1)
1-4: LGTM.Template implementation is correct.
packages/system/bucket-rd/templates/cozyrd.yaml (1)
1-4: LGTM.Template implementation is correct. The duplication concern across all 25
-rdpackages has already been noted in previous review comments.packages/system/ferretdb-rd/templates/cozyrd.yaml (1)
1-4: LGTM.Template implementation is correct.
packages/system/seaweedfs-rd/templates/cozyrd.yaml (1)
1-4: LGTM: Standard Helm pattern for inlining resource definitions.This template follows a consistent pattern across all *-rd packages to glob and inline YAML files from the
cozyrds/directory. The approach supports the PR's goal of modular, independently versioned resource definitions.Note: The YAMLlint syntax error is a false positive—this is a valid Helm Go template, not pure YAML.
packages/system/mysql-rd/Makefile (1)
1-4: *LGTM: Consistent Makefile pattern across -rd packages.The Makefile follows a clean pattern of exporting package metadata and delegating to the shared
package.mk. This approach ensures consistent build behavior across all resource definition packages.Note: The checkmake warnings about missing phony targets are false positives if
package.mkdefines those targets.packages/system/monitoring-rd/templates/cozyrd.yaml (1)
1-4: LGTM! Helm template correctly embeds CRD files.The template follows the standard pattern for embedding multiple files as separate YAML documents. The YAMLlint syntax error is a false positive—this is a valid Helm template using Go templating syntax, not plain YAML.
packages/system/kafka-rd/Makefile (1)
1-4: LGTM! Standard packaging structure.The Makefile follows the established pattern for resource definition packages, correctly setting package identity and including the shared build script. The checkmake warnings are false positives—required targets are defined in the included
package.mk.packages/system/tenant-rd/templates/cozyrd.yaml (1)
1-4: LGTM! Helm template correctly embeds CRD files.The template follows the standard pattern for embedding multiple files as separate YAML documents. The YAMLlint syntax error is a false positive—this is a valid Helm template using Go templating syntax, not plain YAML.
packages/system/rabbitmq-rd/templates/cozyrd.yaml (1)
1-4: LGTM! Helm template correctly embeds CRD files.The template follows the standard pattern for embedding multiple files as separate YAML documents. The YAMLlint syntax error is a false positive—this is a valid Helm template using Go templating syntax, not plain YAML.
packages/system/foundationdb-rd/Makefile (1)
1-4: LGTM! Standard packaging structure.The Makefile follows the established pattern for resource definition packages, correctly setting package identity and including the shared build script. The checkmake warnings are false positives—required targets are defined in the included
package.mk.packages/system/vm-disk-rd/Makefile (1)
1-4: LGTM! Standard packaging structure.The Makefile follows the established pattern for resource definition packages, correctly setting package identity and including the shared build script. The checkmake warnings are false positives—required targets are defined in the included
package.mk.
| export NAME=clickhouse-rd | ||
| export NAMESPACE=cozy-system | ||
|
|
||
| include ../../../scripts/package.mk |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
# Verify that package.mk defines the standard phony targets
echo "Checking for phony targets in package.mk:"
rg -n "^\s*\.PHONY\s*:" scripts/package.mk
echo -e "\nChecking for target definitions:"
rg -n "^(all|clean|test):" scripts/package.mkRepository: cozystack/cozystack
Length of output: 148
🏁 Script executed:
cat scripts/package.mkRepository: cozystack/cozystack
Length of output: 1307
The assumption in the original review is incorrect—scripts/package.mk does not properly define the required phony targets.
The file uses invalid .PHONY= syntax (line 2) instead of the correct .PHONY: syntax, meaning phony targets are not declared at all. Additionally, only the clean target is defined; all and test targets are missing. The checkmake warnings are legitimate and should not be ignored. This requires fixing the .PHONY declaration syntax in scripts/package.mk and ensuring all required targets are defined.
🧰 Tools
🪛 checkmake (0.2.2)
[warning] 1-1: Missing required phony target "all"
(minphony)
[warning] 1-1: Missing required phony target "clean"
(minphony)
[warning] 1-1: Missing required phony target "test"
(minphony)
…te packages (#1778) ## What this PR does This PR splits the monolithic `cozystack-resource-definitions` package into 25 individual resource definition packages (`*-rd`) for better modularity and independent versioning. **Changes:** - Created 25 separate `*-rd` packages (bootbox-rd, bucket-rd, clickhouse-rd, etcd-rd, ferretdb-rd, foundationdb-rd, http-cache-rd, info-rd, ingress-rd, kafka-rd, kubernetes-rd, monitoring-rd, mysql-rd, nats-rd, postgres-rd, rabbitmq-rd, redis-rd, seaweedfs-rd, tcp-balancer-rd, tenant-rd, virtual-machine-rd, virtualprivatecloud-rd, vm-disk-rd, vm-instance-rd, vpn-rd) - Removed `packages/system/cozystack-resource-definitions` - Updated platform bundles (paas-hosted, paas-full, distro-full) to reference individual -rd packages - Updated `hack/update-crd.sh` to use package-specific directories Each `*-rd` package contains: - `Chart.yaml` - package metadata - `values.yaml` - default values - `Makefile` - build instructions - `cozyrds/<name>.yaml` - CRD definition - `templates/cozyrd.yaml` - Helm template **Benefits:** - **Modularity**: Each resource definition is now a standalone package - **Independent versioning**: Resources can be versioned independently - **Maintainability**: Easier to update individual resources - **Build efficiency**: Parallel building of resource packages ### Release note ```release-note [platform] Split cozystack-resource-definitions into 25 separate *-rd packages for better modularity and independent versioning. Each resource definition is now a standalone package. <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Refactor** * Split the monolithic resource-definitions into many independent resource-definition packages (e.g., bootbox-rd, bucket-rd, clickhouse-rd, etc.) for modular deployment and finer-grained management * Updated deployment bundles to reference the new per-resource releases with uniform cozy-system namespace and CRD dependency * **Chores** * Added packaging/Helm stubs (Chart.yaml, Makefile, values, templates) for each new resource-definition * **Bug Fixes** * Made CRD path resolution dynamic (NAME validated before assignment) <sub>✏️ Tip: You can customize this high-level summary in your review settings.</sub> <!-- end of auto-generated comment: release notes by coderabbit.ai -->
…te packages (#1778) ## What this PR does This PR splits the monolithic `cozystack-resource-definitions` package into 25 individual resource definition packages (`*-rd`) for better modularity and independent versioning. **Changes:** - Created 25 separate `*-rd` packages (bootbox-rd, bucket-rd, clickhouse-rd, etcd-rd, ferretdb-rd, foundationdb-rd, http-cache-rd, info-rd, ingress-rd, kafka-rd, kubernetes-rd, monitoring-rd, mysql-rd, nats-rd, postgres-rd, rabbitmq-rd, redis-rd, seaweedfs-rd, tcp-balancer-rd, tenant-rd, virtual-machine-rd, virtualprivatecloud-rd, vm-disk-rd, vm-instance-rd, vpn-rd) - Removed `packages/system/cozystack-resource-definitions` - Updated platform bundles (paas-hosted, paas-full, distro-full) to reference individual -rd packages - Updated `hack/update-crd.sh` to use package-specific directories Each `*-rd` package contains: - `Chart.yaml` - package metadata - `values.yaml` - default values - `Makefile` - build instructions - `cozyrds/<name>.yaml` - CRD definition - `templates/cozyrd.yaml` - Helm template **Benefits:** - **Modularity**: Each resource definition is now a standalone package - **Independent versioning**: Resources can be versioned independently - **Maintainability**: Easier to update individual resources - **Build efficiency**: Parallel building of resource packages ### Release note ```release-note [platform] Split cozystack-resource-definitions into 25 separate *-rd packages for better modularity and independent versioning. Each resource definition is now a standalone package. <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Refactor** * Split the monolithic resource-definitions into many independent resource-definition packages (e.g., bootbox-rd, bucket-rd, clickhouse-rd, etc.) for modular deployment and finer-grained management * Updated deployment bundles to reference the new per-resource releases with uniform cozy-system namespace and CRD dependency * **Chores** * Added packaging/Helm stubs (Chart.yaml, Makefile, values, templates) for each new resource-definition * **Bug Fixes** * Made CRD path resolution dynamic (NAME validated before assignment) <sub>✏️ Tip: You can customize this high-level summary in your review settings.</sub> <!-- end of auto-generated comment: release notes by coderabbit.ai -->
…te packages (#1778) ## What this PR does This PR splits the monolithic `cozystack-resource-definitions` package into 25 individual resource definition packages (`*-rd`) for better modularity and independent versioning. **Changes:** - Created 25 separate `*-rd` packages (bootbox-rd, bucket-rd, clickhouse-rd, etcd-rd, ferretdb-rd, foundationdb-rd, http-cache-rd, info-rd, ingress-rd, kafka-rd, kubernetes-rd, monitoring-rd, mysql-rd, nats-rd, postgres-rd, rabbitmq-rd, redis-rd, seaweedfs-rd, tcp-balancer-rd, tenant-rd, virtual-machine-rd, virtualprivatecloud-rd, vm-disk-rd, vm-instance-rd, vpn-rd) - Removed `packages/system/cozystack-resource-definitions` - Updated platform bundles (paas-hosted, paas-full, distro-full) to reference individual -rd packages - Updated `hack/update-crd.sh` to use package-specific directories Each `*-rd` package contains: - `Chart.yaml` - package metadata - `values.yaml` - default values - `Makefile` - build instructions - `cozyrds/<name>.yaml` - CRD definition - `templates/cozyrd.yaml` - Helm template **Benefits:** - **Modularity**: Each resource definition is now a standalone package - **Independent versioning**: Resources can be versioned independently - **Maintainability**: Easier to update individual resources - **Build efficiency**: Parallel building of resource packages ### Release note ```release-note [platform] Split cozystack-resource-definitions into 25 separate *-rd packages for better modularity and independent versioning. Each resource definition is now a standalone package. <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Refactor** * Split the monolithic resource-definitions into many independent resource-definition packages (e.g., bootbox-rd, bucket-rd, clickhouse-rd, etc.) for modular deployment and finer-grained management * Updated deployment bundles to reference the new per-resource releases with uniform cozy-system namespace and CRD dependency * **Chores** * Added packaging/Helm stubs (Chart.yaml, Makefile, values, templates) for each new resource-definition * **Bug Fixes** * Made CRD path resolution dynamic (NAME validated before assignment) <sub>✏️ Tip: You can customize this high-level summary in your review settings.</sub> <!-- end of auto-generated comment: release notes by coderabbit.ai -->
What this PR does
This PR splits the monolithic
cozystack-resource-definitionspackage into 25 individual resource definition packages (*-rd) for better modularity and independent versioning.Changes:
*-rdpackages (bootbox-rd, bucket-rd, clickhouse-rd, etcd-rd, ferretdb-rd, foundationdb-rd, http-cache-rd, info-rd, ingress-rd, kafka-rd, kubernetes-rd, monitoring-rd, mysql-rd, nats-rd, postgres-rd, rabbitmq-rd, redis-rd, seaweedfs-rd, tcp-balancer-rd, tenant-rd, virtual-machine-rd, virtualprivatecloud-rd, vm-disk-rd, vm-instance-rd, vpn-rd)packages/system/cozystack-resource-definitionshack/update-crd.shto use package-specific directoriesEach
*-rdpackage contains:Chart.yaml- package metadatavalues.yaml- default valuesMakefile- build instructionscozyrds/<name>.yaml- CRD definitiontemplates/cozyrd.yaml- Helm templateBenefits:
Release note