Files
zeekayandHanzo Dev b5fa0f6f52 fix(devnet,testnet): serve /v1 off svc/luxd, and take /ext out of the gateway CRs
Two things stood between the committed /ext removal (0a5bcc1) and it being
safe to apply.

1. The devnet gateway config pointed every backend at
   http://luxd-headless.lux-devnet.svc:9650. That service sets
   publishNotReadyAddresses: true, so its endpoints list all five luxd pods
   regardless of readiness -- measured right now: svc/luxd-headless ready=5
   notReady=0 against svc/luxd ready=3 notReady=2, for the same five pods.
   Applying the file as committed would have moved public devnet RPC onto a
   pool that is 40% nodes whose C-Chain has not initialised. The live CM had
   already been corrected by hand to svc/luxd; that correction is now in the
   file, with a comment so it does not get reverted again.

   Testnet was already on svc/luxd.lux-testnet.svc:9640 and is unchanged.

2. gateways.lux.cloud/api-gateway in lux-devnet and lux-testnet still carried
   eight /ext/bc/<chain>/rpc customRoutes each, so the /ext surface would come
   back the moment lux-operator is scaled up. 594413f converted the manifests
   to /v1 but they were never applied -- live CRs still read /ext. Same
   headless-service fix applied to their backends. lux-mainnet's CR has no
   customRoutes at all, verified.

Also drop kubectl.kubernetes.io/last-applied-configuration from the three
Gateway manifests. It is a kubectl artifact, never source, and the copies
checked in still embedded the stale /ext spec.

Config only. The devnet CM label block claiming managed-by: lux-operator is
dropped too: the live CM has no labels and no ownerReferences, nothing
reconciles it, and lux-operator is 0/0.

Co-authored-by: Hanzo Dev <[email protected]>
2026-07-27 19:00:53 -07:00

45 lines
983 B
YAML

apiVersion: lux.cloud/v1
kind: Gateway
metadata:
annotations:
lux.network/migrated-from: luxgateways.lux.network/api-gateway
lux.network/migration-date: "2026-06-18T00:00:00Z"
reconcile-at: "2026-03-02T06:44:34Z"
labels:
app.kubernetes.io/part-of: lux-network
lux.network/network: mainnet
name: api-gateway
namespace: lux-mainnet
spec:
autoRoutes: true
cors:
allowedHeaders:
- Content-Type
- Authorization
allowedMethods:
- GET
- POST
- OPTIONS
allowedOrigins:
- https://lux.network
- https://explorer.lux.network
- https://lux.exchange
explorerRefs:
- explorer
host: api.lux.network
image:
repository: ghcr.io/luxfi/gateway
tag: v0.1.0
indexerRefs:
- lux-mainnet-indexer
networkRef: luxd
port: 8080
rateLimit:
burst: 400
requestsPerSecond: 200
replicas: 3
tls:
certManager: true
issuer: letsencrypt-prod
secretName: api-lux-network-tls