nessie icon indicating copy to clipboard operation
nessie copied to clipboard

Introducing GatewayAPI support for Helm

Open localleon opened this issue 1 month ago • 8 comments

Closes #11621

Adds Gateway API Support to the Nessie Helm Chart

This PR introduces first-class support for the Kubernetes Gateway API (gateway.networking.k8s.io/v1) as an alternative to the existing Ingress configuration. It includes templating, values, documentation, and tests for generating Gateway and HTTPRoute resources.

Key changes:

  • New gatewayApi values section with full customization options for Gateways, listeners, TLS, routes, and backend references.
  • Templates for Gateway and HTTPRoute resources, including version detection and strict validation.
  • Updated README with usage examples and configuration details.
  • Added CI values and Helm unittest coverage for default rendering, override behavior, TLS configuration, and custom parentRefs/backends.
  • Minor fixes for template newline trimming.

This enables users to expose Nessie using modern Gateway API controllers such as Envoy Gateway, Istio, Traefik, or Kuma.

localleon avatar Nov 17 '25 14:11 localleon

@adutra please take a look ;-)

localleon avatar Nov 17 '25 14:11 localleon

@localleon mind signing the CLA?

snazy avatar Nov 17 '25 19:11 snazy

@localleon mind signing the CLA?

Sure, where do i find instructions on hwo to do it? There's nothing in the CONTRIBUTING.md?

localleon avatar Nov 17 '25 19:11 localleon

CLA assistant check
All committers have signed the CLA.

CLAassistant avatar Nov 17 '25 20:11 CLAassistant

@localleon mind signing the CLA?

Sure, where do i find instructions on hwo to do it? There's nothing in the CONTRIBUTING.md?

You should have seen a link on this PR.

snazy avatar Nov 17 '25 20:11 snazy

@adutra please take a look again!

$ helm unittest ./
2025/11/19 09:30:31 found symbolic link in path: /home/lraus/nessie/helm/nessie/LICENSE resolves to /home/lraus/nessie/LICENSE. Contents of linked file included and used

### Chart [ nessie ] ./

 PASS   tests/configmap_test.yaml
 PASS   tests/gateway_api_test.yaml
 PASS   tests/logging_storage_test.yaml
 PASS   tests/logging_test.yaml
 PASS   tests/pdb_test.yaml
 PASS   tests/quantity_test.yaml
 PASS   tests/service_monitor_test.yaml

Charts:      1 passed, 1 total
Test Suites: 7 passed, 7 total
Tests:       61 passed, 61 total
Snapshot:    0 passed, 0 total
Time:        596.957069ms

localleon avatar Nov 19 '25 08:11 localleon

@adutra please recheck the PR. I do not have much time to spend on this issue anymore, but I hope this version will be satisfiable for a first iteration of the feature

localleon avatar Dec 12 '25 10:12 localleon

Looks like we need to add the GatewayAPI capabilities to the "helm template" commands for CI to work correctly

localleon avatar Dec 12 '25 21:12 localleon

Looks like we need to add the GatewayAPI capabilities to the "helm template" commands for CI to work correctly

@localleon I fixed a few things in this commit:

https://github.com/adutra/nessie/commit/95db176167287d2e95c0039207514900cdf9cc78

Feel free to cherry-pick, let's see if that makes CI pass.

adutra avatar Dec 15 '25 16:12 adutra

@adutra cherry-picked your commit and merged latest main

localleon avatar Dec 17 '25 07:12 localleon

@localleon do you mind rebasing your PR? The CI failure is unrelated to your changes and has been fixed on main.

UPDATE: nevermind, I could do it myself 😅

adutra avatar Dec 18 '25 20:12 adutra

@localleon in order to move faster I created a separate PR, squashed all your commits and fixed the remaining issues with CI: #11768. Your commit authorship was preserved. I'm closing this one then. Thanks for your contribution!

adutra avatar Dec 19 '25 16:12 adutra