Skip to content

feat(helm): add Gateway API support#4684

Merged
weatherhog merged 6 commits intomainfrom
feat/gateway-api-support
Jan 6, 2026
Merged

feat(helm): add Gateway API support#4684
weatherhog merged 6 commits intomainfrom
feat/gateway-api-support

Conversation

@weatherhog
Copy link
Contributor

@weatherhog weatherhog commented Dec 12, 2025

Add Gateway API HTTPRoute templates for happa and happaapi:

  • route.yaml: HTTPRoute for happa frontend service
  • happaapi-route.yaml: HTTPRoute for kubernetes API proxy

Features:

  • Support for all Gateway API route kinds (HTTPRoute, GRPCRoute, etc.)
  • Optional Envoy Gateway SecurityPolicy (CORS, JWT, OIDC, basicAuth, extAuth)
  • Configurable hostnames, parentRefs, matches, and filters
  • Template support for dynamic values

The existing Ingress resources are preserved for backwards compatibility.

Issue: https://github.com/giantswarm/giantswarm/issues/34943

Add Gateway API HTTPRoute templates for happa and happaapi:
- route.yaml: HTTPRoute for happa frontend service
- happaapi-route.yaml: HTTPRoute for kubernetes API proxy

Features:
- Support for all Gateway API route kinds (HTTPRoute, GRPCRoute, etc.)
- Optional Envoy Gateway SecurityPolicy (CORS, JWT, OIDC, basicAuth, extAuth)
- Configurable hostnames, parentRefs, matches, and filters
- Template support for dynamic values

The existing Ingress resources are preserved for backwards compatibility.
@weatherhog weatherhog requested a review from a team as a code owner December 12, 2025 11:37
# defaultAction: Deny
# rules: []

# Gateway API HTTPRoute for happaapi (kubernetes API proxy)
Copy link
Contributor

Choose a reason for hiding this comment

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

since this is meant to proxy the kube api server (which has already certs), I think you'll need to add a BackendTLSPolicy

More info here https://gateway.envoyproxy.io/docs/tasks/security/backend-tls/

@weatherhog weatherhog changed the title feat(helm): add Gateway API support WIP: feat(helm): add Gateway API support Dec 15, 2025
@weatherhog weatherhog changed the title WIP: feat(helm): add Gateway API support feat(helm): add Gateway API support Dec 18, 2025
mcharriere
mcharriere previously approved these changes Dec 19, 2025
@mcharriere mcharriere dismissed their stale review December 19, 2025 08:33

missing some changelog

}) as HTMLButtonElement;
fireEvent.click(deleteButton);

// Wait for the success message first (confirms operation completed)
Copy link
Contributor

Choose a reason for hiding this comment

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

I have no idea if this change might have some impact.

})
);

render(
Copy link
Contributor

Choose a reason for hiding this comment

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

same here. this change is not related to the purpose of the PR

Copy link
Contributor

@mcharriere mcharriere left a comment

Choose a reason for hiding this comment

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

Changelog

Add BackendTLSPolicy template and configuration for TLS between Gateway
and backend, required when proxying to Kubernetes API server or other
TLS backends.

Features:
- Support for ConfigMap and ClusterTrustBundle CA certificate references
- Hostname validation for backend certificates
- Option to use well-known CA certificates (system trust store)
- Automatic sectionName detection for HTTPS ports

This is essential for the happaapi route which proxies to the Kubernetes
API server that uses TLS.
Set default hostname to 'kubernetes.default.svc.cluster.local' for
BackendTLSPolicy when proxying to the kubernetes service. This ensures
proper TLS certificate validation.

The template also includes a fallback to automatically set this hostname
if not explicitly configured and the backend is the kubernetes service.
According to Gateway API specification, the 'validation' section is required
in BackendTLSPolicy, and 'hostname' is required within validation.

Changes:
- validation section is now always present (not conditional)
- hostname is always set with appropriate defaults
- Structure now matches Gateway API v1alpha3 specification
@weatherhog weatherhog force-pushed the feat/gateway-api-support branch from b9cc2a3 to d7daf8b Compare December 19, 2025 08:50
Copy link
Contributor

@mcharriere mcharriere left a comment

Choose a reason for hiding this comment

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

go go go

@weatherhog weatherhog merged commit 10bc6d5 into main Jan 6, 2026
16 checks passed
@weatherhog weatherhog deleted the feat/gateway-api-support branch January 6, 2026 15:29
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.

2 participants