Skip to content
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

✨ Add helm plugin to distribute projects #4227

Merged
merged 1 commit into from
Nov 10, 2024

Conversation

camilamacedo86
Copy link
Member

@camilamacedo86 camilamacedo86 commented Oct 22, 2024

Add Helm Plugin for Project Distribution

This PR introduces an optional Helm plugin, enabling users to scaffold Helm charts for Kubebuilder projects.

🚀 You can validate the HelmChart generated as example to distribute the project looking at: testdata/project-v4-with-plugins/dist/chart/

Key Features

  • Helm Chart Scaffolding: Allows generation of a Helm chart under the dist/chart directory, providing an alternative for distributing and managing projects via Helm.
  • Usage:
    • To add when init the project: kubebuilder init --plugins=helm/v1-alpha for new projects.
    • To Init/Update in a project previously scaffolded: kubebuilder edit --plugins=helm/v1-alpha to add or update Helm charts for existing projects.
  • Sync Helm Chart: Syncs the Helm chart with project manifests using the edit command, with --force required for updates after webhook or DeployImage plugin changes in order to overwritten the values.yaml and manager.yaml files.

Testing and Documentation

  • Examples: Usage samples can be found in testdata/project-v4-with-plugins.
  • Testing: Adds GitHub Actions workflows to validate Helm integration, including linting, installation, and e2e checks.

Note: For details on the original proposal, see PR #3632.

@k8s-ci-robot k8s-ci-robot added do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. labels Oct 22, 2024
@k8s-ci-robot k8s-ci-robot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Oct 22, 2024
@camilamacedo86 camilamacedo86 force-pushed the helm-plugin branch 3 times, most recently from 07d3c66 to 6b491e7 Compare October 22, 2024 13:07
@camilamacedo86 camilamacedo86 changed the title WIP - POC - Add helm plugin to distribute projects ✨ WIP - POC - Add helm plugin to distribute projects Oct 22, 2024
@k8s-ci-robot k8s-ci-robot removed the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Oct 22, 2024
@camilamacedo86 camilamacedo86 force-pushed the helm-plugin branch 10 times, most recently from 44c23e2 to 30333bb Compare October 22, 2024 18:06
@camilamacedo86 camilamacedo86 changed the title ✨ WIP - POC - Add helm plugin to distribute projects ✨ WIP - Add helm plugin to distribute projects Oct 22, 2024
@camilamacedo86 camilamacedo86 force-pushed the helm-plugin branch 8 times, most recently from a56a451 to e311d0a Compare October 23, 2024 11:48
@camilamacedo86 camilamacedo86 force-pushed the helm-plugin branch 2 times, most recently from 8c00bbe to 2f49d33 Compare November 9, 2024 14:07
@camilamacedo86
Copy link
Member Author

We had enough reviews and approvals for this initial alpha version
Anyway, anyone is more than welcome to push pull requests to improve the helm plugin
Your input and help is invaluable for us!

So, moving forward with this one !!!

@camilamacedo86 camilamacedo86 added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Nov 9, 2024
@camilamacedo86
Copy link
Member Author

I would like to thank you all for your help in the reviews 🥇
That was great !!!

@k8s-ci-robot
Copy link
Contributor

New changes are detected. LGTM label has been removed.

@k8s-ci-robot k8s-ci-robot removed the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Nov 9, 2024
@camilamacedo86 camilamacedo86 force-pushed the helm-plugin branch 5 times, most recently from 33dfe1d to c61941f Compare November 9, 2024 19:59
@camilamacedo86 camilamacedo86 changed the title ✨ Add helm plugin to distribute projects (WIP - FIX REBASE CHANGES)✨ Add helm plugin to distribute projects Nov 9, 2024
@k8s-ci-robot k8s-ci-robot added the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Nov 9, 2024
@camilamacedo86 camilamacedo86 force-pushed the helm-plugin branch 4 times, most recently from b3c646d to 80d8487 Compare November 10, 2024 05:47
This PR introduces an optional Helm plugin, enabling users to scaffold Helm charts for Kubebuilder projects.

- **Helm Chart Scaffolding**: Allows generation of a Helm chart under the `dist/chart` directory, providing an alternative for distributing and managing projects via Helm.
- **Usage**:
  - **To add when init the project**: `kubebuilder init --plugins=helm/v1-alpha` for new projects.
  - **To Init/Update in a project previously scaffolded**: `kubebuilder edit --plugins=helm/v1-alpha` to add or update Helm charts for existing projects.
- **Sync Helm Chart**: Syncs the Helm chart with project manifests using the `edit` command, with `--force` required for updates after webhook or `DeployImage` plugin changes in order to overwritten the values.yaml and manager.yaml files.
@camilamacedo86 camilamacedo86 changed the title (WIP - FIX REBASE CHANGES)✨ Add helm plugin to distribute projects ✨ Add helm plugin to distribute projects Nov 10, 2024
@k8s-ci-robot k8s-ci-robot removed the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Nov 10, 2024
@camilamacedo86 camilamacedo86 added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Nov 10, 2024
@camilamacedo86 camilamacedo86 merged commit ad4afdb into kubernetes-sigs:master Nov 10, 2024
24 of 27 checks passed
@camilamacedo86 camilamacedo86 deleted the helm-plugin branch November 10, 2024 06:48
vtrenton pushed a commit to vtrenton/kubebuilder that referenced this pull request Nov 20, 2024
Add helm plugin to distribute projects

This PR introduces an optional Helm plugin, enabling users to scaffold Helm charts for Kubebuilder projects.

- **Helm Chart Scaffolding**: Allows generation of a Helm chart under the `dist/chart` directory, providing an alternative for distributing and managing projects via Helm.
- **Usage**:
  - **To add when init the project**: `kubebuilder init --plugins=helm/v1-alpha` for new projects.
  - **To Init/Update in a project previously scaffolded**: `kubebuilder edit --plugins=helm/v1-alpha` to add or update Helm charts for existing projects.
- **Sync Helm Chart**: Syncs the Helm chart with project manifests using the `edit` command, with `--force` required for updates after webhook or `DeployImage` plugin changes in order to overwritten the values.yaml and manager.yaml files.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved Indicates a PR has been approved by an approver from all required OWNERS files. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. lgtm "Looks good to me", indicates that a PR is ready to be merged. size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants