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

224 lines
7.0 KiB
YAML

---
# DEPRECATED — C-Chain is now indexed by the multi-chain Go binary
# `explorer-mainnet-v2` in this same lux-explorer namespace (the
# Deployment that the live `kubectl get pods` shows as serving
# explorer.lux.network). Kept only for kubectl apply -k compatibility
# during migration; do NOT update. Delete after rollout verified live.
# Old image: ghcr.io/luxfi/explorer:0.1.0 (Elixir fork)
apiVersion: apps/v1
kind: Deployment
metadata:
name: explorer-mainnet
namespace: lux-explorer
labels:
app: explorer-backend
chain: cchain
network: mainnet
spec:
replicas: 1
strategy:
type: RollingUpdate
rollingUpdate:
maxSurge: 1
maxUnavailable: 0
selector:
matchLabels:
app: explorer-backend
chain: cchain
network: mainnet
template:
metadata:
labels:
app: explorer-backend
chain: cchain
network: mainnet
spec:
imagePullSecrets:
- name: ghcr-luxfi
terminationGracePeriodSeconds: 60
initContainers:
- name: wait-for-db
image: ghcr.io/hanzoai/sql:0.1.0
command:
- sh
- -c
- |
until pg_isready -h lux-sql.lux.svc.cluster.local -p 5432 -U explorer; do
echo "Waiting for PostgreSQL..."
sleep 2
done
echo "PostgreSQL is ready"
resources:
requests:
cpu: 10m
memory: 16Mi
limits:
cpu: 50m
memory: 32Mi
containers:
- name: backend
image: ghcr.io/luxfi/explorer:0.1.0
imagePullPolicy: Always
command:
- sh
- -c
- |
bin/blockscout eval "Elixir.Explorer.ReleaseTasks.create_and_migrate()" && \
bin/blockscout start
ports:
- containerPort: 4000
name: http
env:
# Database
- name: DATABASE_URL
# REMOVED: moved to Secret
# value: "postgresql://explorer:[email protected]:5432/explorer_mainnet"
valueFrom:
secretKeyRef:
name: explorer-secrets-mainnet
key: database-url
# RPC
- name: ETHEREUM_JSONRPC_VARIANT
value: geth
- name: ETHEREUM_JSONRPC_HTTP_URL
value: "http://luxd-1.luxd-headless.lux-mainnet.svc.cluster.local:9630/v1/chain/c/rpc"
- name: ETHEREUM_JSONRPC_TRACE_URL
value: "http://luxd-1.luxd-headless.lux-mainnet.svc.cluster.local:9630/v1/chain/c/rpc"
- name: ETHEREUM_JSONRPC_WS_URL
value: "ws://luxd-1.luxd-headless.lux-mainnet.svc.cluster.local:9630/v1/chain/c/ws"
# Chain identity
- name: CHAIN_ID
value: "96369"
- name: COIN
value: LUX
- name: COIN_NAME
value: LUX
- name: SUBNETWORK
value: "LUX Network"
# API
- name: PORT
value: "4000"
- name: API_V2_ENABLED
value: "true"
- name: API_V1_READ_METHODS_DISABLED
value: "false"
- name: API_V1_WRITE_METHODS_DISABLED
value: "false"
- name: DISABLE_WEBAPP
value: "true"
- name: ADMIN_PANEL_ENABLED
value: "false"
# Database pool
- name: POOL_SIZE
value: "20"
- name: POOL_SIZE_API
value: "10"
- name: ECTO_USE_SSL
value: "false"
# Features
- name: DISABLE_MARKET
value: "true"
- name: ACCOUNT_ENABLED
value: "false"
- name: RE_CAPTCHA_DISABLED
value: "true"
- name: NFT_MEDIA_HANDLER_ENABLED
value: "false"
- name: DECODE_NOT_A_CONTRACT_CALLS
value: "true"
- name: INDEXER_DISABLE_TOKEN_INSTANCE_RETRY
value: "true"
# Indexer tuning
- name: FIRST_BLOCK
value: "0"
- name: TXS_STATS_DAYS_TO_COMPILE_AT_INIT
value: "10"
- name: COIN_BALANCE_HISTORY_DAYS
value: "90"
- name: HEART_BEAT_TIMEOUT
value: "30"
# Branding
- name: LOGO
value: "/images/lux_logo.svg"
- name: FOOTER_LOGO
value: "/images/lux_logo.svg"
# Security
- name: SECRET_KEY_BASE
# REMOVED: moved to Secret
# value: "56NtB48ear7+wMSf0IQuWDAAazhpb31qyc7GiyspBP2vh7t5zlCsF5QDv76chXeN"
valueFrom:
secretKeyRef:
name: explorer-secrets-mainnet
key: secret-key-base
# CORS - allow frontend
- name: API_RATE_LIMIT_DISABLED
value: "true"
# Lux EVM compatibility: tx hash index missing after state sync
- name: INDEXER_RECEIPTS_BY_BLOCK
value: "true"
- name: INDEXER_DISABLE_INTERNAL_TRANSACTIONS_FETCHER
value: "true"
- name: INDEXER_DISABLE_PENDING_TRANSACTIONS_FETCHER
value: "true"
# Microservices
- name: MICROSERVICE_SC_VERIFIER_URL
value: "http://sc-verifier-mainnet.lux-explorer.svc:8050"
- name: MICROSERVICE_SIG_PROVIDER_URL
value: "http://sig-provider-mainnet.lux-explorer.svc:8050"
- name: MICROSERVICE_VISUALIZE_SOL2UML_URL
value: "http://visualizer-mainnet.lux-explorer.svc:8050"
- name: MICROSERVICE_SC_VERIFIER_ENABLED
value: "true"
resources:
requests:
cpu: 500m
memory: 1Gi
limits:
cpu: "2"
memory: 4Gi
readinessProbe:
httpGet:
path: /api/v2/stats
port: 4000
initialDelaySeconds: 30
periodSeconds: 10
timeoutSeconds: 5
failureThreshold: 6
livenessProbe:
httpGet:
path: /api/v2/stats
port: 4000
initialDelaySeconds: 120
periodSeconds: 30
timeoutSeconds: 10
failureThreshold: 5
startupProbe:
httpGet:
path: /api/v2/stats
port: 4000
initialDelaySeconds: 30
periodSeconds: 10
timeoutSeconds: 5
failureThreshold: 30
---
apiVersion: v1
kind: Service
metadata:
name: explorer-mainnet
namespace: lux-explorer
labels:
app: explorer-backend
chain: cchain
network: mainnet
spec:
type: ClusterIP
selector:
app: explorer-backend
chain: cchain
network: mainnet
ports:
- name: http
port: 4000
targetPort: 4000
protocol: TCP