Conversation
…stname pattern
Replace baseDomain/hostnames CRD fields with mode-derived route
generation. The Gateway owns the protocol topology — deployments
just attach to it.
Key changes:
- Remove Hostnames, BaseDomain from GatewayRouteConfig (CRD simplification)
- Merge evm-rpc + evm-ws into single "evm" listener (industry standard)
- Derive listeners from node mode via NodePortsForMode():
full/archive → evm, rpc, rest, grpc (4 routes)
validator → none (no public traffic)
- Hostnames follow {deployment}.{protocol}.{domain} pattern
- Add SEI_GATEWAY_DOMAIN platform env var for hostname construction
- Gateway config on CRD just needs to exist (non-nil) to enable routing
Example: SeiNodeDeployment "pacific-1" with domain "prod.platform.sei.io":
pacific-1.evm.prod.platform.sei.io → :8545
pacific-1.rpc.prod.platform.sei.io → :26657
pacific-1.rest.prod.platform.sei.io → :1317
pacific-1.grpc.prod.platform.sei.io → :9090
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
bdchatham
commented
Apr 9, 2026
bdchatham
commented
Apr 9, 2026
Address PR review feedback:
- Routes are now always generated when networking is configured and the
node mode has public ports. The gateway field is only needed for
custom annotations on HTTPRoutes.
- Remove CEL validation requiring gateway when service is configured
- Remove gateway: {} from sample manifest (no longer needed)
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
Replace
baseDomain/hostnamesCRD fields with mode-derived route generation. The Gateway owns the protocol topology — deployments just attach to it.What Changed
CRD simplification —
GatewayRouteConfigreduced to justannotations. No morebaseDomainorhostnamesfields. Gateway config just needs to exist (non-nil) to enable routing.EVM merge —
evm-rpcandevm-wsconsolidated into singleevmlistener. Envoy handles WebSocket upgrade natively. Matches industry standard (Alchemy, Infura, QuickNode all use one URL for HTTP + WS).Mode-derived routes — listeners determined by
NodePortsForMode():evm,rpc,rest,grpcHostname pattern —
{deployment}.{protocol}.{domain}:New platform env var —
SEI_GATEWAY_DOMAIN(required) for hostname construction.Why
rpc) were conflating with protocol names in subdomainsSee design rationale:
SeiKnowledgeBase/memories/node-configuration/networking-design-rationale.mdTest plan
make testpassesmake lintpasses (0 issues)make manifests generateproduces clean CRDs🤖 Generated with Claude Code