feat: add HTTPS support via Gateway sectionName#68
Closed
Conversation
Add SEI_GATEWAY_SECTION_NAME platform env var that targets a specific Gateway listener (e.g. "https") in HTTPRoute parentRefs. When set, all generated HTTPRoutes include sectionName in their parentRef, directing traffic through the HTTPS listener on the shared Gateway. When empty (default), no sectionName is set and routes attach to all compatible listeners — preserving backward compatibility. No CRD changes — TLS is the Gateway's responsibility, not the per-deployment configuration. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Add
SEI_GATEWAY_SECTION_NAMEplatform env var so HTTPRoute parentRefs can target a specific Gateway listener (e.g., the HTTPS listener).How It Works
In the Gateway API model, TLS termination is configured on the Gateway resource's listeners, not on HTTPRoutes. An HTTPRoute attaches to a listener via
parentRef.sectionName. WhenSEI_GATEWAY_SECTION_NAMEis set (e.g.,"https"), all generated HTTPRoutes include this in their parentRef, directing traffic through the HTTPS listener.Changes
internal/platform/platform.go— addGatewaySectionNamefield (optional, not inValidate())cmd/main.go— readSEI_GATEWAY_SECTION_NAMEenv varinternal/controller/nodedeployment/controller.go— add field to reconciler structinternal/controller/nodedeployment/networking.go— pass sectionName through togenerateHTTPRoute, conditionally include in parentRefNo CRD changes. TLS is the Gateway's responsibility.
Test plan
make testpassesmake lintpasses (0 issues)SEI_GATEWAY_SECTION_NAME=https🤖 Generated with Claude Code