Documentation
¶
Overview ¶
Command backupd is the main backup service: HTTP API + worker + scheduler. It stays thin — all logic lives in /pkg/* behind interfaces (AGENTS.md layout rule). Phase 2 wired the authenticated user API over the CS3 gateway; Phase 4 added the backup pipeline (CS3 -> kopia -> S3 target); Phase 6 makes it run unattended: durable state, a scheduler, and notifications.
With an argument it is the operator CLI instead (commands.go: `backupd help` lists the commands). The maintenance commands ship in the same binary because they need the same configuration, the same state Space and the same custody keys.
Secrets arrive only through Secret-backed environment variables and are never logged: SRW_KEY / SRW_KEY_OLD (Data-Key custody), TW_KEY / TW_KEY_OLD (target-credential custody), SMTP_PASSWORD, BOOTSTRAP_S3_SECRET_ACCESS_KEY (optional first-start seeding), and the OpenCloud service-account credentials — of which the secret is the most valuable of the lot, because it reaches plaintext (decisions.md, threat model).