From 38aad76057792b3571df1bdb59ad6a852bd2b0a2 Mon Sep 17 00:00:00 2001 From: Michal 'vorner' Vaner <michal.vaner@nic.cz> Date: Fri, 12 Feb 2016 13:50:17 +0100 Subject: [PATCH] Plugin history: Tables Create the table for the plugin history storage. Update the clean up script, so the history is cleaned up accordingly. --- src/master/dbscripts/initdb | 19 +++++++++++++++++++ src/master/dbscripts/purge | 2 +- 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/src/master/dbscripts/initdb b/src/master/dbscripts/initdb index d94de105..b5395dc3 100755 --- a/src/master/dbscripts/initdb +++ b/src/master/dbscripts/initdb @@ -17,6 +17,7 @@ DROP TABLE IF EXISTS fake_logs; DROP TABLE IF EXISTS fake_server_names; DROP TABLE IF EXISTS fake_blacklist_limits; DROP TABLE IF EXISTS fake_blacklist_scores; +DROP TABLE IF EXISTS plugin_history; DROP TABLE IF EXISTS known_plugins; DROP TABLE IF EXISTS active_plugins; DROP TABLE IF EXISTS ssh_commands; @@ -105,6 +106,18 @@ CREATE TABLE active_plugins ( UNIQUE(client, name), FOREIGN KEY (client) REFERENCES clients(id) ); +CREATE TABLE plugin_history ( + id BIGINT NOT NULL PRIMARY KEY, + client INT NOT NULL, + name TEXT NOT NULL, + timestamp TIMESTAMP NOT NULL, + version INT, + hash TEXT, + active BOOL NOT NULL, + FOREIGN KEY (client) REFERENCES clients(id) +); +CREATE SEQUENCE plugin_history_id OWNED BY plugin_history.id; +ALTER TABLE plugin_history ALTER COLUMN id SET DEFAULT NEXTVAL('plugin_history_id'); CREATE OR REPLACE VIEW plugin_activity AS SELECT clients.name, MIN(globals.last) AS last, @@ -678,6 +691,8 @@ GRANT SELECT ON known_plugins TO $DBUPDATER; GRANT DELETE ON active_plugins TO $DBUPDATER; GRANT INSERT ON active_plugins TO $DBUPDATER; GRANT SELECT ON active_plugins TO $DBUPDATER; +GRANT INSERT ON plugin_history TO $DBUPDATER; +GRANT ALL ON plugin_history_id TO $DBUPDATER; GRANT SELECT (name, passwd, mechanism, builtin_passwd, slot_id) ON clients TO $DBAUTHENTICATOR; @@ -719,6 +734,10 @@ GRANT DELETE ON refused TO $DBCLEANER; GRANT DELETE ON ssh_sessions TO $DBCLEANER; GRANT DELETE ON ssh_commands TO $DBCLEANER; GRANT SELECT ON fake_logs TO $DBCLEANER; +GRANT SELECT ON plugin_history TO $DBCLEANER; +GRANT INSERT ON plugin_history TO $DBCLEANER; +GRANT DELETE ON plugin_history TO $DBCLEANER; +GRANT ALL ON plugin_history_id TO $DBUPDATER; GRANT SELECT ON groups TO $DBARCHIVIST; GRANT SELECT ON count_types TO $DBARCHIVIST; diff --git a/src/master/dbscripts/purge b/src/master/dbscripts/purge index 9c19b851..4c81332e 100755 --- a/src/master/dbscripts/purge +++ b/src/master/dbscripts/purge @@ -4,7 +4,7 @@ set -ex . ./dbconfig -TABLES='activities anomalies count_snapshots bandwidth bandwidth_stats bandwidth_stats_dbg refused fake_logs' +TABLES='activities anomalies count_snapshots bandwidth bandwidth_stats bandwidth_stats_dbg refused fake_logs plugin_history' BATCH_TABLES='pings certs nats spoof' DATE=$(date -d "$CLEAN_DAYS days ago" "+'%Y-%m-%d'") -- GitLab