Changelog
[2026.02.18-d6c727a] - Clean up legacy gateway documentation
Changed
- Rewrite Gateway docs to match the current headless architecture (
watcher + mcproxy) and API-driven control plane. - Replace legacy watcher-UI/canvas/auth descriptions with current guides for identity, routing lifecycle, DNS automation, and operations.
- Update getting-started/deployment pages to the current 3-port runtime contract (
25565,9001,80) and dedicated stack context flow.
Removed
- Remove outdated references to local gateway dashboard workflows and in-gateway Cloudflare management UI behavior.
[2026.02.16-55a48dc] - API-driven gateway control plane
Changed
- Replace the legacy Nginx/UI-first stack with a headless
watcher + mcproxyruntime. - Remove gateway-local dashboard/auth flows and source route state from public API heartbeat snapshots.
- Limit gateway data-plane handling to Minecraft TCP and render
routes.jsonformcproxyfrom API payloads. - Standardize gateway exposure to exactly three ports: Minecraft (
25565/tcp), Connect control (9001/tcp), and health (80/tcp). - Use an explicit
GATEWAY_IMAGE/GATEWAY_IMAGE_TAGdeployment contract for Swarm so Gateway can be published from the same private image repository flow as Public API. - Move Swarm deployment to a dedicated docker stack file (
docker/stacks/gateway/docker-stack-gateway.yml) to mirror the Public API deployment structure. - Default Gateway production deploys to the dedicated Swarm stack name
connect-gatewayand keep gateway credentials on a stable named volume across stack migrations. - Prefer a dedicated Gateway deploy Docker context (
GATEWAY_DOCKER_CONTEXT) so Gateway rollouts can run isolated from other stack deploy contexts.
Added
- Add gateway auto-registration support with persisted credentials (
CONNECT_GATEWAY_CREDENTIALS_PATH). - Add runtime status endpoints (
/healthz,/status) and unknown-host intake for mcproxy telemetry (/minecraft/unknown-hosts). - Add
/healthalias on the watcher health endpoint for simpler external checks.
[2026.02.01-102da65] - Gateway docs migration
Added
- Add Gateway docs to the global documentation site.
- Add a feature checklist for Gateway.
- JWT-based authentication with password & TOTP, including bootstrap admin seeding and session refresh endpoints.
- Capture the protocol for upstream registry entries and expose it through the watcher API.
- Cloudflare credential management endpoints with zone caching and DNS record CRUD (UI + API).
- Optional Cloudflare zone scopes so tokens, die nur einzelne Zonen sehen duerfen, funktionieren via Fallback (
/zones/{id}) weiterhin. - Cloudflare zone creation endpoint/UI mit Suche & Account-Auswahl ueber die neuen Dropdown-Header.
- Automatisches Anlegen der benoetigten Cloudflare-DNS-Records direkt beim Speichern einer Route (TXT-Token, optional CNAME fuer HTTP und SRV fuer Minecraft).
- Automatically ingest Docker containers into upstream nodes and backend groups via the
gateway.upstreamslabel; generated resources carry anAUTOtag for traceability. - Automatically provision HTTP routes from the
gateway.routeslabel and keep them in sync. - Optional MOTD caching for the Minecraft proxy via
MCPROXY_MOTD_CACHE_TTL_SECS, reducing repeated status hits against upstream servers. - Surface Minecraft upstream status info (version, MOTD, players) across route and backend group views via mcproxy status snapshots.
- Auto-create a development Minecraft route when an auto-managed backend group is discovered so the stack works immediately after
docker compose up.
Changed
- Remove the host port binding from the dev Mongo container so
docker compose upsucceeds even when other local Mongo instances are running. - Keep backend groups populated even when upstream DNS lookups fail so default routes remain available during local development.
- Watcher API endpoints now require Bearer tokens; the UI provides a login flow with token-aware polling and SSE reconnection.
- Backend-group editing now locks the protocol field to the first selected upstream and filters further selections to matching protocols in the UI.
- Upstream creation/edit modals require an explicit protocol so persisted backend groups remain consistent with their upstream targets.
- The dashboard adds a dedicated Cloudflare panel so tokens, zones, and DNS records can be maintained directly inside the watcher UI.
- Route hostnames now reuse Cloudflare DNS records; the manual hostname modal and attach/detach flows were replaced with inline selection plus optional manual overrides in the route editor.
- HTTP-CNAME-Eintraege uebernehmen automatisch
PUBLIC_CNAME_TARGET, sofern kein individuelles Ziel hinterlegt wird. - UI surfaces an
AUTObadge for automatically managed upstreams and backend groups and disables edit/delete actions so they remain read-only. - Auto-create a development Minecraft route when an auto-managed backend group is discovered so the stack works immediately after
docker compose up. - Configure the watcher admin interface domains via
WATCHER_ADMIN_URLS(comma-separated), automatically wiring routes to the watcher service. - Remove the direct host port mapping for the watcher container; reach the admin UI exclusively through the configured gateway domains instead of
localhost:8080. - Drop the dedicated host port for the UI dev server and rely on the gateway to expose the Vite frontend during local development.
- Add a
velocity-testcontainer (Velocity proxy) on the dev network so routing toward Velocity backends can be exercised locally.
[2025.10.10-a] - 2025-10-10
Added
- Integrated Vue Router so the browser address bar mirrors the current editor context for routes, backend groups, notes, and upstream nodes.
- Added detailed console debug logging around note and upstream editing flows, covering canvas editors and modal submissions.
Changed
- Surface note and upstream save failures via toast notifications to simplify debugging.
- Prioritise a single overlay when hydrating URL parameters and automatically collapse any others when navigation clears the query.
- Ensure the hostname creation dialog closes whenever other editors open and expose its state via the router query.
- Replaced the Rete-based canvas with the built-in topology panel, removing all Rete assets, auto-aligning nodes left-to-right, and wrapping modal markup in
<template>guards to keep the UI stable during mount. - Topology nodes display live throughput (up/down rates and totals) inline so traffic is visible without opening the analytics tab, and link animations accelerate with higher throughput to highlight busy paths.
- Restyled topology nodes with neon glassmorphism to match the dashboard theme (type badges, animated icons, enriched note previews).