Skip to content

Add K8s Gateway API resources#177

Open
franksc wants to merge 12 commits intoAustralian-Imaging-Service:rcfrom
unsw-restech:gateway-api
Open

Add K8s Gateway API resources#177
franksc wants to merge 12 commits intoAustralian-Imaging-Service:rcfrom
unsw-restech:gateway-api

Conversation

@franksc
Copy link
Copy Markdown

@franksc franksc commented Dec 19, 2025

No description provided.

@franksc franksc changed the title Add K8s Gateway API resources (resolves #176) Add K8s Gateway API resources Dec 19, 2025
@markendr
Copy link
Copy Markdown
Contributor

markendr commented Mar 2, 2026

  • any reason for making it "gateway.service" rather than "gateway.infrastructure" ..?
  • best to use .Values.xx prefix on values settings to avoid ambiguous scope
  • add a "gateway.existingGatewayRefs" option or similar to allow gateway sharing among apps, don't provision gateway resource if provided, just set httproute gateway refs using provided refs
  • also need allowedRoutes.namespaces.from: All for shared gateway (ie in another namespace)
  • we currently provision http-to-https redirect listener with the hostname, i don't think it will work without hostname if there are multiple tls listeners with multiple hostnames

@markendr
Copy link
Copy Markdown
Contributor

markendr commented Mar 2, 2026

we also had to add httproute timeouts to allow large file downloads. could this be allowed with optional values ..?

--- a/apps/ais-xnat/httproute.yaml
+++ b/apps/ais-xnat/httproute.yaml
@@ -31,6 +31,9 @@ spec:
         - path:
             type: PathPrefix
             value: /
+      timeouts:
+        request: 10m
+        backendRequest: 10m
       backendRefs:

franksc added 6 commits March 10, 2026 13:10
specified
Create a no-hostname listener and HTTPRoute where no gateway.hosts
specified
- .gateway.tls -> .gateway.https
- Add .gateway.http, move .gateway.hosts under this hierarchy (aligns
with .gateway.https)
- .hosts entries can specify listenerName to create in Gateway,
reference in HTTPRoute
- .gateway.redirectHttpToHttps true/false (default false)
- gateway.createNoHostnameListenerAndRoute true/false (default false) to
optionally create no-hostname Gateway listener and HTTPRoute
listenersAllowedRoutesFromNamespaces (default 'Same')
@franksc
Copy link
Copy Markdown
Author

franksc commented Mar 15, 2026

I have implemented the above suggestions with this batch of commits.

Using an existing Gateway resource not managed by this chart should be accommodated with something like:

gateway:
  enabled: true
  createGateway: false
  gatewayName: [name of existing Gateway]
  gatewayNamespace: [namespace of existing Gateway]
  http:
    hosts:
      - host: xnat.example.com
        listenerName: [name of listener in existing Gateway]

TBD: probably split HTTPRoute stuff into a separate template file, flatten some repeated nested references

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