Add autoscaling dry run and policy controls
This commit is contained in:
@@ -21,6 +21,13 @@ export interface ScalingDecision {
|
||||
action: 'create' | 'destroy' | 'wait'; reason: string; server: string | null;
|
||||
desired: number; occupied: number; empty: number; pending: number; unknown: number;
|
||||
}
|
||||
export interface ScalingPreview { policy: ScalingPolicy; snapshot: ScalingSnapshot; decision: ScalingDecision; token: string; blockers: string[] }
|
||||
export interface ScalingHistory { id: string; at: number; lastSeenAt: number; decision: ScalingDecision; operationId: string | null }
|
||||
export interface ScalingView extends ScalingPreview {
|
||||
history: ScalingHistory[]; lastEvaluatedAt: number | null;
|
||||
totals: { observedMinutes: number; emptyLobbyHours: number; deficitMinutes: number; unknownMinutes: number };
|
||||
}
|
||||
export interface ScalingReport { policies: ScalingView[]; globalPaused: boolean; liveAvailable: boolean; removalAvailable: boolean }
|
||||
export const liveScaling = (mode: AutoscalingMode): boolean => mode === 'create-only' || mode === 'create-destroy';
|
||||
|
||||
export function scalingSettings(input: unknown): ScalingSettings {
|
||||
|
||||
Reference in New Issue
Block a user