1 Introduction
Obnam is a backup program.
This document describes the highest abstraction level of acceptance criteria. These are ones relevant to all users of Obnam, regardless of their use case. These ones are similar to the ones in the level 0 subplot, but with all details exposed of how Obnam is configured and invoked.
2 Acceptance criteria for all users and use case
2.1 Obnam can make and restore a backup
Want: Obnam can make a backup and restore it. The restored files are identical to the original ones.
Why: This is what backups are for.
1 given an installed Obnam
2 given file .config/obnam/config.yaml from local-config.yaml
3 given directory repo
4 when I run obnam repo init
5 when I run obnam client init --credential softy
6 given directory live-data
7 given file live-data/foo from some-data.txt
8 given file live-data/bar from other-data.txt
9 when I run obnam backup start
10 when I run obnam backup add live-data/foo --key-name=default
11 when I run obnam backup add live-data/bar --key-name=default
12 when I run obnam backup finish --key-name=default
13 given directory restored/live-data
14 when I run obnam restore --id=latest restored
15 then the restored files are identical to live data
repository:
directory: repo
credentials:
softy:
openpgp-key: |
-----BEGIN PGP PRIVATE KEY BLOCK-----
xVgEaL0m1BYJKwYBBAHaRw8BAQdAndFYVrDLfsB700KGlV7/FzhhJGfaBGxJ/b74
rEp2D4YAAQDoQe1n5dEFMG8qdeRox7uz7LEbAycdX71ttACeuP2plhDGzRFhbGlj
ZUBleGFtcGxlLmNvbcKaBBAWCABCBQJovSbUFiEEJvYHN5AuPh2CWk3vxETPZ1iE
BxMCGwMCHgEECwkIBwYVDgoJDAgBFg0nCQIIAgcCCQEIAQcBAhkBAAoJEMREz2dY
hAcT8QQA/2WovW8z5+XAUHS+4yGaifjbC9FLrBjtJk3tEIMDrx31AQD0ccWW1TMN
L5NvM8e34Oc+NKrgFi71NNmjNp2HmpjcD8ddBGi9JtQSCisGAQQBl1UBBQEBB0Bf
7mppbi9TUSe5BUD+wIkUhNaTVCDByDBEFb0FWQeTbAMBCAcAAP94T+3o2bZsSKpi
7pADJ8UX/rmlxDWCpZlmE9USy35WgBICwngEGBYIACAFAmi9JtQCGwwWIQQm9gc3
kC4+HYJaTe/ERM9nWIQHEwAKCRDERM9nWIQHE3zYAQDSEA78GTuVt3UNyp9SLWr6
5HN827RT0itIK0Q13sbIIQD/Z9jiMgHQ8BswgYJJSgvzOBoKouNRLeYZvMSRqWaE
8Qk=
=3qj+
-----END PGP PRIVATE KEY BLOCK-----
foo
bar