Files
zeekay 9a2b75d730 cdn: assets.lux.network + cdn.lux.network on lux-k8s
- assets: ingress → in-cluster S3 (bucket lux-assets, anonymous download,
  31.7k objects mirrored from luxfi/assets) via hanzo.ai Middleware addPrefix.
  GitHub throttles anonymous git from DC IPs, so no runtime clones.
- cdn: ghcr.io/luxfi/cdn static export (hanzoai/static base)
- dns: cdn 100::-blackhole → A 134.199.138.27 proxied; assets vercel
  (DEPLOYMENT_DISABLED, 402) → A 134.199.138.27 proxied
- NOTE: hanzoai/ingress parses ingress.kubernetes.io/* annotations —
  traefik.ingress.kubernetes.io/* is silently ignored by the fork
2026-06-11 10:20:54 -07:00

65 lines
1.8 KiB
YAML

# assets.lux.network — the Lux asset registry (luxfi/assets, trustwallet-style:
# blockchains/<chain>/assets/<addr>/logo.png, 15.8k icons / 184 chains).
#
# Serving model: objects live in the in-cluster S3 (lux-system/s3) bucket
# `lux-assets` with anonymous-download policy; the ingress adds the bucket
# prefix so public paths mirror the repo layout 1:1. Cloudflare proxies +
# caches in front. Refresh = `mc mirror blockchains dapps` from a fresh
# luxfi/assets checkout (GitHub anonymous git is throttled from DC IPs, so
# pods never clone at runtime).
---
apiVersion: hanzo.ai/v1alpha1
kind: Middleware
metadata:
name: lux-assets-bucket-prefix
namespace: hanzo
spec:
addPrefix:
prefix: /lux-assets
---
apiVersion: v1
kind: Service
metadata:
name: lux-assets
namespace: hanzo
labels:
app: lux-assets
app.kubernetes.io/managed-by: lux-universe
app.kubernetes.io/part-of: lux-cdn
spec:
type: ExternalName
externalName: s3.lux-system.svc.cluster.local
ports:
- { name: http, port: 9000 }
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: lux-assets
namespace: hanzo
labels:
app.kubernetes.io/managed-by: lux-universe
app.kubernetes.io/part-of: lux-cdn
annotations:
cert-manager.io/cluster-issuer: letsencrypt-prod
ingress.kubernetes.io/router.entrypoints: web,websecure
ingress.kubernetes.io/router.tls: "true"
ingress.kubernetes.io/router.middlewares: hanzo-lux-assets-bucket-prefix@kubernetescrd
spec:
ingressClassName: ingress
tls:
- hosts:
- assets.lux.network
secretName: lux-assets-tls
rules:
- host: assets.lux.network
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: lux-assets
port:
number: 9000