commit full of PRs
PRs full of commit basically i used the ENTIRE mimo grant to convert a system to another. hope this one is good. may fail.
This commit is contained in:
@@ -1,16 +0,0 @@
|
||||
CREATE TABLE agent_observation_snapshots (
|
||||
agent_id TEXT NOT NULL,
|
||||
kind TEXT NOT NULL,
|
||||
last_dump_unix INTEGER NOT NULL,
|
||||
PRIMARY KEY(agent_id, kind)
|
||||
);
|
||||
|
||||
CREATE TABLE agent_observation_snapshot_keys (
|
||||
agent_id TEXT NOT NULL,
|
||||
kind TEXT NOT NULL,
|
||||
observation_key TEXT NOT NULL,
|
||||
PRIMARY KEY(agent_id, kind, observation_key)
|
||||
);
|
||||
|
||||
CREATE INDEX agent_observation_snapshot_keys_observation_idx
|
||||
ON agent_observation_snapshot_keys(observation_key);
|
||||
+68
-32
@@ -18,6 +18,69 @@ CREATE TABLE agent_meta (
|
||||
nickname TEXT
|
||||
);
|
||||
|
||||
---------------------------------------------------------------------------
|
||||
-- Agent-reported complete device state
|
||||
---------------------------------------------------------------------------
|
||||
|
||||
CREATE TABLE agent_devices (
|
||||
agent_id TEXT NOT NULL,
|
||||
device_key TEXT NOT NULL,
|
||||
presence TEXT NOT NULL,
|
||||
display_name TEXT,
|
||||
first_seen_unix INTEGER NOT NULL,
|
||||
last_seen_unix INTEGER NOT NULL,
|
||||
PRIMARY KEY (agent_id, device_key)
|
||||
) WITHOUT ROWID;
|
||||
|
||||
CREATE INDEX agent_devices_agent_seen_idx
|
||||
ON agent_devices(agent_id, last_seen_unix);
|
||||
|
||||
CREATE TABLE agent_device_macs (
|
||||
agent_id TEXT NOT NULL,
|
||||
device_key TEXT NOT NULL,
|
||||
mac TEXT NOT NULL,
|
||||
PRIMARY KEY (agent_id, device_key, mac),
|
||||
FOREIGN KEY (agent_id, device_key)
|
||||
REFERENCES agent_devices(agent_id, device_key) ON DELETE CASCADE
|
||||
) WITHOUT ROWID;
|
||||
|
||||
CREATE INDEX agent_device_macs_mac_idx
|
||||
ON agent_device_macs(mac);
|
||||
|
||||
CREATE TABLE agent_device_ips (
|
||||
agent_id TEXT NOT NULL,
|
||||
device_key TEXT NOT NULL,
|
||||
ip TEXT NOT NULL,
|
||||
PRIMARY KEY (agent_id, device_key, ip),
|
||||
FOREIGN KEY (agent_id, device_key)
|
||||
REFERENCES agent_devices(agent_id, device_key) ON DELETE CASCADE
|
||||
) WITHOUT ROWID;
|
||||
|
||||
CREATE INDEX agent_device_ips_ip_idx
|
||||
ON agent_device_ips(ip);
|
||||
|
||||
CREATE TABLE agent_device_hostnames (
|
||||
agent_id TEXT NOT NULL,
|
||||
device_key TEXT NOT NULL,
|
||||
hostname TEXT NOT NULL,
|
||||
PRIMARY KEY (agent_id, device_key, hostname),
|
||||
FOREIGN KEY (agent_id, device_key)
|
||||
REFERENCES agent_devices(agent_id, device_key) ON DELETE CASCADE
|
||||
) WITHOUT ROWID;
|
||||
|
||||
CREATE TABLE agent_device_facts (
|
||||
agent_id TEXT NOT NULL,
|
||||
device_key TEXT NOT NULL,
|
||||
fact_json TEXT NOT NULL,
|
||||
PRIMARY KEY (agent_id, device_key, fact_json),
|
||||
FOREIGN KEY (agent_id, device_key)
|
||||
REFERENCES agent_devices(agent_id, device_key) ON DELETE CASCADE
|
||||
) WITHOUT ROWID;
|
||||
|
||||
---------------------------------------------------------------------------
|
||||
-- Operator-curated known devices
|
||||
---------------------------------------------------------------------------
|
||||
|
||||
CREATE TABLE known_devices (
|
||||
device_id TEXT PRIMARY KEY,
|
||||
display_name TEXT NOT NULL,
|
||||
@@ -36,39 +99,12 @@ CREATE TABLE device_identifiers (
|
||||
UNIQUE(kind, value)
|
||||
);
|
||||
|
||||
CREATE INDEX device_identifiers_device_id_idx ON device_identifiers(device_id);
|
||||
CREATE INDEX device_identifiers_device_id_idx
|
||||
ON device_identifiers(device_id);
|
||||
|
||||
CREATE TABLE agent_device_observations (
|
||||
observation_key TEXT PRIMARY KEY,
|
||||
agent_id TEXT NOT NULL,
|
||||
kind TEXT NOT NULL,
|
||||
mac TEXT,
|
||||
ip TEXT,
|
||||
hostname TEXT,
|
||||
first_seen_unix INTEGER NOT NULL,
|
||||
last_seen_unix INTEGER NOT NULL,
|
||||
last_action TEXT NOT NULL
|
||||
);
|
||||
|
||||
CREATE INDEX agent_device_observations_agent_id_idx ON agent_device_observations(agent_id);
|
||||
CREATE INDEX agent_device_observations_mac_idx ON agent_device_observations(mac);
|
||||
CREATE INDEX agent_device_observations_ip_idx ON agent_device_observations(ip);
|
||||
CREATE INDEX agent_device_observations_hostname_idx ON agent_device_observations(hostname);
|
||||
CREATE INDEX agent_device_observations_last_seen_unix_idx ON agent_device_observations(last_seen_unix);
|
||||
|
||||
CREATE TABLE agent_device_observation_events (
|
||||
event_id TEXT PRIMARY KEY,
|
||||
agent_id TEXT NOT NULL,
|
||||
kind TEXT NOT NULL,
|
||||
action TEXT NOT NULL,
|
||||
mac TEXT,
|
||||
ip TEXT,
|
||||
hostname TEXT,
|
||||
ts_unix INTEGER NOT NULL
|
||||
);
|
||||
|
||||
CREATE INDEX agent_device_observation_events_agent_ts_idx ON agent_device_observation_events(agent_id, ts_unix);
|
||||
CREATE INDEX agent_device_observation_events_mac_idx ON agent_device_observation_events(mac);
|
||||
---------------------------------------------------------------------------
|
||||
-- Audit + alerts
|
||||
---------------------------------------------------------------------------
|
||||
|
||||
CREATE TABLE audit_events (
|
||||
event_key TEXT PRIMARY KEY,
|
||||
Reference in New Issue
Block a user