Files
zeekayandHanzo AI 15131f6af4
CI/CD / render (push) Waiting to run
chain letters are lowercase
The primary-network chains answer to either case; one spelling beats two.
/v1/chain/c/rpc, /v1/chain/p, /v1/chain/x across the estate.

Co-authored-by: Hanzo AI <[email protected]>
2026-09-08 15:23:20 -07:00

116 lines
3.0 KiB
YAML

---
# Lux Go Indexer - Devnet C-Chain
# Replaces Explorer backend for devnet (chain ID 96367)
# Image: ghcr.io/luxfi/indexer:0.1.0 (Go 1.25, multi-arch)
# Uses shared lux-sql (devnet StatefulSet
apiVersion: apps/v1
kind: Deployment
metadata:
name: lux-indexer-devnet
namespace: lux-explorer
labels:
app: lux-indexer
network: devnet
spec:
replicas: 1
strategy:
type: RollingUpdate
rollingUpdate:
maxSurge: 1
maxUnavailable: 0
selector:
matchLabels:
app: lux-indexer
network: devnet
template:
metadata:
labels:
app: lux-indexer
network: devnet
spec:
imagePullSecrets:
- name: hanzo
- name: registry-hanzo
- name: ghcr-luxfi
terminationGracePeriodSeconds: 30
containers:
- name: indexer
image: ghcr.io/luxfi/indexer:0.1.0
imagePullPolicy: Always
args:
- "--chain=cchain"
- "--port=4000"
- "--poll=15s"
env:
- name: RPC_ENDPOINT
value: "http://luxd-headless.lux-devnet.svc.cluster.local:9650/v1/chain/c/rpc"
# SECURITY: Database credentials must come from KMS-backed Secret,
# not hardcoded in manifests. Using secretKeyRef for now; create
# the Secret via: kubectl create secret generic indexer-secrets-devnet \
# --from-literal=database-url='postgresql://...' -n lux-explorer
# Then populate from KMS.
- name: DATABASE_URL
valueFrom:
secretKeyRef:
name: indexer-secrets-devnet
key: database-url
- name: HTTP_PORT
value: "4000"
envFrom:
- configMapRef:
name: indexer-config-devnet
ports:
- name: http
containerPort: 4000
protocol: TCP
resources:
requests:
cpu: 100m
memory: 256Mi
limits:
cpu: 500m
memory: 1Gi
readinessProbe:
httpGet:
path: /health
port: http
initialDelaySeconds: 10
periodSeconds: 10
timeoutSeconds: 5
failureThreshold: 3
livenessProbe:
httpGet:
path: /health
port: http
initialDelaySeconds: 30
periodSeconds: 30
timeoutSeconds: 10
failureThreshold: 5
startupProbe:
httpGet:
path: /health
port: http
initialDelaySeconds: 5
periodSeconds: 5
timeoutSeconds: 5
failureThreshold: 30
---
apiVersion: v1
kind: Service
metadata:
name: lux-indexer-devnet
namespace: lux-explorer
labels:
app: lux-indexer
network: devnet
spec:
type: ClusterIP
selector:
app: lux-indexer
network: devnet
ports:
- name: http
port: 4000
targetPort: http
protocol: TCP