实现 LightOps 运维面板基础功能

This commit is contained in:
2026-05-25 01:13:03 +08:00
commit d3bb9f45a6
84 changed files with 23505 additions and 0 deletions

View File

@@ -0,0 +1,70 @@
CREATE TABLE IF NOT EXISTS applications (
id TEXT PRIMARY KEY,
agent_id TEXT NOT NULL,
name TEXT NOT NULL,
display_name TEXT NOT NULL,
description TEXT,
app_type TEXT NOT NULL,
provider TEXT NOT NULL,
status TEXT NOT NULL,
version TEXT,
install_path TEXT,
work_dir TEXT,
config_paths_json TEXT NOT NULL DEFAULT '[]',
log_paths_json TEXT NOT NULL DEFAULT '[]',
data_paths_json TEXT NOT NULL DEFAULT '[]',
ports_json TEXT NOT NULL DEFAULT '[]',
domains_json TEXT NOT NULL DEFAULT '[]',
service_name TEXT,
container_id TEXT,
compose_project TEXT,
package_name TEXT,
nginx_site TEXT,
run_user TEXT,
is_system INTEGER NOT NULL DEFAULT 0,
is_managed INTEGER NOT NULL DEFAULT 0,
is_lightops_managed INTEGER NOT NULL DEFAULT 0,
metadata_json TEXT NOT NULL DEFAULT '{}',
created_at TEXT NOT NULL,
updated_at TEXT NOT NULL,
FOREIGN KEY(agent_id) REFERENCES agents(id) ON DELETE CASCADE
);
CREATE INDEX IF NOT EXISTS idx_applications_agent ON applications(agent_id);
CREATE INDEX IF NOT EXISTS idx_applications_provider ON applications(provider);
CREATE INDEX IF NOT EXISTS idx_applications_status ON applications(status);
CREATE TABLE IF NOT EXISTS application_relations (
id TEXT PRIMARY KEY,
agent_id TEXT NOT NULL,
app_id TEXT NOT NULL,
relation_type TEXT NOT NULL,
target_id TEXT,
target_name TEXT,
metadata_json TEXT NOT NULL DEFAULT '{}',
created_at TEXT NOT NULL,
FOREIGN KEY(agent_id) REFERENCES agents(id) ON DELETE CASCADE,
FOREIGN KEY(app_id) REFERENCES applications(id) ON DELETE CASCADE
);
CREATE INDEX IF NOT EXISTS idx_application_relations_app ON application_relations(app_id);
CREATE TABLE IF NOT EXISTS application_actions (
id TEXT PRIMARY KEY,
agent_id TEXT NOT NULL,
app_id TEXT,
user_id TEXT,
action TEXT NOT NULL,
status TEXT NOT NULL,
params_json TEXT,
result_json TEXT,
error TEXT,
created_at TEXT NOT NULL,
finished_at TEXT,
FOREIGN KEY(agent_id) REFERENCES agents(id) ON DELETE CASCADE,
FOREIGN KEY(app_id) REFERENCES applications(id) ON DELETE SET NULL
);
CREATE INDEX IF NOT EXISTS idx_application_actions_app_created ON application_actions(app_id, created_at DESC);
CREATE INDEX IF NOT EXISTS idx_application_actions_agent_created ON application_actions(agent_id, created_at DESC);