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!(helm): Add installGatewayAPI helm chart value #13739

Merged
merged 8 commits into from
Mar 6, 2025
Merged

Conversation

adleong
Copy link
Member

@adleong adleong commented Mar 5, 2025

We add a new value to the linkerd-crds Helm chart called installGatewayAPI which acts as a default value for enableHttpRoutes, enableTlsRoutes, and enableTcpRoutes. We also update the logic of the linkerd install and linkerd upgrade commands to set this installGatewayAPI value to true if there are any gateway API CRDs managed by Linkerd on the cluster and false otherwise. Users can still override this setting by specifying the --set installGatewayAPI=(false|true) flag.

This is all to move us toward the eventual goal of having the Gateway API CRDs treated as an external dependency rather than being managed by Linkerd without breaking the upgrade path.

Signed-off-by: Alex Leong <alex@buoyant.io>
@adleong adleong requested a review from a team as a code owner March 5, 2025 22:26
adleong added 4 commits March 5, 2025 22:42
Signed-off-by: Alex Leong <alex@buoyant.io>
Signed-off-by: Alex Leong <alex@buoyant.io>
Signed-off-by: Alex Leong <alex@buoyant.io>
Signed-off-by: Alex Leong <alex@buoyant.io>
@adleong
Copy link
Member Author

adleong commented Mar 6, 2025

This is blocked on #13741 because new installs no longer include the Gateway API CRDs. This is causing integration tests to fail because of the panic which is fixed in #13741

@olix0r olix0r self-assigned this Mar 6, 2025
@alpeb
Copy link
Member

alpeb commented Mar 6, 2025

While testing I see the helm chart installs by default the CRDs while the CLI doesn't. Is that expected?

$ bin/helm-build
$ helm template linkerd-crds charts/linkerd-crds | rg tlsroute
# Source: linkerd-crds/templates/gateway.networking.k8s.io_tlsroutes.yaml
  name: tlsroutes.gateway.networking.k8s.io
    kind: TLSRoute
--snip--
$ bin/linkerd install --crds | rg tlsroute
Rendering Linkerd CRDs...
Next, run `linkerd install | kubectl apply -f -` to install the control plane.
--empty--

@adleong adleong changed the title Add installGatewayAPI helm chart value feat!(helm): Add installGatewayAPI helm chart value Mar 6, 2025
@adleong
Copy link
Member Author

adleong commented Mar 6, 2025

@alpeb yes this is expected. In Helm's default mode, it doesn't differentiate between install and upgrade for template rendering, so in the short term we still include the gateway API CRDs by default. On the Linkerd CLI side, we can be more intelligent and skip the gateway API CRDs by default for new installs or for upgrades when the gateway API CRDs are not already installed by Linkerd.

@olix0r olix0r enabled auto-merge (squash) March 6, 2025 21:25
@olix0r olix0r merged commit 98bd0da into main Mar 6, 2025
69 of 73 checks passed
@olix0r olix0r deleted the alex/gateway-off branch March 6, 2025 21:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants