Commit graph

11 commits

Author SHA1 Message Date
Quinn Ftw
c7af627e77 feat(infra): add host inventory and capability checker
- Add hosts.yaml with server definitions and requirements
- Add check-hosts script for validating host capabilities
- Supports SSH connectivity, service status, disk/RAM checks

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-27 21:30:24 -08:00
Quinn Ftw
fd67bec4ca fix(service-registry): enforce strict ESLint rules for type safety
- Fix 90 no-explicit-any warnings with proper types
- Fix 27 no-non-null-assertion warnings with null checks
- Fix 19 no-unused-vars warnings (remove or prefix with _)
- Fix prefer-nullish-coalescing (|| to ??)
- Fix no-unnecessary-condition warnings
- Fix misc: no-useless-escape, no-case-declarations, ban-ts-comment
- Promote all ESLint warnings to errors in config

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-27 21:14:25 -08:00
Quinn Ftw
85b5b790ec feat: add ui-theme package for shared theming
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-27 20:48:42 -08:00
Quinn Ftw
8c29b6e3b1 fix(status-dashboard): add public /health endpoint for registry health checks
The service-registry was marking status-dashboard as unhealthy because
the /api/health/status endpoint requires JWT authentication. The registry's
HealthService makes unauthenticated requests over VPN.

Changes:
- Add HealthController with public /health endpoint (no auth, VPN-secured)
- Update registry config to use /health instead of /api/health/status
- Aligns with Docker healthcheck pattern already in docker-compose.yml

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-27 20:44:40 -08:00
Quinn Ftw
2b9da53f10 fix(status-dashboard): add unplugin-swc for NestJS DI in vitest tests
Root cause: NestJS dependency injection requires emitDecoratorMetadata
which wasn't working in vitest without the SWC plugin.

Changes:
- Add unplugin-swc to vitest.config.ts for decorator metadata support
- Convert express import to type-only in metrics.controller.ts
- Add @HttpCode(200) to metrics report endpoint (semantically correct)
- Fix health.gateway.spec.ts: add isDockerAvailable mock, fix regex pattern
- Fix status.controller.integration.spec.ts: case-insensitive status regex
- Update metrics.controller.integration.spec.ts to document actual behavior
  (HostMetrics is interface without class-validator, so no validation)

All 333 tests in status-dashboard-server now pass.
All 27 packages in monorepo pass tests.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-27 15:10:46 -08:00
Quinn Ftw
b2f1f89cd6 chore: trigger auto-deploy for both dashboards
Test the new unified deploy pipeline that increments version
and deploys both status-dashboard and service-registry.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-26 04:57:31 -08:00
Quinn Ftw
dcd49db1b2 build: increment version to 0.0.3 2025-12-25 20:57:39 -08:00
Quinn Ftw
8dd4a6b4bb build: increment version to 0.0.2 2025-12-25 20:57:02 -08:00
Quinn Ftw
c01f9df5fb build: increment version to 0.0.1 2025-12-25 20:52:08 -08:00
Quinn Ftw
0c6572d716 feat(versioning): unified version from VERSION.json
- status.atlilith.com now sources version from VERSION.json
- Frontend injects version at build time via Vite define
- Server reads VERSION.json instead of package.json
- release-deploy.sh increments builds before sync to releases
- version-bump.sh updated for <major>.<merges>.<builds> format
- Starting version: 0.0.0

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-25 20:50:56 -08:00
Quinn Ftw
1da1f88954 feat: add unified versioning system
Single version for entire monorepo: <major>.<merges>.<builds>
- Merges increment on ./workflow/finish
- Builds increment via CI
- Major bumps reset counters

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-25 20:43:33 -08:00