Files
universe/k8s/lux-explorer/explorer-mainnet-v2.yaml
zeekayandHanzo Dev 425b96f66e the cluster is named, not addressed by a gone account
Every provenance line and manifest still named a DigitalOcean context, and
the ARC values described a pool that died with it. A cluster gets a name
here; the address it answers on belongs to the private record.

Co-authored-by: Hanzo Dev <[email protected]>
2026-09-16 16:15:33 -07:00

196 lines
5.0 KiB
YAML

---
###############################################################################
# Explorer v2 - Mainnet (all chains)
# Image: ghcr.io/luxfi/indexer:main (Go, SQLite, embedded frontend)
# Replaces: Blockscout backends + PostgreSQL + Graph Node
# Cluster: lux-k8s (lux-k8s)
#
# Single binary indexes all chains, serves explorer API + embedded frontend.
# SQLite WAL with PQ encrypted streaming backups to S3.
###############################################################################
apiVersion: v1
kind: ConfigMap
metadata:
name: explorer-config-mainnet-v2
namespace: lux-explorer
labels:
app: explorer-v2
network: mainnet
data:
chains.yaml: |
data_dir: /data
http_addr: :8090
chains:
- slug: cchain
name: Lux C-Chain
chain_id: 96369
type: evm
rpc: http://luxd-0.luxd-headless.lux-mainnet.svc:9630/v1/chain/c/rpc
coin: LUX
enabled: true
default: true
- slug: zoo
name: Zoo
chain_id: 200200
type: evm
rpc: http://luxd-0.luxd-headless.lux-mainnet.svc:9630/v1/chain/Zoo/rpc
coin: ZOO
enabled: true
- slug: hanzo
name: Hanzo AI
chain_id: 36963
type: evm
rpc: http://luxd-0.luxd-headless.lux-mainnet.svc:9630/v1/chain/Hanzo/rpc
coin: AI
enabled: true
- slug: spc
name: SPC
chain_id: 36911
type: evm
rpc: http://luxd-0.luxd-headless.lux-mainnet.svc:9630/v1/chain/SPC/rpc
coin: SPC
enabled: true
- slug: pars
name: Pars
chain_id: 494949
type: evm
rpc: http://luxd-0.luxd-headless.lux-mainnet.svc:9630/v1/chain/Pars/rpc
coin: PARS
enabled: true
- slug: xchain
name: X-Chain
type: dag
rpc: http://luxd-0.luxd-headless.lux-mainnet.svc:9630/v1/chain/x
coin: LUX
enabled: true
- slug: pchain
name: P-Chain
type: linear
rpc: http://luxd-0.luxd-headless.lux-mainnet.svc:9630/v1/chain/p
coin: LUX
enabled: true
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: explorer-data-mainnet-v2
namespace: lux-explorer
labels:
app: explorer-v2
network: mainnet
spec:
accessModes: [ReadWriteOnce]
storageClassName: do-block-storage
resources:
requests:
storage: 50Gi
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: explorer-mainnet-v2
namespace: lux-explorer
labels:
app: explorer-v2
network: mainnet
spec:
replicas: 1
strategy:
type: Recreate
selector:
matchLabels:
app: explorer-v2
network: mainnet
template:
metadata:
labels:
app: explorer-v2
network: mainnet
spec:
securityContext:
runAsUser: 65532
runAsNonRoot: true
fsGroup: 65532
imagePullSecrets:
- name: ghcr-luxfi
terminationGracePeriodSeconds: 30
containers:
- name: explorer
image: ghcr.io/luxfi/indexer:1.4.4
args:
- --config=/etc/explorer/chains.yaml
ports:
- name: http
containerPort: 8090
env:
- name: DATA_DIR
value: /data
- name: HTTP_ADDR
value: ":8090"
- name: LUX_RPC
value: http://luxd-0.luxd-headless.lux-mainnet.svc:9630
- name: REPLICATE_S3_ENDPOINT
valueFrom:
secretKeyRef:
name: explorer-s3
key: endpoint
optional: true
- name: REPLICATE_S3_BUCKET
value: explorer-backups
- name: REPLICATE_S3_PATH
value: mainnet
- name: REPLICATE_AGE_RECIPIENT
valueFrom:
secretKeyRef:
name: explorer-age
key: recipient
optional: true
volumeMounts:
- name: data
mountPath: /data
- name: config
mountPath: /etc/explorer
resources:
requests:
memory: 512Mi
cpu: 500m
limits:
memory: 4Gi
cpu: 4
livenessProbe:
httpGet:
path: /health
port: http
initialDelaySeconds: 10
periodSeconds: 30
readinessProbe:
httpGet:
path: /health
port: http
initialDelaySeconds: 5
periodSeconds: 10
volumes:
- name: data
persistentVolumeClaim:
claimName: explorer-data-mainnet-v2
- name: config
configMap:
name: explorer-config-mainnet-v2
---
apiVersion: v1
kind: Service
metadata:
name: explorer-mainnet-v2
namespace: lux-explorer
labels:
app: explorer-v2
network: mainnet
spec:
selector:
app: explorer-v2
network: mainnet
ports:
- name: http
port: 8090
targetPort: http