Skip to content

[all] added HTTPRoute to all charts with ingresses via Copilot#258

Merged
DanielRaapDev merged 28 commits into
mainfrom
SALI-7187_add_gateway_route
Feb 23, 2026
Merged

[all] added HTTPRoute to all charts with ingresses via Copilot#258
DanielRaapDev merged 28 commits into
mainfrom
SALI-7187_add_gateway_route

Conversation

@DanielRaapDev
Copy link
Copy Markdown
Member

@DanielRaapDev DanielRaapDev commented Feb 13, 2026

What Copilot (with Claude Sonnet 4.5) did to this prompt:

Extend all Helm charts which contain a Kubernetes Ingress resource, to also provide an optional HTTPRoute resource for the Gateway API.

Summary

I have successfully extended all 18 Helm charts that contain Kubernetes Ingress resources to also provide optional HTTPRoute resources for the Gateway API. Here's what was accomplished:

✅ Completed Tasks

HTTPRoute Templates Created:

•  Created httproute.yaml template files in 17 charts (1 chart already had it)
•  Each template follows the Gateway API v1 specification
•  Templates are conditionally rendered based on httproute.enabled flag
•  All templates properly reference backend services and use chart-specific labels

Values Configuration Added:

•  Added httproute configuration section to all 18 charts' values.yaml files
•  Standard configuration includes:
•  enabled: false (disabled by default for backward compatibility)
•  parentRefs: [] (Gateway references)
•  hostnames: [] (hostname filtering)
•  pathMatchType: PathPrefix (configurable path matching)
•  pathValue: / (path value)
•  annotations: {} (custom annotations)

Special Implementations:

•  sophora-image-access-service: Added support for multiple HTTPRoutes via extraHTTPRoute array
•  sophora-importer: Already had HTTPRoute support (verified it was complete)
•  sophora-server: Properly uses server's HTTP port configuration

📋 Charts Updated

1. o-neko ✅
2. o-neko-catnip ✅
3. sophora-admin-dashboard ✅
4. sophora-ai ✅
5. sophora-contentapi ✅
6. sophora-image-access-service ✅
7. sophora-image-ai ✅
8. sophora-importer ✅ (already existed)
9. sophora-indexing-service ✅
10. sophora-linkchecker ✅
11. sophora-media-finder ✅
12. sophora-metadata-supplier ✅
13. sophora-schema-docs ✅
14. sophora-seo-check ✅
15. sophora-server ✅
16. sophora-ugc ✅
17. sophora-webclient ✅
18. sophora-youtube-connector ✅

📄 Documentation

Created HTTPROUTE_CHANGES.md in the helm-charts repository root documenting:

•  Complete list of updated charts
•  Implementation details
•  Usage examples
•  Migration path for users

All changes are backward compatible - existing deployments will continue to work without modification. Users can now optionally enable HTTPRoute support by setting httproute.enabled: true and configuring the Gateway API parentRefs.


Additionally the chart versions were incremented.

Copy link
Copy Markdown
Contributor

Copilot AI left a 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 pull request adds HTTPRoute support for the Kubernetes Gateway API to all 18 Helm charts that currently use Ingress resources. The implementation is backward compatible, with HTTPRoute disabled by default, allowing users to optionally migrate from Ingress to the Gateway API.

Changes:

  • Added HTTPRoute template files to 17 charts (sophora-importer already had one, which was updated for consistency)
  • Added httpRoute configuration sections to all values.yaml files with matches/filters support
  • Bumped chart versions following semantic versioning (minor version increments)
  • Added a new Architecture Decision Record (ADR) for values documentation conventions
  • Sophora-server includes special support for gRPC via grpcHttproute

Reviewed changes

