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]>
158 lines
4.8 KiB
YAML
158 lines
4.8 KiB
YAML
---
|
|
###############################################################################
|
|
# IngressRoutes: app chain EVM chain explorers (Mainnet)
|
|
# Each chain gets frontend SPA + per-brand API routing rules.
|
|
# TLS via hanzoai/ingress ACME certResolver with Cloudflare DNS challenge.
|
|
#
|
|
# NOTE: Must use hanzo.ai/v1alpha1 IngressRoute CRD (NOT standard K8s Ingress).
|
|
# lux-k8s uses hanzo.ai CRD group.
|
|
#
|
|
# DNS: *.lux.network wildcard A record -> 134.199.138.27 (lux-k8s hanzoai/ingress LB)
|
|
# DNS-only (not proxied).
|
|
# Cluster: lux-k8s (lux-k8s)
|
|
# Ingress: hanzo-ingress DaemonSet in lux-system namespace
|
|
#
|
|
# API backend: explorer-unified (ExternalName in lux-mainnet -> explorer-mainnet-v2
|
|
# in lux-explorer ns:8090). Unified Go explorer indexes every brand into per-slug
|
|
# SQLite; brand dispatch via /v1/indexer/{slug} prefix added by blockscout-prefix-{slug}
|
|
# Middleware.
|
|
#
|
|
# Domains per chain:
|
|
# Zoo: explore-zoo.lux.network + explore.zoo.network + explore.zoo.ngo
|
|
# Hanzo: explore-hanzo.lux.network + explore.hanzo.network + explore.hanzo.ai
|
|
# SPC: explore-spc.lux.network
|
|
# Pars: explore-pars.lux.network + explore.pars.network
|
|
###############################################################################
|
|
|
|
###############################################################################
|
|
# Zoo Explorer
|
|
###############################################################################
|
|
apiVersion: hanzo.ai/v1alpha1
|
|
kind: IngressRoute
|
|
metadata:
|
|
name: lux-explorer-zoo
|
|
namespace: lux-mainnet
|
|
labels:
|
|
app: lux-explorer
|
|
chain: zoo
|
|
network: mainnet
|
|
spec:
|
|
entryPoints:
|
|
- websecure
|
|
routes:
|
|
- kind: Rule
|
|
match: Host(`explore-zoo.lux.network`) || Host(`explore.zoo.network`) || Host(`explore.zoo.ngo`)
|
|
services:
|
|
- name: lux-frontend-zoo
|
|
port: 3000
|
|
- kind: Rule
|
|
match: Host(`api-explore-zoo.lux.network`) || Host(`api-explore.zoo.network`) || Host(`api-explore.zoo.ngo`)
|
|
middlewares:
|
|
- name: mainpage-rewrite
|
|
- name: blockscout-prefix-zoo
|
|
- name: cors-allow-all
|
|
services:
|
|
- name: explorer-unified
|
|
port: 8090
|
|
tls:
|
|
certResolver: letsencrypt
|
|
---
|
|
###############################################################################
|
|
# Hanzo Explorer
|
|
###############################################################################
|
|
apiVersion: hanzo.ai/v1alpha1
|
|
kind: IngressRoute
|
|
metadata:
|
|
name: lux-explorer-hanzo
|
|
namespace: lux-mainnet
|
|
labels:
|
|
app: lux-explorer
|
|
chain: hanzo
|
|
network: mainnet
|
|
spec:
|
|
entryPoints:
|
|
- websecure
|
|
routes:
|
|
- kind: Rule
|
|
match: Host(`explore-hanzo.lux.network`) || Host(`explore.hanzo.network`) || Host(`explore.hanzo.ai`)
|
|
services:
|
|
- name: lux-frontend-hanzo
|
|
port: 3000
|
|
- kind: Rule
|
|
match: Host(`api-explore-hanzo.lux.network`) || Host(`api-explore.hanzo.network`) || Host(`api-explore.hanzo.ai`)
|
|
middlewares:
|
|
- name: mainpage-rewrite
|
|
- name: blockscout-prefix-hanzo
|
|
- name: cors-allow-all
|
|
services:
|
|
- name: explorer-unified
|
|
port: 8090
|
|
tls:
|
|
certResolver: letsencrypt
|
|
---
|
|
###############################################################################
|
|
# SPC Explorer
|
|
###############################################################################
|
|
apiVersion: hanzo.ai/v1alpha1
|
|
kind: IngressRoute
|
|
metadata:
|
|
name: lux-explorer-spc
|
|
namespace: lux-mainnet
|
|
labels:
|
|
app: lux-explorer
|
|
chain: spc
|
|
network: mainnet
|
|
spec:
|
|
entryPoints:
|
|
- websecure
|
|
routes:
|
|
- kind: Rule
|
|
match: Host(`explore-spc.lux.network`)
|
|
services:
|
|
- name: lux-frontend-spc
|
|
port: 3000
|
|
- kind: Rule
|
|
match: Host(`api-explore-spc.lux.network`)
|
|
middlewares:
|
|
- name: mainpage-rewrite
|
|
- name: blockscout-prefix-spc
|
|
- name: cors-allow-all
|
|
services:
|
|
- name: explorer-unified
|
|
port: 8090
|
|
tls:
|
|
certResolver: letsencrypt
|
|
---
|
|
###############################################################################
|
|
# Pars Explorer
|
|
###############################################################################
|
|
apiVersion: hanzo.ai/v1alpha1
|
|
kind: IngressRoute
|
|
metadata:
|
|
name: lux-explorer-pars
|
|
namespace: lux-mainnet
|
|
labels:
|
|
app: lux-explorer
|
|
chain: pars
|
|
network: mainnet
|
|
spec:
|
|
entryPoints:
|
|
- websecure
|
|
routes:
|
|
- kind: Rule
|
|
match: Host(`explore-pars.lux.network`) || Host(`explore.pars.network`)
|
|
services:
|
|
- name: lux-frontend-pars
|
|
port: 3000
|
|
- kind: Rule
|
|
match: Host(`api-explore-pars.lux.network`) || Host(`api-explore.pars.network`)
|
|
middlewares:
|
|
- name: mainpage-rewrite
|
|
- name: blockscout-prefix-pars
|
|
- name: cors-allow-all
|
|
services:
|
|
- name: explorer-unified
|
|
port: 8090
|
|
tls:
|
|
certResolver: letsencrypt
|