- 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
65 lines
1.8 KiB
YAML
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
|