Files
universe/k8s/lux-mainnet/rpc-brand-ingress.yaml

54 lines
2.1 KiB
YAML

---
# rpc.hanzo.network + rpc.zoo.network — bare-root JSON-RPC for the two
# primary-network-validating L2s on the Lux primary network.
#
# Hanzo (chainId 36963 / 0x9063) and Zoo (chainId 200200 / 0x30e08) are L2s
# whose blocks are validated by the existing Lux primary-network validator
# fleet (luxd in lux-mainnet) — no separate validator set, no
# ConvertNetworkToL1Tx. Their blockchains live on the Lux P-Chain:
# hanzo blockchainID RHuUsLWW5u6rmMSNKxgkWzXjDxx7fThi8Emw42HpMJTrVZNKd
# zoo blockchainID 4HBM17czc7zFQMPrd9CVZ6YbABm1jecf99iwvFw8Gbo6gFaU3
# luxd registers chain aliases (see chain-aliases.yaml) so the EVM RPC is
# reachable at /v1/chain/{hanzo,zoo}/rpc on the shared Gateway
# (api-gateway-gateway:80 -> luxd-headless:9630).
#
# CANONICAL PATTERN (mirrors api-brand-root-mainnet): the shared
# api-mainnet IngressRoute already matches Host(rpc.{hanzo,zoo}.network) and
# proxies the FULL /v1/* surface to the gateway with passHostHeader:false.
# For wallets/SDKs that POST to the bare https://rpc.<brand>.network root
# (path "/"), this higher-priority (10000) IngressRoute matches Path(`/`)
# and applies the lux-system rpc-rewrite-<brand> middleware (replacePath ->
# /v1/chain/<brand>/rpc). Full /v1/* paths do NOT match Path(`/`) and fall
# through to api-mainnet untouched.
#
# TLS: certResolver letsencrypt (DNS-01 via Cloudflare) issues the per-host
# cert, same as api-mainnet. (cert-manager also holds rpc-<brand>-network-tls
# from the earlier Ingress attempt; either path yields a valid cert.)
apiVersion: hanzo.ai/v1alpha1
kind: IngressRoute
metadata:
name: rpc-brand-root-mainnet
namespace: lux-mainnet
spec:
entryPoints:
- websecure
routes:
- match: Host(`rpc.hanzo.network`) && Path(`/`)
priority: 10000
middlewares:
- name: rpc-rewrite-hanzo
namespace: lux-system
services:
- name: api-gateway-gateway
port: 80
- match: Host(`rpc.zoo.network`) && Path(`/`)
priority: 10000
middlewares:
- name: rpc-rewrite-zoo
namespace: lux-system
services:
- name: api-gateway-gateway
port: 80
tls:
certResolver: letsencrypt