feat: separate Z Ecosystem onto zblockchainsystem.com
Some checks failed
CI/CD Pipeline / Solidity Contracts (push) Failing after 1m16s
CI/CD Pipeline / Security Scanning (push) Successful in 2m52s
CI/CD Pipeline / Lint and Format (push) Failing after 46s
CI/CD Pipeline / Terraform Validation (push) Failing after 26s
CI/CD Pipeline / Kubernetes Validation (push) Successful in 28s
Deploy ChainID 138 / Deploy ChainID 138 (push) Failing after 45s
HYBX OMNL TypeScript & anchor / token-aggregation build + reconcile artifact (push) Failing after 20s
Validation / validate-genesis (push) Successful in 32s
Validation / validate-terraform (push) Failing after 30s
Validation / validate-kubernetes (push) Failing after 11s
Validation / validate-smart-contracts (push) Failing after 11s
Validation / validate-security (push) Failing after 1m35s
Validation / validate-documentation (push) Failing after 22s
Verify Deployment / Verify Deployment (push) Failing after 1m4s
Some checks failed
CI/CD Pipeline / Solidity Contracts (push) Failing after 1m16s
CI/CD Pipeline / Security Scanning (push) Successful in 2m52s
CI/CD Pipeline / Lint and Format (push) Failing after 46s
CI/CD Pipeline / Terraform Validation (push) Failing after 26s
CI/CD Pipeline / Kubernetes Validation (push) Successful in 28s
Deploy ChainID 138 / Deploy ChainID 138 (push) Failing after 45s
HYBX OMNL TypeScript & anchor / token-aggregation build + reconcile artifact (push) Failing after 20s
Validation / validate-genesis (push) Successful in 32s
Validation / validate-terraform (push) Failing after 30s
Validation / validate-kubernetes (push) Failing after 11s
Validation / validate-smart-contracts (push) Failing after 11s
Validation / validate-security (push) Failing after 1m35s
Validation / validate-documentation (push) Failing after 22s
Verify Deployment / Verify Deployment (push) Failing after 1m4s
Move Z Chain, wallet, bot, swap, and Z Bank UI off OMNL domains with dedicated nginx vhost and production DNS config. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -81,7 +81,8 @@ log " Central Bank: https://secure.d-bis.org/central-bank"
|
||||
log " Online banking: https://online.omdnl.org/central-bank"
|
||||
log " Office 24: https://office24.omdnl.org/office-24"
|
||||
log " DBIS Trade: https://exchange.d-bis.org/trade"
|
||||
log " Digital Swap: https://digital.omdnl.org/swap"
|
||||
log " Digital Swap: https://zblockchainsystem.com/swap"
|
||||
log " Z Ecosystem: https://zblockchainsystem.com/z"
|
||||
log "=== Health ==="
|
||||
curl -sf http://127.0.0.1:3011/api/v1/settlement/health | head -c 120 || true
|
||||
echo
|
||||
|
||||
@@ -55,5 +55,5 @@ docker run -d \
|
||||
|
||||
echo ""
|
||||
echo "Production Z Chain RPC (localhost): http://127.0.0.1:$RPC_PORT"
|
||||
echo "Expose via nginx/Cloudflare as https://rpc.z.omdnl.org"
|
||||
echo "Set CHAIN_900002_RPC_URL on portal LXC after tunnel/nginx is wired."
|
||||
echo "Expose via nginx/Cloudflare as https://rpc.zblockchainsystem.com"
|
||||
echo "Z portal: https://zblockchainsystem.com"
|
||||
|
||||
@@ -99,8 +99,9 @@ export VITE_TOKEN_AGGREGATION_URL="${VITE_TOKEN_AGGREGATION_URL:-/api/v1}"
|
||||
export VITE_SETTLEMENT_MIDDLEWARE_URL="${VITE_SETTLEMENT_MIDDLEWARE_URL:-/settlement}"
|
||||
export VITE_DBIS_EXCHANGE_URL="${VITE_DBIS_EXCHANGE_URL:-/exchange}"
|
||||
export VITE_ENABLE_Z_WALLET="${VITE_ENABLE_Z_WALLET:-true}"
|
||||
export VITE_RPC_URL_900002="${VITE_RPC_URL_900002:-${CHAIN_900002_RPC_URL:-https://rpc.z.omdnl.org}}"
|
||||
export VITE_Z_CHAIN_EXPLORER_URL="${VITE_Z_CHAIN_EXPLORER_URL:-https://explorer.z.omdnl.org}"
|
||||
export VITE_RPC_URL_900002="${VITE_RPC_URL_900002:-${CHAIN_900002_RPC_URL:-https://rpc.zblockchainsystem.com}}"
|
||||
export VITE_Z_CHAIN_EXPLORER_URL="${VITE_Z_CHAIN_EXPLORER_URL:-https://explorer.zblockchainsystem.com}"
|
||||
export VITE_Z_ECOSYSTEM_URL="${VITE_Z_ECOSYSTEM_URL:-https://zblockchainsystem.com}"
|
||||
# Never embed operator API keys in production frontend — nginx injects server-side.
|
||||
unset VITE_OMNL_API_KEY
|
||||
if command -v pnpm >/dev/null 2>&1; then
|
||||
|
||||
@@ -41,7 +41,8 @@ check_host exchange.omdnl.org /trade
|
||||
check_host secure.d-bis.org /central-bank
|
||||
check_host office24.omdnl.org /office-24
|
||||
check_host digital.omdnl.org /swap
|
||||
check_host digital.omdnl.org /z
|
||||
|
||||
log "Z Ecosystem domain (separate) — run scripts/deployment/deploy-z-domains.sh"
|
||||
|
||||
log "OMNL domain deploy complete"
|
||||
log "DNS: point all domains A record to 76.53.10.34 (or Cloudflare proxy to origin)"
|
||||
|
||||
38
scripts/deployment/deploy-z-domains.sh
Normal file
38
scripts/deployment/deploy-z-domains.sh
Normal file
@@ -0,0 +1,38 @@
|
||||
#!/usr/bin/env bash
|
||||
# Install nginx vhost for Z Ecosystem (zblockchainsystem.com)
|
||||
set -euo pipefail
|
||||
|
||||
REPO_DIR="${Z_ECOSYSTEM_ROOT:-${OMNL_BANK_ROOT:-$HOME/smom-dbis-138}}"
|
||||
VHOST_SRC="$REPO_DIR/deploy/nginx/z-ecosystem-domains.conf"
|
||||
VHOST_DST="/etc/nginx/sites-available/z-ecosystem-domains"
|
||||
VHOST_LINK="/etc/nginx/sites-enabled/z-ecosystem-domains"
|
||||
|
||||
log() { echo "[$(date -Iseconds)] $*"; }
|
||||
|
||||
if [ ! -f "$VHOST_SRC" ]; then
|
||||
echo "Missing $VHOST_SRC" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
log "Installing Z Ecosystem nginx vhost..."
|
||||
sudo cp "$VHOST_SRC" "$VHOST_DST"
|
||||
sudo ln -sf "$VHOST_DST" "$VHOST_LINK"
|
||||
|
||||
log "Testing nginx..."
|
||||
sudo nginx -t
|
||||
|
||||
log "Reloading nginx..."
|
||||
sudo systemctl reload nginx
|
||||
|
||||
check_host() {
|
||||
local host="$1"
|
||||
local expect="$2"
|
||||
local code
|
||||
code=$(curl -s -o /dev/null -w '%{http_code}' -H "Host: $host" "http://127.0.0.1/")
|
||||
log " $host -> HTTP $code (expect redirect toward $expect)"
|
||||
}
|
||||
|
||||
check_host zblockchainsystem.com /z
|
||||
check_host www.zblockchainsystem.com /z
|
||||
|
||||
log "Z domain deploy complete — https://zblockchainsystem.com/z"
|
||||
@@ -1,13 +1,22 @@
|
||||
#!/usr/bin/env bash
|
||||
# Production deploy: Z Chain env + OMNL banking portal (LXC / server).
|
||||
# Production deploy: Z Ecosystem on zblockchainsystem.com (separate from OMNL portals).
|
||||
set -euo pipefail
|
||||
|
||||
ROOT="$(cd "$(dirname "$0")/../.." && pwd)"
|
||||
ENV_FILE="${Z_ECOSYSTEM_ENV:-${OMNL_BANK_ENV:-$ROOT/.env}}"
|
||||
ENV_FILE="${Z_ECOSYSTEM_ENV:-$ROOT/config/z-ecosystem.local.env}"
|
||||
PROD_CFG="$ROOT/config/z-chain-production.v1.json"
|
||||
DOMAIN_CFG="$ROOT/config/z-ecosystem-production-domains.v1.json"
|
||||
|
||||
log() { echo "[$(date -Iseconds)] $*"; }
|
||||
|
||||
if [[ -f "$ROOT/.env" ]]; then
|
||||
set -a
|
||||
set +u
|
||||
# shellcheck disable=SC1090
|
||||
source "$ROOT/.env"
|
||||
set -u
|
||||
set +a
|
||||
fi
|
||||
if [[ -f "$ENV_FILE" ]]; then
|
||||
set -a
|
||||
set +u
|
||||
@@ -17,36 +26,45 @@ if [[ -f "$ENV_FILE" ]]; then
|
||||
set +a
|
||||
fi
|
||||
|
||||
export CHAIN_900002_RPC_URL="${CHAIN_900002_RPC_URL:-https://rpc.z.omdnl.org}"
|
||||
export CHAIN_900002_RPC_URL="${CHAIN_900002_RPC_URL:-https://rpc.zblockchainsystem.com}"
|
||||
export VITE_RPC_URL_900002="${VITE_RPC_URL_900002:-$CHAIN_900002_RPC_URL}"
|
||||
export VITE_Z_CHAIN_EXPLORER_URL="${VITE_Z_CHAIN_EXPLORER_URL:-https://explorer.z.omdnl.org}"
|
||||
export VITE_Z_CHAIN_EXPLORER_URL="${VITE_Z_CHAIN_EXPLORER_URL:-https://explorer.zblockchainsystem.com}"
|
||||
export VITE_Z_ECOSYSTEM_URL="${VITE_Z_ECOSYSTEM_URL:-https://zblockchainsystem.com}"
|
||||
export VITE_ENABLE_Z_WALLET="${VITE_ENABLE_Z_WALLET:-true}"
|
||||
export VITE_TOKEN_AGGREGATION_URL="${VITE_TOKEN_AGGREGATION_URL:-/api/v1}"
|
||||
export VITE_SETTLEMENT_MIDDLEWARE_URL="${VITE_SETTLEMENT_MIDDLEWARE_URL:-/settlement}"
|
||||
export VITE_DBIS_EXCHANGE_URL="${VITE_DBIS_EXCHANGE_URL:-/exchange}"
|
||||
|
||||
log "Z Ecosystem production deploy"
|
||||
log " config: $PROD_CFG"
|
||||
log " rpc: $CHAIN_900002_RPC_URL"
|
||||
log "Z Ecosystem production deploy (zblockchainsystem.com)"
|
||||
log " chain: $PROD_CFG"
|
||||
log " domain: $DOMAIN_CFG"
|
||||
log " portal: $VITE_Z_ECOSYSTEM_URL"
|
||||
log " rpc: $CHAIN_900002_RPC_URL"
|
||||
|
||||
if [[ "${Z_CHAIN_BOOTSTRAP_PROD:-0}" == "1" ]]; then
|
||||
log "Bootstrapping Besu Z Chain on this host..."
|
||||
log "Bootstrapping Besu Z Chain..."
|
||||
sudo bash "$ROOT/scripts/deployment/bootstrap-z-chain-production.sh"
|
||||
fi
|
||||
|
||||
if [[ "${Z_CHAIN_DEPLOY_CONTRACTS:-0}" == "1" ]]; then
|
||||
log "Deploying Z Chain contracts..."
|
||||
export CHAIN_900002_RPC_URL
|
||||
node "$ROOT/scripts/deployment/deploy-z-chain-contracts.js" --network zchain
|
||||
node "$ROOT/scripts/deployment/sync-z-chain-deployed-addresses.mjs"
|
||||
fi
|
||||
|
||||
log "Building and starting OMNL stack (includes Z Wallet routes)..."
|
||||
log "Build backend + frontend (Z routes in SPA)..."
|
||||
bash "$ROOT/scripts/deployment/deploy-omnl-bank-production.sh"
|
||||
|
||||
log "Install Z domain nginx vhost..."
|
||||
bash "$ROOT/scripts/deployment/deploy-z-domains.sh"
|
||||
|
||||
if [[ "${Z_ECOSYSTEM_PUSH_PCT:-0}" == "1" ]]; then
|
||||
log "Pushing portal bundle to Proxmox LXC..."
|
||||
bash "$ROOT/scripts/deployment/deploy-omnl-banking-portal-pct.sh"
|
||||
fi
|
||||
|
||||
log "Done. Verify:"
|
||||
log " curl -sf http://127.0.0.1:3011/api/v1/settlement/health"
|
||||
log " curl -sf http://127.0.0.1:3000/api/v1/z-bot/health"
|
||||
log " Portal: https://digital.omdnl.org/z-wallet (after nginx/Cloudflare)"
|
||||
log " curl -sf http://127.0.0.1:3011/api/v1/settlement/health"
|
||||
log " curl -sI https://zblockchainsystem.com/z"
|
||||
log " bash scripts/deployment/print-z-dns-records.sh"
|
||||
|
||||
@@ -29,13 +29,14 @@ Set-Location $Root
|
||||
Import-DotEnvFile (Join-Path $Root ".env")
|
||||
Import-DotEnvFile (Join-Path $Root "config\z-ecosystem.local.env")
|
||||
|
||||
# Production frontend env (same-origin paths on digital.omdnl.org)
|
||||
# Production frontend env (same-origin on zblockchainsystem.com)
|
||||
$env:VITE_TOKEN_AGGREGATION_URL = "/api/v1"
|
||||
$env:VITE_SETTLEMENT_MIDDLEWARE_URL = "/settlement"
|
||||
$env:VITE_DBIS_EXCHANGE_URL = "/exchange"
|
||||
$env:VITE_ENABLE_Z_WALLET = "true"
|
||||
$env:VITE_RPC_URL_900002 = if ($env:VITE_RPC_URL_900002) { $env:VITE_RPC_URL_900002 } else { "https://rpc.z.omdnl.org" }
|
||||
$env:VITE_Z_CHAIN_EXPLORER_URL = if ($env:VITE_Z_CHAIN_EXPLORER_URL) { $env:VITE_Z_CHAIN_EXPLORER_URL } else { "https://explorer.z.omdnl.org" }
|
||||
$env:VITE_RPC_URL_900002 = if ($env:VITE_RPC_URL_900002) { $env:VITE_RPC_URL_900002 } else { "https://rpc.zblockchainsystem.com" }
|
||||
$env:VITE_Z_CHAIN_EXPLORER_URL = if ($env:VITE_Z_CHAIN_EXPLORER_URL) { $env:VITE_Z_CHAIN_EXPLORER_URL } else { "https://explorer.zblockchainsystem.com" }
|
||||
$env:VITE_Z_ECOSYSTEM_URL = if ($env:VITE_Z_ECOSYSTEM_URL) { $env:VITE_Z_ECOSYSTEM_URL } else { "https://zblockchainsystem.com" }
|
||||
Remove-Item Env:VITE_OMNL_API_KEY -ErrorAction SilentlyContinue
|
||||
|
||||
Write-Host "=== 1/4 Local stack (Z Chain + APIs + portal) ==="
|
||||
@@ -126,11 +127,11 @@ if ($tunnelUrl) {
|
||||
Write-Host " Local: http://localhost:3002/z"
|
||||
}
|
||||
Write-Host ""
|
||||
Write-Host "Production origin digital.omdnl.org - run on dev-bis-ali:"
|
||||
Write-Host "Production portal zblockchainsystem.com - run on dev-bis-ali:"
|
||||
Write-Host ' cd ~/smom-dbis-138; git pull; bash scripts/deployment/deploy-z-ecosystem-production.sh'
|
||||
Write-Host ' # or push bundle to LXC:'
|
||||
Write-Host ' Z_ECOSYSTEM_PUSH_PCT=1 bash scripts/deployment/deploy-z-ecosystem-production.sh'
|
||||
Write-Host ""
|
||||
Write-Host "DNS still required for Z Chain RPC:"
|
||||
Write-Host ' rpc.z.omdnl.org -> Besu host port 8546'
|
||||
Write-Host ' explorer.z.omdnl.org -> explorer optional'
|
||||
Write-Host ' rpc.zblockchainsystem.com -> Besu host port 8546'
|
||||
Write-Host ' explorer.zblockchainsystem.com -> explorer optional'
|
||||
|
||||
@@ -16,7 +16,7 @@ Zone: omdnl.org
|
||||
A secure $ORIGIN_IP yes Central Bank (/central-bank)
|
||||
A online $ORIGIN_IP yes Online banking (/central-bank)
|
||||
A forex $ORIGIN_IP yes Forex terminal (/trade)
|
||||
A digital $ORIGIN_IP yes Digital swap (/swap)
|
||||
A digital $ORIGIN_IP yes Legacy swap (/swap) — prefer zblockchainsystem.com
|
||||
|
||||
Zone: omdnl.org (Office 24)
|
||||
Type Name Content Proxy Dashboard
|
||||
@@ -40,6 +40,9 @@ Live URLs once DNS is active:
|
||||
https://online.omdnl.org/central-bank
|
||||
https://forex.omdnl.org/trade
|
||||
https://digital.omdnl.org/swap
|
||||
https://zblockchainsystem.com/z
|
||||
https://zblockchainsystem.com/z-wallet
|
||||
https://zblockchainsystem.com/swap
|
||||
https://office24.omdnl.org/office-24
|
||||
https://exchange.d-bis.org/trade
|
||||
https://secure.d-bis.org/central-bank
|
||||
|
||||
24
scripts/deployment/print-z-dns-records.sh
Normal file
24
scripts/deployment/print-z-dns-records.sh
Normal file
@@ -0,0 +1,24 @@
|
||||
#!/usr/bin/env bash
|
||||
# DNS records for Z Ecosystem (zblockchainsystem.com) — separate from OMNL
|
||||
|
||||
ORIGIN_IP="${Z_ECOSYSTEM_ORIGIN_IP:-${OMNL_ORIGIN_IP:-76.53.10.34}}"
|
||||
|
||||
cat <<EOF
|
||||
# Z Ecosystem DNS — zblockchainsystem.com (separate from OMNL)
|
||||
|
||||
Zone: zblockchainsystem.com
|
||||
Type Name Content Proxy Product
|
||||
A @ $ORIGIN_IP yes Z Hub (/z)
|
||||
A www $ORIGIN_IP yes Z Hub (/z)
|
||||
A rpc $ORIGIN_IP yes Z Chain RPC (:8546 on origin)
|
||||
A explorer $ORIGIN_IP yes Z Chain explorer (optional)
|
||||
|
||||
Live URLs after DNS:
|
||||
https://zblockchainsystem.com/z
|
||||
https://zblockchainsystem.com/z-wallet
|
||||
https://zblockchainsystem.com/swap
|
||||
https://zblockchainsystem.com/central-bank
|
||||
https://zblockchainsystem.com/api/v1/z-bot/health
|
||||
https://rpc.zblockchainsystem.com
|
||||
https://explorer.zblockchainsystem.com
|
||||
EOF
|
||||
Reference in New Issue
Block a user