How it works
Your runs, collected. Drift, surfaced. On your infra.
The agent writes a report for every run. Egret Nest is the optional place those reports go - so a fleet of CI jobs becomes history, drift, and a fleet-wide view. It's a single Go binary you host yourself.
-
1
An Egret run POSTs its report
When you set EGRET_INGEST_URL, each Egret run sends a versioned Envelope (schema_version 1) to POST /ingest, authenticated with a bearer ingest token. Unset the URL and nothing is ever sent - the agent never requires Nest.
-
2
Nest records runs, repos & endpoints
It parses the report and stores what each CI job connected to - allowed, flagged, and blocked - per run and per repository, with the full history over time.
-
3
It computes new-endpoint drift
Each run's endpoints are compared against your baseline. Newly-seen endpoints are surfaced first - the earliest signal of a dependency change or a supply-chain compromise.
-
4
You browse it, access-controlled
A dashboard with run history, per-repo and org-wide rollups, org RBAC (owner / admin / member / viewer), and the auth trilogy (local + TOTP / GitHub OAuth / OIDC). All on your own infrastructure - the data never leaves it.
The invariant
Never required. Always optional.
EGRET_INGEST_URL, and the report is sent over TLS with a bearer
token you control (Egret refuses to send the token over cleartext HTTP).
What it needs
One binary, your own infra.
- A single static Go binary (pure-Go SQLite, no CGO) - or the Docker image
- A 32-byte
EGRET_NEST_SECRET_KEY(encrypts TOTP seeds + SSO secrets at rest) - TLS natively, or behind your own proxy
All Nest features → · Install options → · The ingest contract →