harbor/make/migrations/postgresql/0040_2.1.0_schema.up.sql
fanjiankong a0c2d0ac9e feat(preheat):add preheat api, controller and manager
- define instance's api
- define extension models for api
- implement preheat controller
- implement preheat manager
- most code are picked up from the original P2P feat branch

Signed-off-by: fanjiankong <fanjiankong@tencent.com>
2020-07-03 11:25:42 +08:00

66 lines
1.9 KiB
SQL

ALTER TABLE project ADD COLUMN IF NOT EXISTS registry_id int;
ALTER TABLE IF EXISTS cve_whitelist RENAME TO cve_allowlist;
CREATE TABLE IF NOT EXISTS execution (
id SERIAL NOT NULL,
vendor_type varchar(16) NOT NULL,
vendor_id int,
status varchar(16),
status_message text,
trigger varchar(16) NOT NULL,
extra_attrs JSON,
start_time timestamp DEFAULT CURRENT_TIMESTAMP,
end_time timestamp,
PRIMARY KEY (id)
);
CREATE TABLE IF NOT EXISTS task (
id SERIAL PRIMARY KEY NOT NULL,
execution_id int NOT NULL,
job_id varchar(64),
status varchar(16) NOT NULL,
status_code int NOT NULL,
status_revision int,
status_message text,
run_count int,
extra_attrs JSON,
creation_time timestamp DEFAULT CURRENT_TIMESTAMP,
start_time timestamp,
update_time timestamp,
end_time timestamp,
FOREIGN KEY (execution_id) REFERENCES execution(id)
);
ALTER TABLE blob ADD COLUMN IF NOT EXISTS update_time timestamp default CURRENT_TIMESTAMP;
ALTER TABLE blob ADD COLUMN IF NOT EXISTS status varchar(255);
ALTER TABLE blob ADD COLUMN IF NOT EXISTS version BIGINT default 0;
CREATE INDEX IF NOT EXISTS idx_status ON blob (status);
CREATE INDEX IF NOT EXISTS idx_version ON blob (version);
CREATE TABLE p2p_preheat_instance (
id SERIAL PRIMARY KEY NOT NULL,
name varchar(255) NOT NULL,
description varchar(255),
vendor varchar(255) NOT NULL,
endpoint varchar(255) NOT NULL,
auth_mode varchar(255),
auth_data text,
enabled boolean,
is_default boolean,
insecure boolean,
setup_timestamp int
);
CREATE TABLE IF NOT EXISTS p2p_preheat_policy (
id SERIAL PRIMARY KEY NOT NULL,
name varchar(255) NOT NULL,
description varchar(1024),
project_id int NOT NULL,
provider_id int NOT NULL,
filters varchar(1024),
trigger varchar(16),
enabled boolean,
creation_time timestamp,
update_time timestamp
);