Files
zeekayandHanzo Dev 2691d201c4 deploy: roll all 4 work-board surfaces to e498092 + stand up lux & hanzo
All four white-labels pinned to the single green sha e498092 (identical source to
d9d3a0e — only the CI matrix changed):
  zoo   sha-e498092    work.zoo.network    (zoo-mainnet / zoo-k8s, @file)
  pars  pars-e498092   work.pars.network   (pars / pars-k8s, @file)
  lux   lux-e498092    work.lux.network    (lux-mainnet / lux-k8s, IngressRoute)
  hanzo hanzo-e498092  work.hanzo.network  (hanzo-mainnet / hanzo-k8s, @file)

lux-k8s's public ingress reads the kubernetescrd provider (Traefik IngressRoute,
group hanzo.ai/v1alpha1), not @file, so work.lux.network mirrors api.lux.network
(certResolver letsencrypt, Cloudflare-proxied). hanzo mirrors api.hanzo.network
(@file router, certResolver letsencrypt via DNS-01, grey). One brand per image;
zero cross-brand leak.

Co-authored-by: Hanzo Dev <[email protected]>
2026-07-17 22:41:41 -07:00

34 lines
1.2 KiB
YAML

# Traefik (hanzoai/ingress) route for work.lux.network.
#
# lux-k8s's public ingress (lux-system/hanzo-ingress DaemonSet, LB 134.199.138.27)
# routes via the kubernetescrd provider — a Traefik IngressRoute CRD (group
# hanzo.ai/v1alpha1) — NOT the @file provider that zoo/pars use, and NOT a
# Kubernetes Ingress. api.lux.network is served exactly this way
# (lux-mainnet/api-mainnet). This is still hanzoai/ingress (Traefik); it is the
# provider this cluster's public ingress actually reads.
#
# TLS: Traefik's built-in ACME resolver (certResolver: letsencrypt). The host is
# Cloudflare-proxied (orange; A 134.199.138.27, zone in Full mode) exactly like
# api.lux.network, so the edge presents Cloudflare Universal SSL for *.lux.network.
#
# Apply: kubectl --context do-sfo3-lux-k8s apply -f k8s/lux/route.yaml
apiVersion: hanzo.ai/v1alpha1
kind: IngressRoute
metadata:
name: work-mainnet
namespace: lux-mainnet
labels:
app: work-board
spec:
entryPoints:
- websecure
routes:
- kind: Rule
match: Host(`work.lux.network`)
services:
- name: work-board
port: 80
passHostHeader: true
tls:
certResolver: letsencrypt