CI/CD / render (push) Waiting to run
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]>
201 lines
5.9 KiB
YAML
201 lines
5.9 KiB
YAML
---
|
|
# DEPRECATED — C-Chain is now indexed by the multi-chain Go binary at
|
|
# `explorer-chains-devnet.yaml` (slug=cchain). Kept only for kubectl
|
|
# apply -k compatibility during migration; do NOT update. Delete after
|
|
# the multi-chain rollout is verified live.
|
|
# Old image: ghcr.io/luxfi/explorer:0.1.0 (Elixir fork)
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: explorer-devnet
|
|
namespace: lux-devnet
|
|
labels:
|
|
app: explorer-backend
|
|
chain: cchain
|
|
network: devnet
|
|
spec:
|
|
replicas: 1
|
|
strategy:
|
|
type: Recreate
|
|
selector:
|
|
matchLabels:
|
|
app: explorer-backend
|
|
chain: cchain
|
|
network: devnet
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: explorer-backend
|
|
chain: cchain
|
|
network: devnet
|
|
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
|
|
value: "postgresql://explorer:[email protected]:5432/explorer_devnet"
|
|
# RPC
|
|
- name: ETHEREUM_JSONRPC_VARIANT
|
|
value: geth
|
|
- name: ETHEREUM_JSONRPC_HTTP_URL
|
|
value: "http://luxd-headless.lux-devnet.svc.cluster.local:9650/v1/chain/c/rpc"
|
|
- name: ETHEREUM_JSONRPC_TRACE_URL
|
|
value: "http://luxd-headless.lux-devnet.svc.cluster.local:9650/v1/chain/c/rpc"
|
|
- name: ETHEREUM_JSONRPC_WS_URL
|
|
value: "ws://luxd-headless.lux-devnet.svc.cluster.local:9650/v1/chain/c/ws"
|
|
# Chain identity
|
|
- name: CHAIN_ID
|
|
value: "96367"
|
|
- name: COIN
|
|
value: LUX
|
|
- name: COIN_NAME
|
|
value: LUX
|
|
- name: SUBNETWORK
|
|
value: "LUX Devnet"
|
|
# 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
|
|
value: "56NtB48ear7+wMSf0IQuWDAAazhpb31qyc7GiyspBP2vh7t5zlCsF5QDv76chXeN"
|
|
# CORS - allow frontend
|
|
- name: API_RATE_LIMIT_DISABLED
|
|
value: "true"
|
|
# Lux EVM compatibility
|
|
- name: INDEXER_RECEIPTS_BY_BLOCK
|
|
value: "true"
|
|
- name: INDEXER_DISABLE_INTERNAL_TRANSACTIONS_FETCHER
|
|
value: "true"
|
|
- name: INDEXER_DISABLE_PENDING_TRANSACTIONS_FETCHER
|
|
value: "true"
|
|
resources:
|
|
requests:
|
|
cpu: 500m
|
|
memory: 1Gi
|
|
limits:
|
|
cpu: "2"
|
|
memory: 6Gi
|
|
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-devnet
|
|
namespace: lux-devnet
|
|
labels:
|
|
app: explorer-backend
|
|
chain: cchain
|
|
network: devnet
|
|
spec:
|
|
type: ClusterIP
|
|
selector:
|
|
app: explorer-backend
|
|
chain: cchain
|
|
network: devnet
|
|
ports:
|
|
- name: http
|
|
port: 4000
|
|
targetPort: 4000
|
|
protocol: TCP
|