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

33 lines
1.6 KiB
YAML

# Traefik (hanzoai/ingress) @file route for work.hanzo.network.
#
# hanzo-k8s routes public hosts via Traefik's @file provider
# (--providers.file.directory=/etc/traefik/dynamic, ConfigMap hanzo/ingress-routes
# key routes.yaml) — exactly how api.hanzo.network is served (router
# api-hanzo-network -> service hanzod-rpc). TLS auto-issued by Traefik's built-in
# ACME resolver (certResolver: letsencrypt) via Cloudflare DNS-01. The host is
# grey (A 129.212.164.5, direct to the ingress LB) like api.hanzo.network.
#
# Merge into hanzo/ingress-routes — adds exactly two keys, leaves every existing
# router/service untouched:
# R=/tmp/hanzo-routes.yaml; C=do-sfo3-hanzo-k8s
# kubectl --context $C -n hanzo get cm ingress-routes -o jsonpath='{.data.routes\.yaml}' > $R
# yq -i '.http.routers.work-hanzo-network = {"entryPoints":["websecure"],"rule":"Host(`work.hanzo.network`)","service":"work-board","tls":{"certResolver":"letsencrypt"}}
# | .http.services.work-board = {"loadBalancer":{"passHostHeader":true,"servers":[{"url":"http://work-board.hanzo-mainnet.svc.cluster.local:80"}]}}' $R
# kubectl --context $C -n hanzo patch cm ingress-routes --type merge -p "$(jq -n --rawfile r $R '{data:{"routes.yaml":$r}}')"
# Traefik (--providers.file.watch=true) hot-reloads within ~60s and issues the cert.
http:
routers:
work-hanzo-network:
entryPoints:
- websecure
rule: Host(`work.hanzo.network`)
service: work-board
tls:
certResolver: letsencrypt
services:
work-board:
loadBalancer:
passHostHeader: true
servers:
- url: http://work-board.hanzo-mainnet.svc.cluster.local:80