Commit Graph
85 Commits
Author SHA1 Message Date
josh 33da4482a6 Make metrics reflect autoscaling policies (Refs #137)
CI / checks (push) Successful in 4m49s
2026-10-10 14:48:52 -04:00
josh 8d1bb69591 Use ordered SQLite migrations (Refs #75)
CI / checks (push) Successful in 5m6s
2026-10-10 00:01:18 -04:00
josh bd16737dd8 Remove shared prepared statement cache (Refs #76)
CI / checks (push) Successful in 4m40s
2026-10-09 17:05:06 -04:00
josh 16469e2d43 Add Prettier and ESLint tooling (Refs #77) 2026-10-09 15:56:13 -04:00
josh 0cc4498b53 Protect RCON diagnostics and redact player addresses (Refs #61) 2026-10-08 16:47:34 -04:00
josh 012cd51a66 Add safe manual instance rebalancing 2026-10-08 12:37:56 -04:00
josh 2f67482521 Record usernames for manual provisioning requests 2026-10-08 00:15:19 -04:00
josh db92c89b05 Add cancellation for collection launches 2026-10-07 15:32:02 -04:00
josh ec45371478 Pool Plutonium keys by game for launches and autoscaling 2026-10-07 11:24:53 -04:00
josh c6352d86b4 Support multi-game betas with automatic server selection 2026-10-07 09:41:17 -04:00
josh 2b8e102b86 Scope live chat to the current match and save match history 2026-10-07 00:40:20 -04:00
josh e012278bd9 Add exclusive map ownership and capacity-aware autoscaling creation 2026-10-06 22:59:17 -04:00
josh ed4d8a4802 Add autoscaling policy model and deterministic planner 2026-10-06 22:48:59 -04:00
josh 6999a33aef Keep startup database rebuilds out of memory 2026-10-06 15:18:13 -04:00
josh 562b770725 Expire retained file bodies and reclaim SQLite storage 2026-10-06 14:43:37 -04:00
josh 62df14b180 Deduplicate artifact bytes and deliver files by authenticated hash 2026-10-06 14:35:13 -04:00
josh 18283c63a7 Tune SQLite caches and maintain planner statistics 2026-10-06 14:05:02 -04:00
josh ddb3db9537 Keep artifact list and beta queries free of file bytes 2026-10-06 14:01:12 -04:00
josh 27be1abf41 Index beta evidence and foreign key child lookups 2026-10-06 13:57:22 -04:00
josh 8e948c07d9 Add opt-in slow SQL and database diagnostics 2026-10-06 13:56:27 -04:00
josh d2108eb604 Index lifecycle capacity checks instead of scanning retained jobs 2026-10-06 12:54:10 -04:00
josh 88a950692a Fix retention query performance and cleanup scheduling 2026-10-06 10:39:32 -04:00
josh 9fd448339d Defer promotion snapshots to campaign activation 2026-10-06 00:16:43 -04:00
josh 3952c4c938 Add configurable history and storage retention policies 2026-10-05 22:48:04 -04:00
josh 7c98df4fb0 Add fleet and per-host concurrency controls 2026-10-05 22:27:27 -04:00
josh f8d0ba3936 Allow revising active betas with fresh tests and history 2026-10-05 21:02:58 -04:00
josh 4b0f341d64 Remove Komodo backend in favor of native hosts 2026-10-05 18:07:07 -04:00
josh b1b3e8b958 Relax freshness limits and tolerate transient RCON failures 2026-10-05 16:36:23 -04:00
josh 2af768011a Cache prepared statements per database connection 2026-10-05 15:24:17 -04:00
josh 28bd08e1ea Avoid lifecycle history scans in fleet snapshots 2026-10-05 14:59:08 -04:00
josh 041c024f95 Bound provisioning history and poll only active operations 2026-10-05 14:52:30 -04:00
josh e6912ceb57 Add configurable retention for successful routine operations 2026-10-05 13:09:44 -04:00
josh 7c76851252 Queue native collection launches before async placement 2026-10-05 11:35:50 -04:00
josh 1405114a14 Keep native collection launches responsive 2026-10-05 10:48:38 -04:00
josh dbd2940d29 Fix blocking collection matching with large plugins 2026-10-05 10:15:48 -04:00
josh ed004ddbcf Improve application responsiveness and background processing 2026-10-04 19:56:06 -04:00
josh e5c0fda1ed Add native host management and role-based operator authentication
Introduce an outbound Python host agent, Debian installer, durable remote
operations, immutable game-file libraries, host-aware deployments and ports,
and occupancy-safe campaigns and draining. Native hosts do not require Komodo.

Add administrator, operator and viewer accounts, protected management routes,
secure sessions, password recovery, audit history and separate telemetry tokens.
Document first-admin setup, reporter migration and live-host acceptance checks.

Validation: 1,343 TypeScript tests and 39 agent tests passed, along with type
checking, the production build, compiled SSR/API smoke tests and administrator
recovery. Real Debian/Docker T5/T6 acceptance remains unrun.
2026-10-03 11:42:36 -04:00
josh c7d71c63ba Link personal bests to their recorded matches 2026-10-01 12:12:21 -04:00
josh aa0223c35d Add configurable server destruction concurrency 2026-10-01 11:29:55 -04:00
josh 3fb59cd598 Complete provisioning job detail pages and lifecycle evidence 2026-09-28 14:17:19 -04:00
josh 2fa3792482 Fix active and match timer drift between status polls
Persist occupancy transitions with telemetry and carry timer anchors through live updates. Cover delayed polling, lobby rejoining, and lifecycle boundaries with regression tests.

Fixes #47
2026-09-27 23:29:04 -04:00
josh fb48f64de1 Defer server file changes until guarded restart activation
Persist beta, promotion, drift, and rollback payloads until occupancy and restart-capacity checks pass. Preserve rollback snapshots and campaign ordering, and allow held rollback campaigns to resume safely.

Fixes #28

Validation: 805 tests passed, Svelte checks clean, production build passed.
2026-09-27 23:06:16 -04:00
josh 981fb27c1c Preserve deleted server history
Retain historical server identities, results, and evidence after deletion. Mark archived entries as Deleted and prevent old work from targeting servers that reuse the same name.

Fixes #16.
2026-09-27 21:48:55 -04:00
josh 4fe8613678 Move fleet retention and concurrency controls into Settings
Persist settings in SQLite, import legacy environment values once, and apply changes to cleanup and deployment queues without restarting.

Closes #51
2026-09-27 16:11:45 -04:00
josh fc46cb9da4 feat: unify recovery, updates, and schedules under Maintenance 2026-09-27 16:00:18 -04:00
josh 8ea696417f fix: honor Komodo health and prefer fresh telemetry across fleet status 2026-09-27 15:34:30 -04:00
josh b9f5902945 feat: add Watchdog recovery and drift rebuild workflows 2026-09-27 15:13:38 -04:00
josh df265d1900 refactor: make provisioning own instance lifecycle operations 2026-09-27 14:45:00 -04:00
josh cfed584614 feat: add provisioning lifecycle actions
Rename Deployments to Provisioning with compatible redirects and APIs. Add durable Start, Restart, Stop, and Rebuild operations alongside Create and Destroy; rebuild wipes the instance and recreates it in the same slot and port.

Add lifecycle, migration, recovery, and Komodo command tests. Type checks and production build pass; the full suite retains a telemetry assertion failure reproduced on the unchanged branch.

Refs #39
2026-09-27 14:20:04 -04:00
josh 0b0e5b5bdb feat: match fleet to blueprint targets exactly
Add an optional exact blueprint mode with keep/create/remove previews, atomic queueing, cancellation of unstarted excess creations, and persistent dependencies for safe port reuse. Track removals alongside creations and preserve fill mode as the default.

Validation: type check, production build, and 103 deployment tests passed. The full suite has one telemetry assertion failure also reproduced on the previous commit.

Fixes #42
2026-09-27 13:36:08 -04:00