Skip to content

chore(helm): evaluate application-listener Gateway API configuration #5075

Open

Description

@TaylorMutch

User Story

We are validating RFC 0017 on Kubernetes with the reference sandbox proxy and a separate example HTTPRoute controller. We need a clear way to configure the application ingress Gateway independently of the OpenShell control API Gateway.

Description

Examine Helm support for an application-listener-specific Kubernetes Gateway API frontend. The current chart's grpcRoute.gateway settings configure the control API's GRPCRoute and optional Gateway. Enabling the supervisor application listener does not configure an application ingress Gateway or its wildcard listener.

Decide which chart or documented integration should own this bootstrap configuration, and whether optional chart-managed application Gateway resources are useful alongside a separately managed Gateway. Keep application traffic directed to a discovery consumer or discovered supervisor endpoints. Keep dynamic per-service reconciliation outside the compute driver and preserve discovery as the integration boundary.

Cover both supported shapes:

  • TLS passthrough to the reference openshell-sandbox-proxy, using a static wildcard route and supervisor TLS termination.
  • HTTPS termination at an operator-managed Gateway, with an external discovery consumer reconciling HTTPRoutes and validated TLS backends to supervisor listeners.

This work examines deployment configuration. It does not promote the example Kubernetes controller to production or require bundling it into the OpenShell chart.

Context

Suggested UX

Illustrative configuration for discussion; field names and the owning chart remain to be decided:

applicationIngress:
  gateway:
    create: false
    name: applications
    namespace: ingress
    sectionName: apps

An opt-in managed Gateway option, if selected, should have its own application listener/TLS settings and preserve platform-managed Gateway attachment. Document DNS, certificate, source-range, and reserved-address prerequisites without assuming a particular infrastructure provider.

Definition of Done

  • Record whether OpenShell's chart, the optional proxy chart, or documented external manifests should own application Gateway bootstrap resources.
  • Define how operators select a separately managed Gateway and application listener independently of grpcRoute.gateway.
  • Evaluate optional chart-owned application Gateways and safe defaults when application ingress is disabled.
  • Describe both proxy TLS passthrough and external HTTPRoute-controller integration, including TLS trust and DNS responsibilities.
  • Ensure the proposed flow does not relay application payloads through the OpenShell control API.
  • Identify follow-up implementation, Helm rendering, documentation, and Kubernetes E2E coverage.

Activity

  1. jyotir07 commented on Oct 30, 2026

    @jyotir07

    Hey! I'd like to take this up. I'm planning to first evaluate the two deployment models (TLS passthrough and HTTPS termination), along with Gateway ownership and how application ingress should remain independent of the control-plane Gateway.

    I'll also go through RFC 0017 and the existing Helm implementation to put together a concrete proposal before moving into implementation.

    Would it be okay if I took ownership of this issue? Happy to work on the design and follow it up with the Helm changes once the approach is aligned.

  2. TaylorMutch commented on Oct 30, 2026

    @TaylorMutch
    CollaboratorAuthor

    Hi @jyotir07 , thank you for the interest but I am currently working on this as part of a stack of PRs. This is created as a follow up after that lands. You can look into #4936 if that is of interested.

  3. self-assigned this
    on Oct 30, 2026
  4. jyotir07 commented on Oct 30, 2026

    @jyotir07

    Got it @TaylorMutch thanks for clarifying! I'll take a look at #4936 and see where I can help. Appreciate the direction!

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

Metadata

Metadata

Assignees

Labels

state:acceptedA maintainer decided OpenShell should pursue this issue

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions