Skip to content

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 + mcproxy runtime.
  • 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.json for mcproxy from 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_TAG deployment 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-gateway and 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 /health alias 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.upstreams label; generated resources carry an AUTO tag for traceability.
  • Automatically provision HTTP routes from the gateway.routes label 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 up succeeds 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 AUTO badge 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-test container (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).