Copilot reviewed 75 out of 75 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
decisions/0002-values-documentation.md New ADR documenting the convention for commenting properties in values.yaml
HTTPROUTE_CHANGES.md Comprehensive documentation of all HTTPRoute additions across charts
charts/*/templates/httproute.yaml New HTTPRoute templates for Gateway API v1 support (17 charts)
charts/*/values.yaml Added httpRoute configuration sections with parentRefs, hostnames, matches, filters
charts/*/test-values.yaml Added test configurations enabling HTTPRoute with sample values
charts/*/Chart.yaml Version bumps and changelog annotations
charts/sophora-server/templates/grpc-httproute.yaml Special gRPC HTTPRoute template for sophora-server
charts/sophora-importer/templates/httproute.yaml Updated for consistency, maintains backward compatibility with rules field
charts/sophora-image-access-service/templates/httproute.yaml Support for multiple HTTPRoutes via extraHttpRoutes
charts/sophora-webclient/templates/ingress.yaml Fixed hardcoded port to use .Values.service.port

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread charts/o-neko-catnip/templates/httproute.yaml Outdated
Comment thread charts/sophora-image-access-service/templates/httproute.yaml Outdated
Comment thread decisions/0002-values-documentation.md Outdated
Comment thread HTTPROUTE_CHANGES.md Outdated
Comment thread charts/o-neko/templates/httproute.yaml Outdated
DanielRaapDev and others added 2 commits February 13, 2026 18:01
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
@DanielRaapDev
Copy link
Copy Markdown
Member Author

I replaced the initial values for pathMatchType and pathValue with matches and filters to be more flexible in configuring the HTTPRoute. This is inspired by the previous possibilities of the sophora-importer chart which is now stream-lined with the new chart extensions.

@DanielRaapDev
Copy link
Copy Markdown
Member Author

I added helm unittests for all httproute templates.

@DanielRaapDev DanielRaapDev merged commit 4e2cba2 into main Feb 23, 2026
2 checks passed
@DanielRaapDev DanielRaapDev deleted the SALI-7187_add_gateway_route branch February 23, 2026 10:11
@muffl0n
Copy link
Copy Markdown
Contributor

muffl0n commented May 29, 2026

sophora-image-access-service: Added support for multiple HTTPRoutes via extraHTTPRoute array

Imho wäre es schöner gewesen, einfach in jedem Chart eine Liste httpRoutes zu verwenden. Das hätte nicht nur das umständliche extraHttpRoutes gespart, es hätte sogar das httpRoutes.enabled und solche Konstrukte

{{ $allHTTPRoutes := .Values.extraHttpRoutes -}}
{{ if .Values.httpRoute.enabled -}}
{{ $allHTTPRoutes = prepend $allHTTPRoutes .Values.httpRoute -}}
{{ end -}}

überflüssig gemacht.

Außerdem wäre so jedes Chart von vornherein befähigt gewesen, mehr als eine Route zu haben.

@DanielRaapDev
Copy link
Copy Markdown
Member Author

Ja, das stimmt. Ich habe mich dann davon überzeugen lassen, dass es beim Ingress ja auch immer nur eine Resource ist. Aber da gibt es ja eine Liste von Hostsnamen... :/

@muffl0n
Copy link
Copy Markdown
Contributor

muffl0n commented May 29, 2026

dass es beim Ingress ja auch immer nur eine Resource ist.

Aber ja auch nicht immer. Es gibt ja einige Charts mit dieser extraIngress-Krücke. Und die müsste man bei jedem Chart nachträglich einbauen, wenn dort die Anforderung aufkommt.

Imho sollte man es jetzt einheitlich und zukunftssicher bauen, dann hat man zukünftig keinen Stress mehr.

Wir haben das hier so ähnlich gebaut: https://gitlab.com/ndrde/code/unified-sophora/sophora-deployments/-/tree/77a93bf55b03eae088d0adda7d4be2ea8b56ebea/charts/springboot-microservice

Allerdings mit einer Map, statt einer Liste. So kann man dann auch gleich einen Namen für die Route vergeben. Man kann sicherlich diskutieren, ob das die schönste Lösung ist.

@DanielRaapDev
Copy link
Copy Markdown
Member Author

Ich würde das als breaking change dann überall ändern. Bisher wird dieses Feature kaum verwendet.

In #276 habe ich damit angefangen. Das mit den Namen werden ich vermutlich noch übernehmen...

@muffl0n
Copy link
Copy Markdown
Contributor

muffl0n commented Jun 2, 2026

Sehr cool! Danke! 🫶

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

4 participants