Publish ITWorx Pulse source
Public source validation / validate (push) Failing after 3m8s

This commit is contained in:
ITWorx Pulse release export
2026-09-03 02:09:19 +02:00
commit bd774932d5
614 changed files with 77116 additions and 0 deletions
@@ -0,0 +1,154 @@
CREATE TABLE users (
id uuid PRIMARY KEY,
external_subject text NOT NULL UNIQUE,
display_name text NOT NULL,
email text,
status text NOT NULL DEFAULT 'active' CHECK (status IN ('active', 'disabled')),
created_at timestamptz NOT NULL DEFAULT now(),
updated_at timestamptz NOT NULL DEFAULT now(),
last_login_at timestamptz
);
CREATE TABLE roles (
id uuid PRIMARY KEY,
name text NOT NULL UNIQUE CHECK (name IN ('viewer', 'operator', 'editor', 'administrator')),
created_at timestamptz NOT NULL DEFAULT now()
);
CREATE TABLE user_roles (
user_id uuid NOT NULL REFERENCES users(id) ON DELETE CASCADE,
role_id uuid NOT NULL REFERENCES roles(id) ON DELETE CASCADE,
created_at timestamptz NOT NULL DEFAULT now(),
PRIMARY KEY (user_id, role_id)
);
CREATE TABLE data_sources (
id uuid PRIMARY KEY,
type text NOT NULL,
name text NOT NULL,
enabled boolean NOT NULL DEFAULT true,
configuration_ref text NOT NULL,
capability_document jsonb NOT NULL DEFAULT '{}'::jsonb,
health_state text NOT NULL DEFAULT 'unknown' CHECK (health_state IN ('healthy', 'degraded', 'unhealthy', 'unknown')),
last_success_at timestamptz,
last_error_code text,
last_error_message text,
freshness_policy jsonb NOT NULL DEFAULT '{}'::jsonb,
created_at timestamptz NOT NULL DEFAULT now(),
updated_at timestamptz NOT NULL DEFAULT now()
);
CREATE TABLE collectors (
id uuid PRIMARY KEY,
datasource_id uuid NOT NULL REFERENCES data_sources(id) ON DELETE CASCADE,
kind text NOT NULL,
version text NOT NULL,
heartbeat timestamptz,
capabilities jsonb NOT NULL DEFAULT '[]'::jsonb,
status text NOT NULL DEFAULT 'unknown',
UNIQUE (datasource_id, kind)
);
CREATE TABLE entities (
id uuid PRIMARY KEY,
entity_type text NOT NULL,
canonical_name text NOT NULL,
display_name text NOT NULL,
status text NOT NULL DEFAULT 'unknown',
status_reasons jsonb NOT NULL DEFAULT '[]'::jsonb,
first_seen_at timestamptz NOT NULL,
last_seen_at timestamptz,
tombstoned_at timestamptz,
attributes jsonb NOT NULL DEFAULT '{}'::jsonb
);
CREATE TABLE entity_aliases (
entity_id uuid NOT NULL REFERENCES entities(id) ON DELETE CASCADE,
source_id uuid NOT NULL REFERENCES data_sources(id) ON DELETE CASCADE,
external_type text NOT NULL,
external_id text NOT NULL,
PRIMARY KEY (source_id, external_type, external_id)
);
CREATE TABLE dashboards (
id uuid PRIMARY KEY,
slug text NOT NULL UNIQUE,
name text NOT NULL,
description text NOT NULL DEFAULT '',
owner_user_id uuid REFERENCES users(id) ON DELETE SET NULL,
scope text NOT NULL CHECK (scope IN ('personal', 'shared', 'system')),
archived_at timestamptz,
current_version_id uuid,
created_at timestamptz NOT NULL DEFAULT now(),
updated_at timestamptz NOT NULL DEFAULT now()
);
CREATE TABLE dashboard_versions (
id uuid PRIMARY KEY,
dashboard_id uuid NOT NULL REFERENCES dashboards(id) ON DELETE CASCADE,
version_number integer NOT NULL CHECK (version_number > 0),
schema_version integer NOT NULL CHECK (schema_version > 0),
document jsonb NOT NULL,
change_summary text NOT NULL DEFAULT '',
created_by uuid REFERENCES users(id) ON DELETE SET NULL,
created_at timestamptz NOT NULL DEFAULT now(),
UNIQUE (dashboard_id, version_number)
);
ALTER TABLE dashboards
ADD CONSTRAINT dashboards_current_version_fk
FOREIGN KEY (current_version_id) REFERENCES dashboard_versions(id) ON DELETE SET NULL;
CREATE TABLE events (
id uuid PRIMARY KEY,
event_type text NOT NULL,
severity text NOT NULL,
entity_id uuid REFERENCES entities(id) ON DELETE SET NULL,
source_id uuid REFERENCES data_sources(id) ON DELETE SET NULL,
occurred_at timestamptz NOT NULL,
received_at timestamptz NOT NULL DEFAULT now(),
dedup_key text NOT NULL,
summary text NOT NULL,
attributes jsonb NOT NULL DEFAULT '{}'::jsonb,
correlation_id text,
UNIQUE (source_id, dedup_key, occurred_at)
);
CREATE TABLE audit_events (
id uuid PRIMARY KEY,
actor text NOT NULL,
action text NOT NULL,
resource_type text NOT NULL,
resource_id uuid,
result text NOT NULL,
occurred_at timestamptz NOT NULL DEFAULT now(),
correlation_id text,
before_diff jsonb,
after_diff jsonb
);
CREATE TABLE job_runs (
id uuid PRIMARY KEY,
job_type text NOT NULL,
job_key text NOT NULL,
scheduled_at timestamptz NOT NULL,
started_at timestamptz,
completed_at timestamptz,
status text NOT NULL,
counts jsonb NOT NULL DEFAULT '{}'::jsonb,
error_code text,
correlation_id text,
UNIQUE (job_type, job_key, scheduled_at)
);
CREATE TABLE system_settings (
key text PRIMARY KEY,
value jsonb NOT NULL,
version bigint NOT NULL DEFAULT 1 CHECK (version > 0),
updated_at timestamptz NOT NULL DEFAULT now()
);
CREATE INDEX entities_type_status_idx ON entities (entity_type, status);
CREATE INDEX events_occurred_at_idx ON events (occurred_at DESC);
CREATE INDEX audit_events_occurred_at_idx ON audit_events (occurred_at DESC);
CREATE INDEX job_runs_status_idx ON job_runs (status, scheduled_at);