Skip to content

add gateway crds to helm as opt-in#4687

Open
alecrajeev wants to merge 1 commit intokubernetes-sigs:mainfrom
alecrajeev:add-gateway-crds-helm
Open

add gateway crds to helm as opt-in#4687
alecrajeev wants to merge 1 commit intokubernetes-sigs:mainfrom
alecrajeev:add-gateway-crds-helm

Conversation

@alecrajeev
Copy link
Copy Markdown

Issue

#4651

Description

Currently the kubernetes standard gateway CRDs have to be installed before the gateway controller part of aws-load-balancer-controller will 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

  • Added tests that cover your change (if possible)
  • Added/modified documentation as required (such as the README.md, or the docs directory)
  • Manually tested
  • Made sure the title of the PR is a good description that can go into the release notes

BONUS POINTS checklist: complete for good vibes and maybe prizes?! 🤯

  • Backfilled missing tests for code in same general area 🎉
  • Refactored something and made the world a better place 🌟

@k8s-ci-robot
Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: alecrajeev
Once this PR has been reviewed and has the lgtm label, please assign oliviassss for approval. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@k8s-ci-robot k8s-ci-robot requested review from shuqz and zac-nixon April 14, 2026 16:29
@k8s-ci-robot
Copy link
Copy Markdown
Contributor

Welcome @alecrajeev!

It looks like this is your first PR to kubernetes-sigs/aws-load-balancer-controller 🎉. Please refer to our pull request process documentation to help your PR have a smooth ride to approval.

You will be prompted by a bot to use commands during the review process. Do not be afraid to follow the prompts! It is okay to experiment. Here is the bot commands documentation.

You can also check if kubernetes-sigs/aws-load-balancer-controller has its own contribution guidelines.

You may want to refer to our testing guide if you run into trouble with your tests not passing.

If you are having difficulty getting your pull request seen, please follow the recommended escalation practices. Also, for tips and tricks in the contribution process you may want to read the Kubernetes contributor cheat sheet. We want to make sure your contribution gets all the attention it needs!

Thank you, and welcome to Kubernetes. 😃

@k8s-ci-robot k8s-ci-robot added cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. labels Apr 14, 2026
@k8s-ci-robot
Copy link
Copy Markdown
Contributor

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 /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work.

Regular contributors should join the org to skip this step.

Once the patch is verified, the new status will be reflected by the ok-to-test label.

I understand the commands that are listed here.

Details

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

@k8s-ci-robot k8s-ci-robot added the size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. label Apr 14, 2026
@zac-nixon
Copy link
Copy Markdown
Collaborator

/ok-to-test

@k8s-ci-robot k8s-ci-robot added ok-to-test Indicates a non-member PR verified by an org member that is safe to test. and removed needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. labels Apr 15, 2026
apiVersion: v2
name: aws-load-balancer-controller
description: AWS Load Balancer Controller Helm chart for Kubernetes
version: 3.2.1
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

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
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Default should be false since this is opt-in and we don't want to conflict with existing installations.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

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

@k8s-ci-robot
Copy link
Copy Markdown
Contributor

PR needs rebase.

Details

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

@k8s-ci-robot k8s-ci-robot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Apr 18, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. ok-to-test Indicates a non-member PR verified by an org member that is safe to test. 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.

4 participants