fix: resolve 4 unhealthy services from fresh volume rebuild

- router-gateway: sync 10 missing jobengine routes to local config (prevent array merge bleed-through)
- findings-ledger-web: add VulnExplorer tables to postgres-init bootstrap script
- timeline-web: replace competing migration hosted service with standard AddStartupMigrations
- graph-api: handle null PostgresGraphRepository gracefully, add graph schema to init
- scheduler-web: add failure_signatures table to init bootstrap

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
master
2026-04-09 16:23:52 +03:00
parent 537f4f17fc
commit 3a36aefd81
13 changed files with 419 additions and 89 deletions

View File

@@ -690,3 +690,26 @@ ALTER TABLE scheduler.scheduler_exceptions FORCE ROW LEVEL SECURITY;
CREATE POLICY scheduler_exceptions_tenant_isolation ON scheduler.scheduler_exceptions FOR ALL
USING (tenant_id = scheduler_app.require_current_tenant())
WITH CHECK (tenant_id = scheduler_app.require_current_tenant());
-- ============================================================================
-- failure_signatures - Scheduler failure signature tracking
-- ============================================================================
CREATE TABLE IF NOT EXISTS scheduler.failure_signatures (
signature_id UUID NOT NULL,
tenant_id TEXT NOT NULL,
signature_key TEXT NOT NULL,
pattern TEXT NOT NULL,
severity TEXT NOT NULL DEFAULT 'medium',
description TEXT,
remediation TEXT,
auto_retry BOOLEAN NOT NULL DEFAULT false,
max_retries INT NOT NULL DEFAULT 0,
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
created_by TEXT,
CONSTRAINT failure_signatures_pkey PRIMARY KEY (signature_id)
);
CREATE UNIQUE INDEX IF NOT EXISTS idx_scheduler_failure_signatures_key
ON scheduler.failure_signatures(tenant_id, signature_key);