# Session Status — Apr 1 End of Day

## Platform Status — NEW HOST OPERATIONAL
Everything is back to where it was on the old host. Browser IDE confirmed working end-to-end.
Further testing needed before DNS cutover.

## Completed
- ✅ PBS datastore recreated + full backup of old host
- ✅ Network bridges (vmbr0–vmbr6) configured on new host
- ✅ OPNsense core router (9001) — working
- ✅ OPNsense zpack router (9002) — NAT fixed, working
- ✅ zlh-dns (9010) — Technitium running, zones restored
- ✅ zlh-proxy (9011) — Caddy running
- ✅ zlh-zpack-proxy (9012) — Traefik v3.6.12 running, Cloudflare cert resolving
- ✅ zlh-artifacts (9014) — Caddy running, content serving on :8080
- ✅ zlh-velocity (9015) — running
- ✅ zlh-monitor (9016) — Prometheus running, scrape targets updated
- ✅ zlh-back (9017) — PBS running, MGMT_LAN interface added, connected to Proxmox
- ✅ zpac-api (9020) — running, MariaDB bind fixed, Proxmox API token set
- ✅ zpac-portal (9021) — running
- ✅ Proxmox API permissions — apiuser@pve + ZLH-API/ZLH-API-CT roles recreated
- ✅ LXC base template 820 — restored and working
- ✅ Browser IDE (dev-6072.zerolaghub.dev) — loading end-to-end on new host
- ✅ Dev container provisioning — working via API
