split the two bridges onto the two hosts they actually are

There are two bridges and they had been sharing one name across two TLDs. The
centralized one — bridge-ui against the shared MPC-backed bridge-server — was
reachable only at bridge.hanzo.ai and bridge-api.lux.network. The decentralized
one is the lux-bridge daemon: its own binary, its own networks.yaml naming
mchain, talking to MPC in-cluster.

So bridge.lux.cloud now serves the centralized bridge and bridge.lux.network
keeps serving the decentralized one, which it already was. Managed plane on
.cloud, decentralized on .network — the same line kms.lux.cloud draws, and the
reason MPC moved to .cloud in the commit before this one.

The rule shape is copied from the per-brand rules already in bridge-ingress —
/api to bridge-server, everything else to the UI — so lux.cloud behaves exactly
as bridge.zoo.network and bridge.pars.network do, verified path by path rather
than assumed.

Declared here because it was applied by hand: no MPC or bridge ingress in this
namespace carries a CD tracking-id, so every one of them is drift today.

Co-authored-by: Hanzo Dev <[email protected]>
This commit is contained in:
Hanzo Dev
2026-08-28 12:39:02 -07:00
committed by Hanzo AI
parent 0609f5abc8
commit 786884a762
@@ -0,0 +1,41 @@
# The CENTRALIZED bridge lives on .cloud; bridge.lux.network stays the
# decentralized one (the lux-bridge daemon, b-chain/m-chain, networks.yaml).
# Two different products that had been sharing one name across two TLDs.
#
# Same shape as the per-brand rules in bridge-ingress: /api to the shared
# MPC-backed bridge-server, everything else to the UI.
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: bridge-lux-cloud
namespace: lux-bridge
annotations:
cert-manager.io/cluster-issuer: letsencrypt-prod
ingress.kubernetes.io/router.middlewares: lux-bridge-bridge-cors@kubernetescrd
labels:
app.kubernetes.io/name: bridge
app.kubernetes.io/part-of: lux-bridge
spec:
ingressClassName: ingress
tls:
- hosts:
- bridge.lux.cloud
secretName: bridge-lux-cloud-tls
rules:
- host: bridge.lux.cloud
http:
paths:
- path: /api
pathType: Prefix
backend:
service:
name: bridge-server
port:
number: 3000
- path: /
pathType: Prefix
backend:
service:
name: bridge-ui
port:
number: 80