Skip to content

Import cerberus - #1

Merged
keyldev merged 2 commits into
masterfrom
import-cerberus
Oct 13, 2026
Merged

keyldev merged 2 commits into
masterfrom
import-cerberus

Conversation

@keyldev

@keyldev keyldev commented Oct 13, 2026

Copy link
Copy Markdown
Collaborator

initial commit

The agent moves out of the cloud monorepo into a repository of its own: the C source, its
Makefile, the BusyBox init script and the two installers that ship to cameras.

Builds: ci/build.sh packages musl-armv7 (static, for OpenIPC), armhf, arm64 and amd64 in
containers, with -Werror and an ELF-architecture assertion per target. The version compiled
into the binary now comes from the v* tag (make VERSION=...), so a tarball and the agent
inside it never disagree.

Tests: tests/run.sh runs the agent against a fake coordinator over real TLS - identity, TLS
verification, enrolment, the heartbeat back-channel, start-up backoff, revocation - and then
brings up a real kernel WireGuard tunnel to a hub in its own netns, including a stolen route
the in-tunnel probe has to notice and repair. It runs on Alpine (musl, mbedTLS 3.x) and
Debian bookworm (glibc, mbedTLS 2.28), the two generations found in firmware.

CI: shellcheck, both test legs and the build matrix on every push and pull request; a v* tag
publishes the tested tarballs as a GitHub release.

S99cerberus now quotes the values it reads from the U-Boot environment: an unquoted
export word-splits in BusyBox ash, so a hostname with a space broke the start script.
The same license OpenIPC/decoder carries, with OpenIPC as the contributor: free for
noncommercial use, a thirty-day trial for commercial use. The template's Source Code line is
filled in, since its Notices rule refers to it.

Notices also asks that every copy carry the license text, binaries included, so ci/build.sh
now puts LICENSE.md into each release tarball. Both READMEs say what the license allows.
@keyldev
keyldev merged commit 097db8e into master Oct 13, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant