Files
Reef/README.md
T
VeillaxandClaude Sonnet 5.5 64101e00d2
CI / test (push) Successful in 1m20s
secretbox: add AES-256-GCM sealing of small secrets
Moved out of Hammerhead's internal package so Sandbar can use it too.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-26 23:21:56 -06:00

36 lines
1.5 KiB
Markdown

# Reef
A shared library for Hammerhead, Blacktip, Bamboo and Sandbar
Shared types and building blocks for the sharks stack: [Hammerhead](https://git.veillax.com/Veillax/hammerhead) (control plane), [Blacktip](https://git.veillax.com/Veillax/blacktip) (edge) and [Bamboo](https://git.veillax.com/Veillax/bamboo) (site agent).
Reef holds the code all three programs agree on, so each can be built and released from its own repository.
| Package | What it is |
|---|---|
| `model` | The data types passed between the programs: edges, sites, ports, mail egress, DKIM keys, alert-relevant status and reports |
| `tunnel` | The wire format used inside the WireGuard tunnel, and the helper that pipes two connections together |
| `wg` | wireguard-go with a userspace network stack: no root, no kernel interface, works on Windows, macOS and Linux |
| `authtoken` | Signed, expiring login tokens with a revocation epoch |
| `netguard` | Refuses internal addresses for anything that connects out on a user's behalf (webhooks, mail delivery), and dials the address it checked |
| `docker` | Lists running containers through the Docker Engine API, with no SDK |
| `dotenv` | Loads a `.env` file into the environment without overriding real variables |
| `secretbox` | AES-256-GCM sealing of small secrets (`enc1:` values) before they are written to a database |
## Using it
```
go env -w GOPRIVATE=git.veillax.com # once, so Go fetches straight from this server
go get git.veillax.com/Veillax/reef@latest
```
## Tests
```
go test ./...
```
## License
AGPL-3.0. See `LICENSE`.