- Customer (marketplace, leases, compute on the leased node),
provider (their nodes) and operator (everything) as separate apps
- Shared chrome with community's own session; identity switcher
only in dev mode
Core now only flags use_dns; the hostname comes from the cloud or
community exposure record. Ports that asked to be public but have no
confirmed tunnel yet show as pending instead of a broken link.
- operatorDetail capability: host placement and raw API records,
core console only
- Dashboard leads with a failure lane (VMs, pods, hosts)
- Per-section error banners instead of silently empty lists
- Audit log no longer shows user_id
useTenantScope answers "what am I working inside": a VDC on cloud,
a lease on community. The create wizard, volumes, storage and
infrastructure screens use it, so they work on both planes.
- Shell requires a session (oauth2-proxy), with sign-in and sign-out
- Project switcher; first-VDC screen when a project has no VDC yet
- Core calls route through /vdcs/<id>/core/* for the active VDC
- Tenants manage their own VDCs, members and Cloudflare account
under Data Centers; the cloud admin area and server groups are removed