v0.24.5
This commit is contained in:
commit
5e23e9af02
240 files changed
+99957
No files matched your search
@@ -0,0 +1,36 @@
|
||||
-- Additive migration from 0.0.1. The configuration table is never cleared.
|
||||
CREATE TABLE IF NOT EXISTS configuration (
|
||||
id INTEGER PRIMARY KEY CHECK (id = 1),
|
||||
revision INTEGER NOT NULL CHECK (revision >= 0),
|
||||
document TEXT NOT NULL
|
||||
);
|
||||
CREATE TABLE IF NOT EXISTS administrator (
|
||||
id INTEGER PRIMARY KEY CHECK (id = 1),
|
||||
username TEXT NOT NULL UNIQUE,
|
||||
password_hash TEXT NOT NULL,
|
||||
generation INTEGER NOT NULL DEFAULT 1 CHECK (generation > 0),
|
||||
created_at INTEGER NOT NULL
|
||||
);
|
||||
CREATE TABLE IF NOT EXISTS admin_sessions (
|
||||
token_hash TEXT PRIMARY KEY CHECK (length(token_hash) = 64),
|
||||
csrf_token TEXT NOT NULL CHECK (length(csrf_token) = 64),
|
||||
generation INTEGER NOT NULL,
|
||||
created_at INTEGER NOT NULL,
|
||||
last_seen INTEGER NOT NULL,
|
||||
expires_at INTEGER NOT NULL,
|
||||
kind TEXT NOT NULL CHECK (kind IN ('browser', 'cli'))
|
||||
);
|
||||
CREATE INDEX IF NOT EXISTS admin_sessions_expiry ON admin_sessions(expires_at);
|
||||
CREATE TABLE IF NOT EXISTS admin_audit (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
time INTEGER NOT NULL,
|
||||
actor TEXT NOT NULL,
|
||||
action TEXT NOT NULL,
|
||||
detail TEXT NOT NULL
|
||||
);
|
||||
CREATE TABLE IF NOT EXISTS auth_throttle (
|
||||
id INTEGER PRIMARY KEY CHECK (id = 1),
|
||||
window_start INTEGER NOT NULL DEFAULT 0,
|
||||
attempts INTEGER NOT NULL DEFAULT 0
|
||||
);
|
||||
INSERT OR IGNORE INTO auth_throttle(id) VALUES(1);
|
||||
@@ -0,0 +1,12 @@
|
||||
-- Persist non-secret ACME renewal observations so the dashboard is populated
|
||||
-- immediately after a restart. Provider credentials remain outside SQLite.
|
||||
CREATE TABLE IF NOT EXISTS certificate_renewals (
|
||||
certificate_id TEXT PRIMARY KEY,
|
||||
last_checked INTEGER NOT NULL DEFAULT 0,
|
||||
next_check INTEGER NOT NULL DEFAULT 0,
|
||||
last_renewed INTEGER,
|
||||
not_after INTEGER,
|
||||
failures INTEGER NOT NULL DEFAULT 0 CHECK (failures >= 0),
|
||||
status TEXT NOT NULL DEFAULT '',
|
||||
message TEXT NOT NULL DEFAULT ''
|
||||
);
|
||||
@@ -0,0 +1,7 @@
|
||||
-- Account-scoped administration UI preferences. These are control-plane view state,
|
||||
-- separate from the revisioned proxy configuration document.
|
||||
CREATE TABLE IF NOT EXISTS admin_preferences (
|
||||
administrator_id INTEGER PRIMARY KEY CHECK (administrator_id = 1),
|
||||
document TEXT NOT NULL CHECK (length(document) BETWEEN 2 AND 4096),
|
||||
FOREIGN KEY (administrator_id) REFERENCES administrator(id) ON DELETE CASCADE
|
||||
);
|
||||
@@ -0,0 +1,9 @@
|
||||
-- Scoped credential for externally managed certificate deployment. The cleartext
|
||||
-- token is never persisted; only a SHA-256 digest and non-secret key id are stored.
|
||||
CREATE TABLE IF NOT EXISTS certificate_api_credential (
|
||||
id INTEGER PRIMARY KEY CHECK (id = 1),
|
||||
key_id TEXT NOT NULL UNIQUE CHECK (length(key_id) BETWEEN 3 AND 64),
|
||||
token_hash TEXT NOT NULL CHECK (length(token_hash) = 64),
|
||||
created_at INTEGER NOT NULL,
|
||||
last_used_at INTEGER
|
||||
);
|
||||
@@ -0,0 +1,16 @@
|
||||
-- Multiple scoped credentials for external certificate automation. Existing
|
||||
-- 0.23/0.24 singleton credentials are copied once and the legacy row is cleared
|
||||
-- so this idempotent migration can run safely on every startup.
|
||||
CREATE TABLE IF NOT EXISTS certificate_api_credentials (
|
||||
key_id TEXT PRIMARY KEY CHECK (length(key_id) BETWEEN 3 AND 64),
|
||||
token_hash TEXT NOT NULL CHECK (length(token_hash) = 64),
|
||||
comment TEXT NOT NULL DEFAULT '' CHECK (length(comment) <= 256),
|
||||
created_at INTEGER NOT NULL,
|
||||
last_used_at INTEGER
|
||||
);
|
||||
|
||||
INSERT OR IGNORE INTO certificate_api_credentials(key_id, token_hash, comment, created_at, last_used_at)
|
||||
SELECT key_id, token_hash, '', created_at, last_used_at
|
||||
FROM certificate_api_credential;
|
||||
|
||||
DELETE FROM certificate_api_credential;
|
||||
Reference in new issue
Block a user