NVIDIA / NVIDIA/OpenShell

feat(helm): support agentgateway ingress

Open
#2,469 7 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

area:cluster state:stale test:e2e-kubernetes topic:compatibility
Dominant language
Rust
Stars
8.7k
Forks
1.3k
Avg merge
2d 11h
Merged PRs (30d)
253

Description

Problem Statement

OpenShell documents and tests Envoy Gateway as its Kubernetes Gateway API implementation. Operators using agentgateway lack a supported setup, and simply setting grpcRoute.gateway.className=agentgateway is unsafe: agentgateway names its generated Service after the Gateway, which collides with OpenShell's default openshell Service name.

Proposed Design

Keep the Helm chart controller-neutral and manage agentgateway separately as cluster infrastructure.

  • Document a production path that attaches OpenShell's GRPCRoute to a shared agentgateway Gateway.
  • Support a dedicated chart-created Gateway for development when it has a non-conflicting name.
  • Add an optional parent listener sectionName for shared Gateways.
  • Generalize Envoy-specific chart text without changing the existing eg default.
  • Add agentgateway values, setup tasks, troubleshooting guidance, and a Kubernetes E2E test that runs OpenShell CLI and sandbox operations through the agentgateway data plane.
  • Preserve the current TLS model: agentgateway terminates TLS and OpenShell validates OIDC bearer tokens.

Alternatives Considered

  • Documentation-only class override: rejected because of the Service name collision and lack of runtime coverage.
  • Bundling agentgateway with the OpenShell chart: rejected because cluster-scoped CRDs and controller lifecycle should remain platform-owned.
  • TLS/TCP passthrough: deferred because it loses gRPC-aware routing and expands the chart surface.

Agent Investigation

The existing Gateway and GRPCRoute templates are portable. Agentgateway supports both resources and HTTPS listeners, but its generated data-plane resources use the Gateway name. The recommended shared-Gateway model avoids that collision and keeps agentgateway-specific policy resources outside the OpenShell chart.

Checklist

  • I've reviewed existing issues and the architecture docs
  • This is a design proposal, not a "please build this" request

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the existing Helm Gateway and GRPCRoute templates, Envoy Gateway documentation and tests, and the Kubernetes E2E test entry points mentioned in the issue. Define the agentgateway values, shared or dedicated Gateway setup, sectionName support, documentation, troubleshooting, and CLI/sandbox E2E coverage; done means agentgateway routes work without the Service-name collision while the existing eg default remains unchanged.

Written by the indexing model from the issue text.

Assessment

Tech stack
helm, kubernetes
Domain
devops, infrastructure
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.