Initial project snapshot
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
CREATE TABLE IF NOT EXISTS fabric_testing_flags (
|
||||
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
||||
scope_type TEXT NOT NULL,
|
||||
scope_id UUID,
|
||||
cluster_id UUID REFERENCES clusters(id) ON DELETE CASCADE,
|
||||
enabled BOOLEAN NOT NULL DEFAULT FALSE,
|
||||
telemetry_enabled BOOLEAN NOT NULL DEFAULT FALSE,
|
||||
synthetic_links_enabled BOOLEAN NOT NULL DEFAULT FALSE,
|
||||
history_retention_hours INTEGER NOT NULL DEFAULT 24,
|
||||
metadata JSONB NOT NULL DEFAULT '{}'::JSONB,
|
||||
updated_by_user_id UUID REFERENCES users(id) ON DELETE SET NULL,
|
||||
updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
|
||||
CONSTRAINT fabric_testing_flags_scope_check
|
||||
CHECK (scope_type IN ('platform', 'organization', 'node')),
|
||||
CONSTRAINT fabric_testing_flags_retention_check
|
||||
CHECK (history_retention_hours BETWEEN 1 AND 720)
|
||||
);
|
||||
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS idx_fabric_testing_flags_unique_scope
|
||||
ON fabric_testing_flags (
|
||||
scope_type,
|
||||
COALESCE(scope_id, '00000000-0000-0000-0000-000000000000'::uuid),
|
||||
COALESCE(cluster_id, '00000000-0000-0000-0000-000000000000'::uuid)
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS node_telemetry_observations (
|
||||
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
||||
cluster_id UUID NOT NULL REFERENCES clusters(id) ON DELETE CASCADE,
|
||||
node_id UUID NOT NULL REFERENCES nodes(id) ON DELETE CASCADE,
|
||||
cpu_percent DOUBLE PRECISION,
|
||||
memory_used_bytes BIGINT,
|
||||
memory_total_bytes BIGINT,
|
||||
disk_used_bytes BIGINT,
|
||||
disk_total_bytes BIGINT,
|
||||
network_rx_bytes BIGINT,
|
||||
network_tx_bytes BIGINT,
|
||||
process_count INTEGER,
|
||||
payload JSONB NOT NULL DEFAULT '{}'::JSONB,
|
||||
observed_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
|
||||
);
|
||||
|
||||
CREATE INDEX IF NOT EXISTS idx_node_telemetry_cluster_node_observed
|
||||
ON node_telemetry_observations(cluster_id, node_id, observed_at DESC);
|
||||
Reference in New Issue
Block a user