Initial scaffold: Borg engine + docs (Layer 1 milestone)
apiscp-borg is a sibling of apiscp-kopia built on BorgBackup. This first milestone lands the project scaffold and the Layer 1 engine: - borg-apiscp-backup: per-site named archives (siteN-shadow/info/db), fresh per-site DB dumps via ApisCP site-context export, system + custom archives, borg prune retention per prefix, Prometheus metrics, email notifications. - apiscp-borg-common.sh: logging, mail, site/owner helpers. - config example, systemd service+timer, install.sh, README, DESIGN. Borg preserves POSIX ACLs and xattrs natively, so (unlike the kopia engine) no metadata sidecar is required; DESIGN.md records how Borg reshapes the design. Repository/restore tools, Layer 2 panel integration, hooks, uninstall, and the full reference are the next milestones.
This commit is contained in:
commit
2f0d93a0ae
10 changed files with 743 additions and 0 deletions
13
systemd/borg-apiscp-backup.service
Normal file
13
systemd/borg-apiscp-backup.service
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
[Unit]
|
||||
Description=apiscp-borg backup run (ACL/xattr-aware BorgBackup engine for ApisCP)
|
||||
Documentation=https://git.discworld.casa/laurence/apiscp-borg
|
||||
After=network-online.target
|
||||
Wants=network-online.target
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
Nice=10
|
||||
IOSchedulingClass=idle
|
||||
ExecStart=/usr/local/bin/borg-apiscp-backup
|
||||
# The engine holds its own lock and writes metrics on exit.
|
||||
TimeoutStartSec=0
|
||||
Loading…
Add table
Add a link
Reference in a new issue