mirror of
https://github.com/Dvorinka/Containr.git
synced 2026-10-29 08:04:53 +00:00
feat: persist scaling policies to Postgres
Adds scaling_policies table and wires the autoscaler: upsert on every SetScalingPolicy (including delete-as-disable), LoadPolicies hydrates policies + service states at boot. Persist failures are logged, never fatal — in-memory state stays authoritative. Verified live: policy written on POST, survives a full backend restart, service state re-registers at min_replicas. Also gofmt-fixes the drifted databases.go struct tags. Authored By: TDvorak <[email protected]> Generated with [Devin](https://devin.ai) Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
This commit is contained in:
1 parent
b61203f908
commit
25e4f676a9
5 files changed
+169
-23
No files matched your search
@@ -0,0 +1,20 @@
|
||||
-- +goose Up
|
||||
CREATE TABLE IF NOT EXISTS scaling_policies (
|
||||
service_id uuid PRIMARY KEY REFERENCES services(id) ON DELETE CASCADE,
|
||||
min_replicas integer NOT NULL DEFAULT 1,
|
||||
max_replicas integer NOT NULL DEFAULT 1,
|
||||
target_cpu double precision NOT NULL DEFAULT 0,
|
||||
target_memory double precision NOT NULL DEFAULT 0,
|
||||
scale_up_cooldown bigint NOT NULL DEFAULT 0,
|
||||
scale_down_cooldown bigint NOT NULL DEFAULT 0,
|
||||
scale_up_step integer NOT NULL DEFAULT 1,
|
||||
scale_down_step integer NOT NULL DEFAULT 1,
|
||||
metrics jsonb,
|
||||
thresholds jsonb,
|
||||
enabled boolean NOT NULL DEFAULT true,
|
||||
cost_optimization jsonb,
|
||||
updated_at timestamptz NOT NULL DEFAULT now()
|
||||
);
|
||||
|
||||
-- +goose Down
|
||||
DROP TABLE IF EXISTS scaling_policies;
|
||||
Reference in new issue
Block a user