Files
onebox/changelog.md

7.0 KiB

Changelog

2025-11-27 - 1.6.0 - feat(ui.dashboard)

Add Resource Usage card to dashboard and make dashboard cards full-height; add VSCode launch/tasks/config

  • Introduce ResourceUsageCardComponent and include it as a full-width row in the dashboard layout.
  • Make several dashboard card components (Certificates, Traffic, Platform Services) full-height by adding host classes and applying h-full to ui-card elements for consistent card sizing.
  • Reflow dashboard rows (insert Resource Usage as a dedicated row and update row numbering) to improve visual layout.
  • Add VSCode workspace configuration: recommended Angular extension, launch configurations for ng serve/ng test, and npm tasks to run/start the UI in development.

2025-11-27 - 1.5.0 - feat(network)

Add traffic stats endpoint and dashboard UI; enhance platform services and certificate health reporting

  • Add /api/network/traffic-stats GET endpoint to the HTTP API with an optional minutes query parameter (validated, 1-60).
  • Implement traffic statistics aggregation in CaddyLogReceiver using rolling per-minute buckets (requestCount, errorCount, avgResponseTime, totalBytes, statusCounts, requestsPerMinute, errorRate).
  • Expose getTrafficStats(minutes?) in the Angular ApiService and add ITrafficStats type to the client API types.
  • Add dashboard UI components: TrafficCard, PlatformServicesCard, CertificatesCard and integrate them into the main Dashboard (including links to Platform Services).
  • Enhance system status data: platformServices entries now include displayName and resourceCount; add certificateHealth summary (valid, expiringSoon, expired, expiringDomains) returned by Onebox status.
  • Platform services manager and Onebox code updated to surface provider information and resource counts for the UI.
  • Add VSCode workspace launch/tasks recommendations for the UI development environment.

2025-11-26 - 1.4.0 - feat(platform-services)

Add ClickHouse platform service support and improve related healthchecks and tooling

  • Add ClickHouse as a first-class platform service: register provider, provision/cleanup support and env var injection
  • Expose ClickHouse endpoints in the HTTP API routing (list/get/start/stop/stats) and map default port (8123)
  • Enable services to request ClickHouse as a platform requirement (enableClickHouse / platformRequirements) during deploy/provision flows
  • Fix ClickHouse container health check to use absolute wget path (/usr/bin/wget) for more reliable in-container checks
  • Add VS Code workspace launch/tasks/extensions configs for the UI (ui/.vscode/*) to improve local dev experience

2025-11-26 - 1.3.0 - feat(platform-services)

Add ClickHouse platform service support (provider, types, provisioning, UI and port mappings)

  • Introduce ClickHouse as a first-class platform service: added ClickHouseProvider and registered it in PlatformServicesManager
  • Support provisioning ClickHouse resources for user services and storing encrypted credentials in platform_resources
  • Add ClickHouse to core types (TPlatformServiceType, IPlatformRequirements, IServiceDeployOptions) and service DB handling so services can request ClickHouse
  • Inject ClickHouse-related environment variables into deployed services (CLICKHOUSE_* mappings) when provisioning resources
  • Expose ClickHouse default port (8123) in platform port mappings / network targets
  • UI: add checkbox and description for enabling ClickHouse during service creation; form now submits enableClickHouse
  • Add VS Code recommendations and launch/tasks for the UI development workflow

2025-11-26 - 1.2.1 - fix(platform-services/minio)

Improve MinIO provider: reuse existing data and credentials, use host-bound port for provisioning, and safer provisioning/deprovisioning

  • MinIO provider now detects existing data directory and will reuse stored admin credentials when available instead of regenerating them.
  • If data exists but no credentials are stored, MinIO deployment will wipe the data directory to avoid credential mismatch and fail early with a clear error if wiping fails.
  • Provisioning and deprovisioning now connect to MinIO via the container's host-mapped port (127.0.0.1:) instead of relying on overlay network addresses; an error is thrown when the host port mapping cannot be determined.
  • Bucket provisioning creates policies and returns environment variables using container network hostnames for in-network access; a warning notes that per-service MinIO accounts are TODO and root credentials are used for now.
  • Added logging improvements around MinIO deploy/provision/deprovision steps for easier debugging.
  • Added VSCode workspace files (extensions, launch, tasks) for the ui project to improve developer experience.

2025-11-26 - 1.2.0 - feat(ui)

Sync UI tab state with URL and update routes/links

  • Add VSCode workspace recommendations, launch and tasks configs for the UI (ui/.vscode/*)
  • Update Angular routes to support tab URL segments and default redirects for services, network and registries
  • Change service detail route to use explicit 'detail/:name' path and update links accordingly
  • Make ServicesList, Registries and Network components read tab from route params and navigate on tab changes; add ngOnDestroy to unsubscribe
  • Update Domain detail template link to point to the new services detail route

2025-11-26 - 1.1.0 - feat(platform-services)

Add platform service log streaming, improve health checks and provisioning robustness

  • Add WebSocket log streaming support for platform services (backend + UI) to stream MinIO/MongoDB/Caddy logs in real time
  • Improve platform service lifecycle: detect unhealthy 'running' containers, mark for redeploy and wait/retry health checks with detailed logging
  • MinIO health check now uses container IP (via Docker) instead of hostname to reliably probe the service
  • MongoDB and MinIO providers updated to use host-mapped ports for host-side provisioning and connect via 127.0.0.1:
  • Docker manager: pullImage now actively pulls images and createContainer binds service ports to localhost so host-based provisioning works
  • UI: platform service detail page can start/stop/clear platform log streams; log stream service state cleared on disconnect to avoid stale logs
  • Caddy / reverse-proxy improvements to manage certificates and routes via the Caddy manager (Caddy runs as Docker service)
  • Add VSCode workspace helpers (extensions, launch, tasks) to improve developer experience

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[Unreleased]

Added

  • Initial project structure
  • Core architecture classes
  • Docker container management
  • Nginx reverse proxy integration
  • Cloudflare DNS management
  • Let's Encrypt SSL automation
  • SQLite database layer
  • Angular web UI
  • Multi-user authentication
  • Systemd daemon integration
  • CLI commands for all operations
  • Metrics collection and historical data
  • Log aggregation
  • Registry authentication support

[1.0.0] - TBD

Added

  • First stable release