Tactical Media Broadcast Hub — initial release
Self-hosted multi-platform broadcast newsroom for activist collectives: publishing pipeline with group approval and DST-proof scheduling, TweetDeck-style column wall with hostile-content-safe rendering, live control room with Auto Director, bridged chat governance with polls and quorum, distributed sandboxed transcode workers, encrypted content-addressed archive, monthly analytics. MIT licensed. See README.md and docs/.
This commit is contained in:
commit
aa5e262f3a
880 changed files with 111042 additions and 0 deletions
16
packages/egress/migrations/001_host_budgets.sql
Normal file
16
packages/egress/migrations/001_host_budgets.sql
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
-- Infrastructure state shared by all egress callers; deliberately not tenant/RLS scoped.
|
||||
-- Run in an owner transaction and record @tactical-media-broadcast-hub/egress/001_host_budgets.sql
|
||||
-- in the application's schema_migrations(name, applied_at). This package never migrates at runtime.
|
||||
SET LOCAL lock_timeout = '5s';
|
||||
|
||||
CREATE TABLE host_budgets (
|
||||
host text PRIMARY KEY CHECK (host <> '' AND host = lower(host)),
|
||||
capacity double precision NOT NULL CHECK (capacity >= 1 AND capacity < 'Infinity'::double precision),
|
||||
-- Tokens per fixed 10-second interval (fractional tokens support continuous refill).
|
||||
refill_per_interval double precision NOT NULL CHECK (refill_per_interval > 0 AND refill_per_interval < 'Infinity'::double precision),
|
||||
tokens double precision NOT NULL CHECK (tokens >= 0 AND tokens <= capacity),
|
||||
-- A future timestamp parks the bucket: no refill/debit until this deadline.
|
||||
updated_at timestamptz NOT NULL DEFAULT clock_timestamp() CHECK (isfinite(updated_at))
|
||||
);
|
||||
|
||||
COMMENT ON TABLE host_budgets IS 'Infrastructure egress budgets; one IDNA lowercase host:effective-port key across callers and host classes. Retain while host is in use.';
|
||||
Loading…
Add table
Add a link
Reference in a new issue