One config file
Cameras, storage tiers, retention, detector, alarms. Declared once, versioned like anything else, diffable between sites.
The stack you install at 4 p.m. is the stack that pages you at 2 a.m., so it tells you what it thinks of itself before you leave: pre-checks, a health verdict, and a rollback that does not need you to remember what you changed.
Cameras, storage tiers, retention, detector, alarms. Declared once, versioned like anything else, diffable between sites.
Ordinary units, ordinary logs. Every line follows a documented envelope, so your log pipeline parses it without a custom shipper.
Alarm conditions are configuration, not code. A camera that stops reporting is an event, so the quiet failure is the one you hear about.
The deploy keeps a rollback point and the pre-checks run against it, so an upgrade you do not like is one command away from undone.
cctv_console attaches to the running system and prints what is crossing the bus. It is the first thing to open on a support call.
Octosec does not speak ONVIF. Cameras are reached through a driver built against a stable C ABI, and Reolink is the driver that ships today. A complete driver is about 200 lines of C and needs neither our language nor our build system — so support for a make you already install is a driver question, and a short one.
Eight cameras and sixteen streams cost about 5% of a 20-core NAS. The recommended and honest-minimum boxes are published with the install story.
SLOT · PENDING D5