mirror of
https://github.com/luxfi/work-board.git
synced 2026-09-24 00:24:57 +00:00
All four white-labels pinned to the single green shae498092(identical source tod9d3a0e— 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]>
33 lines
1.6 KiB
YAML
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
|