Skip to content

feat: multi-brand build matrix + white-label support#6

Merged
hanzo-dev merged 2 commits intomainfrom
ci/arc-hanzo-consolidation
May 6, 2026
Merged

feat: multi-brand build matrix + white-label support#6
hanzo-dev merged 2 commits intomainfrom
ci/arc-hanzo-consolidation

Conversation

@hanzo-dev
Copy link
Copy Markdown
Member

Summary

  • Per-brand multi-arch image matrix (lux, hanzo, zoo, pars × amd64, arm64) on hanzo ARC runners — produces ghcr.io/luxfi/explore[-{brand}]
  • White-label brand detection (lib/white-label.ts) — hostname-based, no hardcoded brand strings
  • Per-brand env example files (.env.example.{lux,hanzo,zoo,pars,external}) for deploy operators
  • chainRegistry: add SPC + Pars Network (devnet) + chainId fields + buildWhiteLabelChain() helper
  • Dockerfile: NEXT_PUBLIC_BRAND build-arg

Test plan

  • CI matrix builds all 4 brands × 2 arches without QEMU
  • Multi-arch manifest published per brand
  • pnpm dev works locally with default lux brand

hanzo-dev added 2 commits May 5, 2026 20:50
Remove Liquidity Network chain entries (mainnet/testnet/devnet/localnet)
and LIQUIDITY_BRANDING constant from chainRegistry.ts. Lux explorer must
not register liquidity.io/satschel hostnames. Replace "Liquid EVM Explorer"
top-bar tagline with "Lux Explorer".
Build the same source four ways from one repo:

- ghcr.io/luxfi/explore         (lux brand, default)
- ghcr.io/luxfi/explore-hanzo   (hanzo brand)
- ghcr.io/luxfi/explore-zoo     (zoo brand)
- ghcr.io/luxfi/explore-pars    (pars brand)

Each is built for linux/amd64 + linux/arm64 in parallel on hanzo ARC
runners (no QEMU), then merged into a multi-arch manifest.

Brand selection at build time via NEXT_PUBLIC_BRAND, with all
brand-specific assets (logo, favicon, theme, IAM URL) loaded from
NEXT_PUBLIC_* env vars — no hardcoded brand strings in source.

External operators set NEXT_PUBLIC_BRAND=other and supply their own
NEXT_PUBLIC_* env vars (see .env.example.external). The repo carries
no third-party trademarks.

Files:
- lib/white-label.ts                             brand detection + helpers
- .env.example.{lux,hanzo,zoo,pars,external}     deploy templates
- .github/workflows/build-lux.yml                4-brand × 2-arch matrix
- Dockerfile                                     accept NEXT_PUBLIC_BRAND
- configs/app/chainRegistry.ts                   add SPC + Pars devnet,
                                                 chainId fields, white-label
                                                 chain builder
@hanzo-dev hanzo-dev merged commit 7617a66 into main May 6, 2026
0 of 11 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant