-
Notifications
You must be signed in to change notification settings - Fork 0
feat: Add Gateway API support across multiple charts #52
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
base: main
Are you sure you want to change the base?
Conversation
- Introduced `httpRoute` configuration in `values.yaml` for `truvami-api`, `truvami-bridge`, `truvami-dashboard`, `truvami-decoder`, `truvami-gateway`, and `truvami-siren` charts. - Created `httproute.yaml` templates to define HTTPRoute resources for Gateway API. - Updated README files to include instructions for using Gateway API and migrating from Ingress. - Ensured compatibility by making Ingress and HTTPRoute mutually exclusive.
📊 Chart DiagramVisual representation of Kubernetes resources in changed charts:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR adds Kubernetes Gateway API support to all Truvami Helm charts (API, Bridge, Dashboard, Decoder, Gateway, and Siren), providing a modern alternative to traditional Ingress for external traffic routing.
Key Changes:
- Added HTTPRoute template files and configuration options to all six charts
- Updated documentation with Gateway API usage instructions and migration guides
- Introduced
.gotmplfiles for automated README generation
Reviewed changes
Copilot reviewed 26 out of 33 changed files in this pull request and generated 6 comments.
Show a summary per file
| File | Description |
|---|---|
| charts/truvami-siren/values.yaml | Added httpRoute configuration section with Gateway API settings |
| charts/truvami-siren/templates/httproute.yaml | New HTTPRoute template for Gateway API resource generation |
| charts/truvami-siren/README.md.gotmpl | Template for automated README generation with Gateway API documentation |
| charts/truvami-siren/README.md | Updated documentation with Gateway API support section |
| charts/truvami-gateway/values.yaml | Added httpRoute configuration section |
| charts/truvami-gateway/templates/httproute.yaml | New HTTPRoute template |
| charts/truvami-gateway/README.md.gotmpl | Template for automated README generation |
| charts/truvami-gateway/README.md | Updated documentation with Gateway API support |
| charts/truvami-docs/README.md.gotmpl | Template for automated README generation |
| charts/truvami-docs/README.md | Updated documentation with Gateway API support |
| charts/truvami-decoder/values.yaml | Added httpRoute configuration section |
| charts/truvami-decoder/templates/httproute.yaml | New HTTPRoute template |
| charts/truvami-decoder/README.md.gotmpl | Template for automated README generation |
| charts/truvami-decoder/README.md | Updated documentation with Gateway API support |
| charts/truvami-dashboard/values.yaml | Added httpRoute configuration section |
| charts/truvami-dashboard/templates/httproute.yaml | New HTTPRoute template |
| charts/truvami-dashboard/README.md.gotmpl | Template for automated README generation |
| charts/truvami-dashboard/README.md | Updated documentation with Gateway API support |
| charts/truvami-bridge/values.yaml | Added httpRoute configuration section |
| charts/truvami-bridge/templates/httproute.yaml | New HTTPRoute template |
| charts/truvami-bridge/README.md.gotmpl | Template for automated README generation |
| charts/truvami-bridge/README.md | Updated documentation with Gateway API support |
| charts/truvami-api/values.yaml | Added httpRoute configuration section |
| charts/truvami-api/templates/httproute.yaml | New HTTPRoute template |
| charts/truvami-api/README.md.gotmpl | Template for automated README generation |
| charts/truvami-api/README.md | Updated documentation with Gateway API support |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| {{- with .matches }} | ||
| - matches: | ||
| {{- toYaml . | nindent 8 }} | ||
| {{- end }} | ||
| {{- with .filters }} | ||
| filters: | ||
| {{- toYaml . | nindent 8 }} | ||
| {{- end }} |
Copilot
AI
Jan 7, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The template creates invalid HTTPRoute YAML when a rule has no matches defined. The '- matches:' line will be rendered without any content under it, resulting in malformed YAML. Add validation or restructure to only output the matches key when the list is non-empty.
| {{- with .matches }} | |
| - matches: | |
| {{- toYaml . | nindent 8 }} | |
| {{- end }} | |
| {{- with .filters }} | |
| filters: | |
| {{- toYaml . | nindent 8 }} | |
| {{- end }} | |
| - {{- with .matches }} | |
| {{- if and . (gt (len .) 0) }} | |
| matches: | |
| {{- toYaml . | nindent 8 }} | |
| {{- end }} | |
| {{- end }} | |
| {{- with .filters }} | |
| filters: | |
| {{- toYaml . | nindent 8 }} | |
| {{- end }} |
| {{- with .matches }} | ||
| - matches: | ||
| {{- toYaml . | nindent 8 }} | ||
| {{- end }} | ||
| {{- with .filters }} | ||
| filters: | ||
| {{- toYaml . | nindent 8 }} | ||
| {{- end }} |
Copilot
AI
Jan 7, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The template creates invalid HTTPRoute YAML when a rule has no matches defined. The '- matches:' line will be rendered without any content under it, resulting in malformed YAML. Add validation or restructure to only output the matches key when the list is non-empty.
| {{- with .matches }} | |
| - matches: | |
| {{- toYaml . | nindent 8 }} | |
| {{- end }} | |
| {{- with .filters }} | |
| filters: | |
| {{- toYaml . | nindent 8 }} | |
| {{- end }} | |
| - {{- with .matches }} | |
| matches: | |
| {{- toYaml . | nindent 8 }} | |
| {{- end }} | |
| {{- with .filters }} | |
| filters: | |
| {{- toYaml . | nindent 8 }} | |
| {{- end }} |
| {{- with .matches }} | ||
| - matches: | ||
| {{- toYaml . | nindent 8 }} | ||
| {{- end }} |
Copilot
AI
Jan 7, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The template creates invalid HTTPRoute YAML when a rule has no matches defined. The '- matches:' line will be rendered without any content under it, resulting in malformed YAML. Add validation or restructure to only output the matches key when the list is non-empty.
| {{- with .matches }} | |
| - matches: | |
| {{- toYaml . | nindent 8 }} | |
| {{- end }} | |
| {{- with .matches }} | |
| {{- if gt (len .) 0 }} | |
| - matches: | |
| {{- toYaml . | nindent 8 }} | |
| {{- end }} | |
| {{- end }} |
| {{- with .matches }} | ||
| - matches: | ||
| {{- toYaml . | nindent 8 }} | ||
| {{- end }} | ||
| {{- with .filters }} | ||
| filters: | ||
| {{- toYaml . | nindent 8 }} | ||
| {{- end }} |
Copilot
AI
Jan 7, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The template creates invalid HTTPRoute YAML when a rule has no matches defined. The '- matches:' line will be rendered without any content under it, resulting in malformed YAML. Add validation or restructure to only output the matches key when the list is non-empty.
| {{- with .matches }} | |
| - matches: | |
| {{- toYaml . | nindent 8 }} | |
| {{- end }} | |
| {{- with .filters }} | |
| filters: | |
| {{- toYaml . | nindent 8 }} | |
| {{- end }} | |
| - | |
| {{- with .matches }} | |
| matches: | |
| {{- toYaml . | nindent 8 }} | |
| {{- end }} | |
| {{- with .filters }} | |
| filters: | |
| {{- toYaml . | nindent 8 }} | |
| {{- end }} |
| {{- with .matches }} | ||
| - matches: | ||
| {{- toYaml . | nindent 8 }} | ||
| {{- end }} | ||
| {{- with .filters }} | ||
| filters: | ||
| {{- toYaml . | nindent 8 }} | ||
| {{- end }} |
Copilot
AI
Jan 7, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The template creates invalid HTTPRoute YAML when a rule has no matches defined. The '- matches:' line will be rendered without any content under it, resulting in malformed YAML. Add validation or restructure to only output the matches key when the list is non-empty.
| {{- with .matches }} | |
| - matches: | |
| {{- toYaml . | nindent 8 }} | |
| {{- end }} | |
| {{- with .filters }} | |
| filters: | |
| {{- toYaml . | nindent 8 }} | |
| {{- end }} | |
| - {{- with .matches }} | |
| matches: | |
| {{- toYaml . | nindent 8 }} | |
| {{- end }} | |
| {{- with .filters }} | |
| filters: | |
| {{- toYaml . | nindent 8 }} | |
| {{- end }} |
| {{- with .matches }} | ||
| - matches: | ||
| {{- toYaml . | nindent 8 }} | ||
| {{- end }} | ||
| {{- with .filters }} | ||
| filters: | ||
| {{- toYaml . | nindent 8 }} | ||
| {{- end }} |
Copilot
AI
Jan 7, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The template creates invalid HTTPRoute YAML when a rule has no matches defined. The '- matches:' line will be rendered without any content under it, resulting in malformed YAML. Add validation or restructure to only output the matches key when the list is non-empty.
| {{- with .matches }} | |
| - matches: | |
| {{- toYaml . | nindent 8 }} | |
| {{- end }} | |
| {{- with .filters }} | |
| filters: | |
| {{- toYaml . | nindent 8 }} | |
| {{- end }} | |
| - {{- with .matches }} | |
| matches: | |
| {{- toYaml . | nindent 8 }} | |
| {{- end }} | |
| {{- with .filters }} | |
| filters: | |
| {{- toYaml . | nindent 8 }} | |
| {{- end }} |














This pull request adds support for the Kubernetes Gateway API to all Truvami Helm charts (API, Bridge, Dashboard, and Decoder), providing a modern alternative to the traditional Ingress resource for routing external traffic. The changes introduce new configuration options for HTTPRoute resources, update documentation, and add the necessary Helm templates to generate Gateway API manifests. Ingress and Gateway API are now mutually exclusive options in these charts.
Gateway API Support:
httpRouteas an alternative toingressfor traffic routing. Each chart now includes atemplates/httproute.yamlfile that generates anHTTPRoutemanifest whenhttpRoute.enabledis set totrue. [1] [2] [3]values.yamlfiles in all charts to include a newhttpRoutesection with configurable options such asenabled,annotations,parentRefs,hostnames, andrules. This provides flexibility for customizing the Gateway API integration. [1] [2] [3]Documentation Updates:
README.mdfiles with detailed instructions on enabling and configuring Gateway API support, including migration steps from Ingress to Gateway API and example configurations. [1] [2] [3] [4]httpRouteconfiguration options for each chart. [1] [2] [3] [4]Helm Chart Template Improvements:
.gotmplfiles for each chart's README to ensure documentation is consistently generated and up-to-date with the chart's values and configuration options. [1] [2] [3] [4]