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 flag to enable Gateway api support in helm chart #7121

Closed
wants to merge 3 commits into from

Conversation

peschmae
Copy link

@peschmae peschmae commented Jun 24, 2024

Pull Request Motivation

Release 1.15.0 promoted Gateway API to a beta feature in #6961

The Helm Chart still references the featureGate and provides no easy way to enable the Gateway API support.

This pull request adds a new Helm value enableGatewayAPI: false which toggles the --enable-gateway-api arg on the deployment.

Kind

/kind feature

Release Note

Added `enableGatewayApi` helm chart option

Signed-off-by: Mathias Petermann <mathias.petermann@gmail.com>
@cert-manager-prow cert-manager-prow bot added release-note Denotes a PR that will be considered when it comes time to generate release notes. dco-signoff: yes Indicates that all commits in the pull request have the valid DCO sign-off message. area/deploy Indicates a PR modifies deployment configuration needs-kind Indicates a PR lacks a `kind/foo` label and requires one. labels Jun 24, 2024
@cert-manager-prow
Copy link
Contributor

Hi @peschmae. Thanks for your PR.

I'm waiting for a cert-manager 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.

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.

@cert-manager-prow cert-manager-prow bot added needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. size/S Denotes a PR that changes 10-29 lines, ignoring generated files. labels Jun 24, 2024
@maelvls
Copy link
Member

maelvls commented Jun 25, 2024

Hey, thanks for sharing! I agree that the approach we went with in 1.15, which is to advise people to add to use --set extraArgs={...,--enable-gateway-api}, is far from ideal.

Nit: it looks like most Helm charts around use the typography enableGatewayAPI, what do you think?

@maelvls maelvls self-assigned this Jun 25, 2024
@peschmae
Copy link
Author

Nit: it looks like most Helm charts around use the typography enableGatewayAPI, what do you think?

Didn't even think about checking that, but that's a good input. I'll adjust it.

I also realised I forgot to update the helm schema, will do that asap.

Signed-off-by: Mathias Petermann <mathias.petermann@gmail.com>
@cert-manager-prow
Copy link
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

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

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

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

@cert-manager-prow cert-manager-prow bot removed the needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. label Jun 25, 2024
Signed-off-by: Mathias Petermann <mathias.petermann@gmail.com>
@cert-manager-prow cert-manager-prow bot added size/M Denotes a PR that changes 30-99 lines, ignoring generated files. and removed size/S Denotes a PR that changes 10-29 lines, ignoring generated files. labels Jun 25, 2024
@maelvls
Copy link
Member

maelvls commented Jun 25, 2024

Hey, during this morning's open standup I've learned that there is already a (somewhat hidden) way of doing exactly that with cert-manager 1.15:

helm upgrade -i ... \
  --set config.apiVersion="controller.config.cert-manager.io/v1alpha1" \
  --set config.kind="ControllerConfiguration" \
  --set config.enableGatewayAPI="true" \

This way of enabling Gateway API through Helm isn't documented in values.yaml, we should fix that. We also discussed that setting the apiVersion and kind should be automated by the Helm chart (they are mandatory for now, as seen in controller-config.yaml). But we haven't done that yet 😅

What do you think?

@maelvls
Copy link
Member

maelvls commented Jun 25, 2024

In 1.16 and above, you no longer have to pass --set config.apiVersion and --set config.kind (ref: #7126). To enable Gateway API in 1.16, you can run:

make helm-chart
helm upgrade --install cert-manager _bin/helm/cert-manager --create-namespace --namespace cert-manager \
  --set crds.enabled=true \
  --set config.enableGatewayAPI=true

The last missing bits would be to (1) document this clearly in values.yaml (cert-manager/website#1517), and (2) remove the "experimental" mentions as you already did.

@cert-manager-prow cert-manager-prow bot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Jun 25, 2024
@cert-manager-prow
Copy link
Contributor

PR needs rebase.

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.

@maelvls
Copy link
Member

maelvls commented Jul 16, 2024

I propose to close this since the alternative solution works great. I've opened cert-manager/website#1517 to add this solution to the documentation.

Feel free to re-open if you feel that config.enableGatewayAPI isn't working for you @peschmae.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/deploy Indicates a PR modifies deployment configuration dco-signoff: yes Indicates that all commits in the pull request have the valid DCO sign-off message. needs-kind Indicates a PR lacks a `kind/foo` label and requires one. needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. ok-to-test release-note Denotes a PR that will be considered when it comes time to generate release notes. size/M Denotes a PR that changes 30-99 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants