Container infrastructure for backing up container stacks using Borg
stackup | ||
.gitignore | ||
Containerfile | ||
LICENSE.md | ||
Makefile | ||
poetry.lock | ||
pyproject.toml | ||
README.md |
stackup
"Backups for your stacks!"
Container infrastructure for backing up container stacks using Borg
Implementation
- Wakup
- Identify volumes for a selected stack
- Identify current container ID
- Verify that all volumes for the stack are mounted to the current container
- Pull in settings from volume definition
- Credentials are configured on current container
- Assemble borg command(s) to perform backup(s)
Example label structures:
# labels applied to volumes in a stack definition
stackup.enable: 'true' # whether stackup should look at this volume
stackup.repo.foo.target: 'ssh://blorp@fizz.buzz.com:/backups/thing' # the borg repo
stackup.repo.foo.naming: 'timestamp|phrase|uuid' # internal archive name generator choice
stackup.repo.foo.init: 'false' # whether to initialize the borg repo if it doesn't exist
stackup.repo.foo.exclude[0]: blarg/cache # path in the volume to exclude from backup
stackup.repo.foo.exclude[1]: run/something.pid # path in the volume to exclude from backup