Remove helmify / kustomize, switch to helm-chart only.#71
Remove helmify / kustomize, switch to helm-chart only.#71
Conversation
This PR removes the helmify step and removes kustomize as an option to render the manager/rbacs/crd. Helmify took a lot of work creating a helm-chart based on the boilerplate generated by kubebuilder. But ultimatively, it imposes too many constraints to the outcome of the helm-chart and makes it hard to implement custom renditions (like using .AppVersion as a image tag). Thus this PR is removing the kustomize files, leaving only the generated CRDs in the config directory (which don't need any templating) and symlinks it to the helm chart.
📝 WalkthroughWalkthroughThis pull request migrates the project from a Kubebuilder-style kustomize-based configuration to a Helm-chart-based deployment approach. Custom Resource Definitions (CRDs) are relocated from Changes
Estimated code review effort🎯 4 (Complex) | ⏱️ ~45 minutes Poem
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches
🧪 Generate unit tests (beta)
📝 Coding Plan
Comment Tip CodeRabbit can suggest fixes for GitHub Check annotations.Configure the |
Merging this branch will decrease overall coverage
Coverage by fileChanged unit test files
|
There was a problem hiding this comment.
Actionable comments posted: 1
🧹 Nitpick comments (1)
.github/workflows/container-registry-ghcr.yaml (1)
48-48: Remove unnecessary QEMU setup for single-platform amd64 build.This workflow builds only
linux/amd64and runs on an amd64 runner (large_runner_16core_64gb). QEMU is only needed for multi-platform or cross-architecture builds, not for native platform builds. Removing thesetup-qemu-action@v4step on line 48 will reduce unnecessary build time overhead.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In @.github/workflows/container-registry-ghcr.yaml at line 48, Remove the unnecessary QEMU setup step that uses "docker/setup-qemu-action@v4" from the workflow since the job targets only linux/amd64 and runs on an amd64 runner (large_runner_16core_64gb); delete the entire step block referencing docker/setup-qemu-action@v4 and verify no subsequent steps depend on QEMU before committing the change.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@Makefile.maker.yaml`:
- Line 10: The CRD generation path (crdOutputPath: charts/kvm-node-agent/crds)
and the install step path (install-crds using config/crd/*.yaml) are
inconsistent; update the install target so it reads CRDs from the generated
location or change crdOutputPath to match the installer. Locate the
crdOutputPath setting and the install-crds rule/target that references
config/crd/*.yaml and make them identical (e.g., point install-crds to
charts/kvm-node-agent/crds/*.yaml or set crdOutputPath to config/crd) so
generated CRDs are the ones applied.
---
Nitpick comments:
In @.github/workflows/container-registry-ghcr.yaml:
- Line 48: Remove the unnecessary QEMU setup step that uses
"docker/setup-qemu-action@v4" from the workflow since the job targets only
linux/amd64 and runs on an amd64 runner (large_runner_16core_64gb); delete the
entire step block referencing docker/setup-qemu-action@v4 and verify no
subsequent steps depend on QEMU before committing the change.
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: 8f5179a0-ebdc-4546-8eea-f6c8600f0e28
⛔ Files ignored due to path filters (1)
go.sumis excluded by!**/*.sum
📒 Files selected for processing (35)
.github/workflows/container-registry-ghcr.yaml.pre-commit-config.yamlMakefileMakefile.maker.yamlcharts/kvm-node-agent/crds/kvm.cloud.sap_migrations.yamlcharts/kvm-node-agent/crds/migration-crd.yamlcharts/kvm-node-agent/values.yamlconfig/crd/bases/kvm.cloud.sap_hypervisors.yamlconfig/crd/kustomization.yamlconfig/crd/kustomizeconfig.yamlconfig/default/kustomization.yamlconfig/default/manager_metrics_patch.yamlconfig/default/metrics_service.yamlconfig/manager/kustomization.yamlconfig/manager/manager.yamlconfig/manager/manager_node_selector_patch.yamlconfig/prometheus/kustomization.yamlconfig/prometheus/monitor.yamlconfig/rbac/hypervisor_editor_role.yamlconfig/rbac/hypervisor_viewer_role.yamlconfig/rbac/kustomization.yamlconfig/rbac/leader_election_role.yamlconfig/rbac/leader_election_role_binding.yamlconfig/rbac/metrics_auth_role.yamlconfig/rbac/metrics_auth_role_binding.yamlconfig/rbac/metrics_reader_role.yamlconfig/rbac/migration_editor_role.yamlconfig/rbac/migration_viewer_role.yamlconfig/rbac/role_binding.yamlconfig/rbac/service_account.yamlconfig/samples/kustomization.yamlconfig/samples/kvm_v1alpha1_hypervisor.yamlconfig/samples/kvm_v1alpha1_migration.yamlinternal/controller/suite_test.gointernal/evacuation/suite_test.go
💤 Files with no reviewable changes (29)
- config/samples/kustomization.yaml
- config/rbac/metrics_reader_role.yaml
- config/rbac/hypervisor_viewer_role.yaml
- config/manager/kustomization.yaml
- config/rbac/kustomization.yaml
- config/default/manager_metrics_patch.yaml
- config/samples/kvm_v1alpha1_hypervisor.yaml
- config/rbac/migration_viewer_role.yaml
- charts/kvm-node-agent/values.yaml
- config/rbac/leader_election_role.yaml
- config/rbac/leader_election_role_binding.yaml
- config/rbac/service_account.yaml
- config/rbac/metrics_auth_role.yaml
- config/crd/bases/kvm.cloud.sap_hypervisors.yaml
- charts/kvm-node-agent/crds/migration-crd.yaml
- config/rbac/migration_editor_role.yaml
- config/rbac/hypervisor_editor_role.yaml
- config/prometheus/kustomization.yaml
- config/prometheus/monitor.yaml
- config/crd/kustomizeconfig.yaml
- config/samples/kvm_v1alpha1_migration.yaml
- .pre-commit-config.yaml
- config/default/kustomization.yaml
- config/crd/kustomization.yaml
- config/manager/manager_node_selector_patch.yaml
- config/default/metrics_service.yaml
- config/rbac/metrics_auth_role_binding.yaml
- config/manager/manager.yaml
- config/rbac/role_binding.yaml
This PR removes the helmify step and removes kustomize as an option to
render the manager/rbacs/crd.
Helmify took a lot of work creating a helm-chart based on the
boilerplate generated by kubebuilder. But ultimatively, it imposes too
many constraints to the outcome of the helm-chart and makes it hard to
implement custom renditions (like using .AppVersion as a image tag).
Thus this PR is removing the kustomize files, leaving only the generated
CRDs in the config directory (which don't need any templating) and
symlinks it to the helm chart.
Summary by CodeRabbit