zoo.cloud overflowed ~110px at 390: it ran the brand-neutral cloud-web image at v1.2.1, which predates the responsive-header fix (nav collapses behind a hamburger below 900px, commit 2e633cd / v1.3.2). lux.cloud already runs v1.3.2 and reflows cleanly. Same white-label image, just the stale tag. Co-authored-by: Hanzo Dev <[email protected]>
68 lines
2.3 KiB
YAML
68 lines
2.3 KiB
YAML
---
|
|
# Zoo Cloud — Zoo white-label of the validators console (@luxfi/cloud, apps/web).
|
|
# The cloud-web image is brand-neutral and white-labels by HOSTNAME at runtime
|
|
# (src/lib/brand.ts): served at zoo.cloud it renders Zoo branding + Zoo chain
|
|
# data (api.zoo.ngo, chainId 200200, explore.zoo.network, Zoo ID / id.zoo.network).
|
|
# Lux is the default, so lux.cloud (lux-cloud/cloud, same image family) is
|
|
# untouched. Runs on lux-k8s behind the shared hanzo-ingress (LB 134.199.138.27);
|
|
# zoo.cloud apex A -> 134.199.138.27 (proxied) with the Pages custom-domain
|
|
# binding removed (the old Zoo Labs marketing site stays at zoo-cloud.pages.dev).
|
|
apiVersion: v1
|
|
kind: Namespace
|
|
metadata:
|
|
name: zoo-cloud
|
|
---
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: cloud
|
|
namespace: zoo-cloud
|
|
labels: { app: cloud, brand: zoo }
|
|
spec:
|
|
replicas: 2
|
|
selector: { matchLabels: { app: cloud } }
|
|
template:
|
|
metadata: { labels: { app: cloud, brand: zoo } }
|
|
spec:
|
|
containers:
|
|
- name: cloud
|
|
image: ghcr.io/luxfi/cloud-web:v1.3.2
|
|
imagePullPolicy: IfNotPresent
|
|
ports: [{ name: http, containerPort: 3000, protocol: TCP }]
|
|
readinessProbe: { httpGet: { path: /health, port: 3000 } }
|
|
livenessProbe: { httpGet: { path: /health, port: 3000 } }
|
|
resources:
|
|
requests: { cpu: 50m, memory: 64Mi }
|
|
limits: { cpu: 500m, memory: 256Mi }
|
|
---
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: cloud
|
|
namespace: zoo-cloud
|
|
labels: { app: cloud, brand: zoo }
|
|
spec:
|
|
type: ClusterIP
|
|
selector: { app: cloud }
|
|
ports: [{ name: http, port: 80, targetPort: 3000, protocol: TCP }]
|
|
---
|
|
apiVersion: networking.k8s.io/v1
|
|
kind: Ingress
|
|
metadata:
|
|
name: cloud
|
|
namespace: zoo-cloud
|
|
annotations:
|
|
cert-manager.io/cluster-issuer: letsencrypt-prod
|
|
traefik.ingress.kubernetes.io/router.entrypoints: websecure
|
|
traefik.ingress.kubernetes.io/router.tls: "true"
|
|
spec:
|
|
ingressClassName: ingress
|
|
rules:
|
|
- host: zoo.cloud
|
|
http: { paths: [{ path: /, pathType: Prefix, backend: { service: { name: cloud, port: { number: 80 } } } }] }
|
|
- host: www.zoo.cloud
|
|
http: { paths: [{ path: /, pathType: Prefix, backend: { service: { name: cloud, port: { number: 80 } } } }] }
|
|
tls:
|
|
- hosts: [zoo.cloud, www.zoo.cloud]
|
|
secretName: cloud-zoo-tls
|