stackup/README.md

29 lines
1.0 KiB
Markdown
Raw Permalink Normal View History

2024-02-01 04:44:28 +00:00
# stackup
2023-03-15 00:08:26 +00:00
> "Backups for your stacks!"
2024-02-01 04:44:28 +00:00
Container infrastructure for backing up container stacks using Borg
## Implementation
1. Wakup
2. Identify volumes for a selected stack
3. Identify current container ID
4. Verify that all volumes for the stack are mounted to the current container
5. Pull in settings from volume definition
* Credentials are configured on current container
6. Assemble borg command(s) to perform backup(s)
Example label structures:
```yaml
# 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
```