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
This commit is contained in:
2026-09-27 16:11:45 -04:00
parent fc46cb9da4
commit 4fe8613678
20 changed files with 334 additions and 54 deletions
+14
View File
@@ -0,0 +1,14 @@
import { validateFleetSettings, type FleetSettings } from '../fleet-settings.js';
import { db } from './db/index.js';
import { FLEET_SETTINGS_KEY } from './db/fleet-settings.js';
export function fleetSettings(): FleetSettings {
const row = db().prepare('SELECT value FROM settings WHERE key = ?').get(FLEET_SETTINGS_KEY) as { value: string };
return JSON.parse(row.value);
}
export function saveFleetSettings(input: unknown): FleetSettings {
const settings = validateFleetSettings(input);
db().prepare('UPDATE settings SET value = ? WHERE key = ?').run(JSON.stringify(settings), FLEET_SETTINGS_KEY);
return settings;
}