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

feat(providers)!: improve kubernetesGateway and Gateway API support #1107

Merged
merged 16 commits into from
Jul 4, 2024

Conversation

darkweaver87
Copy link
Contributor

What does this PR do?

This PR adds support of new stable kubernetesGateway provider powered by traefik > v3.1.0.

Motivation

Support Traefik v3.1 features.

More

  • Yes, I updated the tests accordingly
  • Yes, I ran make test and all the tests passed

@darkweaver87 darkweaver87 force-pushed the feat/gw-api branch 2 times, most recently from dbb89c6 to b6a0ff9 Compare July 1, 2024 13:02
@mloiseleur mloiseleur added the kind/enhancement New feature or request label Jul 2, 2024
EXAMPLES.md Outdated Show resolved Hide resolved
EXAMPLES.md Outdated Show resolved Hide resolved
EXAMPLES.md Show resolved Hide resolved
EXAMPLES.md Outdated Show resolved Hide resolved
EXAMPLES.md Outdated Show resolved Hide resolved
traefik/values.yaml Outdated Show resolved Hide resolved
traefik/values.yaml Outdated Show resolved Hide resolved
@mloiseleur mloiseleur changed the title feat: add kubernetesGateway as non experimental feat(providers): add kubernetesGateway as non experimental Jul 3, 2024
@travisghansen
Copy link
Contributor

travisghansen commented Jul 3, 2024

This is great to see better support coming! A couple extra thoughts from a user:

  • I don't particularly love the inclusion of the gateway-api crds, although I understand the desire
  • To support multiple deployments of traefik in a single cluster I think we need
    • an ability to control the names of both the gateway class and gateway object
    • it should be possible to set special labels on the gateway class to use in conjunction with the --providers.kubernetesgateway.labelselector="app=traefik" argument
    • it should be possible to enable gateway-api support and disable the gateway and gateway class completely but separately (ie: I should be able to deploy with the gateway class but disable the included gateway resource)
    • ability to enable the rbac indepedent of deploying the gateway/class

@darkweaver87
Copy link
Contributor Author

@travisghansen I added your suggestions. Considering CRDs I don't have much choice with helm to include it :-/
For those who want, like you, you still have the capability to set --skip-crds to helm install command and apply a selected subset of CRDs.

@darkweaver87 darkweaver87 changed the title feat(providers): add kubernetesGateway as non experimental feat(providers)!: add kubernetesGateway as non experimental Jul 4, 2024
traefik/values.yaml Outdated Show resolved Hide resolved
traefik/values.yaml Outdated Show resolved Hide resolved
traefik/values.yaml Outdated Show resolved Hide resolved
traefik/values.yaml Outdated Show resolved Hide resolved
traefik/values.yaml Outdated Show resolved Hide resolved
traefik/values.yaml Outdated Show resolved Hide resolved
traefik/values.yaml Outdated Show resolved Hide resolved
traefik/values.yaml Outdated Show resolved Hide resolved
traefik/values.yaml Outdated Show resolved Hide resolved
Copy link
Contributor

@mloiseleur mloiseleur left a comment

Choose a reason for hiding this comment

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

PR looks good 👍
See my comments for last suggestion on how to present it in values.

@travisghansen
Copy link
Contributor

@travisghansen I added your suggestions. Considering CRDs I don't have much choice with helm to include it :-/ For those who want, like you, you still have the capability to set --skip-crds to helm install command and apply a selected subset of CRDs.

Awesome! Much appreciated the consideration. A quick overview seems to indicate this has everything I need to cover my current use-case. Once the chart is released however I will give it a thorough try and make sure all is there to handle my currently hacky setup.

darkweaver87 and others added 3 commits July 4, 2024 14:06
Co-authored-by: Michel Loiseleur <97035654+mloiseleur@users.noreply.github.com>
@mloiseleur mloiseleur changed the title feat(providers)!: add kubernetesGateway as non experimental feat(providers)!: improve kubernetesGateway and Gateway API support Jul 4, 2024
Copy link
Contributor

@mloiseleur mloiseleur left a comment

Choose a reason for hiding this comment

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

LGTM

@traefiker traefiker merged commit 2eb640a into traefik:master Jul 4, 2024
1 check passed
@darkweaver87 darkweaver87 deleted the feat/gw-api branch July 4, 2024 14:37
@travisghansen
Copy link
Contributor

It seems like the argument here may be in the wrong order, I can't seem to override?

name: {{ default .Values.gateway.name "traefik-gateway" }}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants