add gateway crds to helm as opt-in#4687
add gateway crds to helm as opt-in#4687alecrajeev wants to merge 1 commit intokubernetes-sigs:mainfrom
Conversation
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: alecrajeev The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
|
Welcome @alecrajeev! |
|
Hi @alecrajeev. Thanks for your PR. I'm waiting for a kubernetes-sigs member to verify that this patch is reasonable to test. If it is, they should reply with Regular contributors should join the org to skip this step. Once the patch is verified, the new status will be reflected by the I understand the commands that are listed here. DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
|
/ok-to-test |
| apiVersion: v2 | ||
| name: aws-load-balancer-controller | ||
| description: AWS Load Balancer Controller Helm chart for Kubernetes | ||
| version: 3.2.1 |
There was a problem hiding this comment.
No need to bump these versions yet. We do this as part of our release process.
| # Whether or not to install the standard kubernetes gateway api crds | ||
|
|
||
| gatewayCRDsAPI: | ||
| enabled: true |
There was a problem hiding this comment.
Default should be false since this is opt-in and we don't want to conflict with existing installations.
There was a problem hiding this comment.
Thanks for the contribution! Here's some feedback to make this easier to maintain long-term and more flexible for users.
We want to the ability to opt in to install both standard and experimental CRDs. Instead of embedding Helm directives directly in the 17k-line CRD file, let's keep the raw upstream YAML untouched so we can copy-paste from upstream on updates. Store the source of truth in config/crd/gateway/upstream/ (for both standard and experimental channels), and extend the make crds target to copy them into helm/aws-load-balancer-controller/files/ — the same way our LBC-specific CRDs already flow from config/crd/ → helm/crds/. The existing verify-crds.sh CI check will automatically catch drift without any extra changes.
Then use a single thin template wrapper with independent toggles for each channel (we use standard for L7 and experimental for L4) something like this:
# templates/gatewayapi-crds.yaml
{{- if .Values.crds.gatewayAPI.standard.enabled }}
{{ .Files.Get "files/standard-gatewayapi-crds.yaml" }}
{{- end }}
{{- if .Values.crds.gatewayAPI.experimental.enabled }}
{{ .Files.Get "files/experimental-gatewayapi-crds.yaml" }}
{{- end }}
# values.yaml
crds:
gatewayAPI:
standard:
enabled: false
experimental:
enabled: false
|
PR needs rebase. DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
Issue
#4651
Description
Currently the kubernetes standard gateway CRDs have to be installed before the gateway controller part of
aws-load-balancer-controllerwill work. It would be nice to have a way to install these CRDs with this helm chart.Note: These are opt-in and by default it will not automatically install the CRDs because there may be folks who already have them installed and we do not want them to conflict.
Checklist
README.md, or thedocsdirectory)BONUS POINTS checklist: complete for good vibes and maybe prizes?! 🤯