feat(filters): external webhook retry on status codes (#1206)

* feat: external filter retry status codes

* chore: go mod tidy

* fix(database): migrations

---------

Co-authored-by: ze0s <ze0s@riseup.net>
This commit is contained in:
Steven Kreitzer 2023-10-27 10:37:57 -05:00 committed by GitHub
parent 40a1a4c014
commit 2080136669
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
11 changed files with 330 additions and 165 deletions

View file

@ -133,21 +133,25 @@ CREATE TABLE filter
CREATE TABLE filter_external
(
id SERIAL PRIMARY KEY,
name TEXT NOT NULL,
idx INTEGER,
type TEXT,
enabled BOOLEAN,
exec_cmd TEXT,
exec_args TEXT,
exec_expect_status INTEGER,
webhook_host TEXT,
webhook_method TEXT,
webhook_data TEXT,
webhook_headers TEXT,
webhook_expect_status INTEGER,
filter_id INTEGER NOT NULL,
FOREIGN KEY (filter_id) REFERENCES filter(id) ON DELETE CASCADE
id SERIAL PRIMARY KEY,
name TEXT NOT NULL,
idx INTEGER,
type TEXT,
enabled BOOLEAN,
exec_cmd TEXT,
exec_args TEXT,
exec_expect_status INTEGER,
webhook_host TEXT,
webhook_method TEXT,
webhook_data TEXT,
webhook_headers TEXT,
webhook_expect_status INTEGER,
webhook_retry_status TEXT,
webhook_retry_attempts INTEGER,
webhook_retry_delay_seconds INTEGER,
webhook_retry_max_jitter_seconds INTEGER,
filter_id INTEGER NOT NULL,
FOREIGN KEY (filter_id) REFERENCES filter(id) ON DELETE CASCADE
);
CREATE TABLE filter_indexer
@ -797,5 +801,17 @@ CREATE INDEX feed_cache_feed_id_key_index
`,
`ALTER TABLE action
ADD COLUMN external_client_id INTEGER;
`,
`ALTER TABLE filter_external
ADD COLUMN external_webhook_retry_status TEXT;
ALTER TABLE filter_external
ADD COLUMN external_webhook_retry_attempts INTEGER;
ALTER TABLE filter_external
ADD COLUMN external_webhook_retry_delay_seconds INTEGER;
ALTER TABLE filter_external
ADD COLUMN external_webhook_retry_max_jitter_seconds INTEGER;
`,
}