summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2021-03-03Merge branch 'tempfiles' into 'main'Lars Wirzenius5-98/+54
fix: allow generation temporary files to be automatically deleted Closes #36 See merge request larswirzenius/obnam!106
2021-03-03test: use a generic root for client.yamlLars Wirzenius1-1/+1
Previously client.yaml used a directory that only exists in my home directory, making the example config not be useful for others, unless they changed it.
2021-03-03fix: allow generation temporary files to be automatically deletedLars Wirzenius4-97/+53
By not calling NamedTempFile::persist, the files get deleted automatically when the file is closed or the struct is dropped. Previously we were deleting the temporary files manually, which meant that sometimes they weren't deleted if the program crashed at an unfortunate time.
2021-03-03Merge branch 'names' into 'main'Lars Wirzenius2-0/+31
feat: store user and group who own each file Closes #18 See merge request larswirzenius/obnam!105
2021-03-03feat: store user and group who own each fileLars Wirzenius2-0/+31
Actually, these aren't yet actually stored in the backup. That will happen when there's a way to verify file metadata stored in the backup. But this adds the code to look up the data during a backup so that at least that part gets some exercise.
2021-02-24Merge branch 'ansible' into 'main'Lars Wirzenius1-1/+40
feat: install the APT signing key for the Obnam package repository Closes #57 See merge request larswirzenius/obnam!103
2021-02-24feat: install the APT signing key for the Obnam package repositoryLars Wirzenius1-1/+40
2021-02-23Merge branch 'progress' into 'main'Lars Wirzenius4-18/+76
refactor: move downloading of previous generation to backup_run See merge request larswirzenius/obnam!102
2021-02-23feat: have separate progress bar for each backup phaseLars Wirzenius4-18/+76
2021-02-19Merge branch 'filetypes' into 'main'Lars Wirzenius11-34/+153
Support Unix domain sockets and named pipes Closes #43 See merge request larswirzenius/obnam!101
2021-02-19feat: backup and restore named pipes (FIFOs)Lars Wirzenius7-2/+37
2021-02-19feat: back up and restore Unix domain socketsLars Wirzenius11-34/+118
2021-02-18Merge branch 'filetypes' into 'main'Lars Wirzenius1-6/+4
refactor(check): simplify how quietness is implemented See merge request larswirzenius/obnam!100
2021-02-18refactor(check): simplify how quietness is implementedLars Wirzenius1-6/+4
2021-02-16Merge branch 'bytesize' into 'main'Lars Wirzenius3-2/+5
refactor: use bytesize::MIB constant for clearer size See merge request larswirzenius/obnam!99
2021-02-16refactor: use bytesize::MIB constant for clearer sizeLars Wirzenius3-2/+5
2021-02-16Merge branch 'deb' into 'main'Lars Wirzenius1-2/+2
fix: drop benchmark binaries from Debian package Closes #72 See merge request larswirzenius/obnam!98
2021-02-16fix: drop benchmark binaries from Debian packageLars Wirzenius1-2/+2
2021-02-16Merge branch 'initial-pbar' into 'main'Lars Wirzenius4-31/+84
progress bar improvements Closes #77 and #76 See merge request larswirzenius/obnam!97
2021-02-16config change for testingLars Wirzenius1-1/+1
2021-02-16fix: in an incremental backup, update total file count if neededLars Wirzenius1-0/+3
Previously, we were showing "N/M", where N is the number of files found in the current backup run, and M the number of files in the previous backup. I found this confusing if the new run finds more files than were in the previous run. Now we increment M if N goes beyond it.
2021-02-16fix: initial backup progress bar only shows total backup countLars Wirzenius1-1/+1
Previously it showed "N/M", where N was the number of files found in the current backup run, and M was the number of files found in the previous generation. But that made no sense for an initial backup, so now we only show N.
2021-02-16feat: change progress bars to show which kind of backup is happeningLars Wirzenius1-0/+2
2021-02-16fix: drop initial backup progress barLars Wirzenius1-1/+0
It didn't actually show any progress and so was useless.
2021-02-16refactor: split BackupRun into initial, incremental variantsLars Wirzenius2-28/+58
This is clearer, easier to modify than having a flag to indicate which variant we're running.
2021-02-16refactor: split BackupProgress into initial, increemental variantsLars Wirzenius2-2/+21
This makes it possible to later have different progress bars for initial and incremental backup runs. However, for now the bars are identical.
2021-02-16Merge branch 'server-config' into 'main'Lars Wirzenius2-47/+49
refactor: move server config into src/server.rs See merge request larswirzenius/obnam!96
2021-02-16refactor: move server config into src/server.rsLars Wirzenius2-47/+49
2021-02-16Merge branch 'feature/75-tutorial' into 'main'Lars Wirzenius2-48/+282
doc(tutorial.md): add a rudimentary tutorial See merge request larswirzenius/obnam!95
2021-02-12doc(tutorial.md): add a rudimentary tutorialAlexander Batischev2-48/+282
2021-02-11Merge branch 'threat-zero' into 'main'Lars Wirzenius1-0/+34
doc(obnam.md): add the start of threat modeling Closes #65 See merge request larswirzenius/obnam!94
2021-02-11doc(obnam.md): add the start of threat modelingLars Wirzenius1-0/+34
This is intentionally very simplistic. I'm not experienced at this and I need to take it slow. It also leaves the details of how encryption is implemented open, for now.
2021-02-10Merge branch 'bugfix/service-file-typos' into 'main'Lars Wirzenius1-2/+2
Fix a couple typos in the systemd service file See merge request larswirzenius/obnam!91
2021-02-10Merge branch 'check-v' into 'main'Lars Wirzenius1-0/+1
fix(check): don't pass -v for check on to test.py See merge request larswirzenius/obnam!93
2021-02-10fix(check): don't pass -v for check on to test.pyLars Wirzenius1-0/+1
Previously, -v was obeyed by check itself, but also passed onto the test program it generates with Subplot. This removes -v from the list of arguments passed on to the test program. This makes -v actually be useful.
2021-02-10Merge branch 'no-matched' into 'main'Lars Wirzenius1-1/+4
fix: don't use the matched! macro See merge request larswirzenius/obnam!92
2021-02-10fix: don't use the matched! macroLars Wirzenius1-1/+4
Rust compiler gives an error due to it being too new.
2021-02-08fix: move ConditionPathExists into Unit sectionAlexander Batischev1-1/+1
2021-02-08fix: use /bin in systemd serviceAlexander Batischev1-1/+1
...as this is where the Debian package puts the binaries.
2021-02-07Merge branch 'error-ignore' into 'main'Lars Wirzenius8-16/+83
Ignore files that can't be read during backup Closes #27 See merge request larswirzenius/obnam!90
2021-02-07test: add scenario for live data file being unreadableLars Wirzenius3-0/+42
2021-02-07feat: if file can't be read, log that, don't end backup in errorLars Wirzenius4-11/+30
Such files won't be restored, as they'd be restored as empty file, and that would be confusing and thus bad.
2021-02-07refactor: rename Reason::Error to Reason::GenerationLookupErrorLars Wirzenius3-5/+8
New name is more precise. The meaning of the enum variant hasn't changed.
2021-02-07feat: add catch-all Reason variant for unknown reasonLars Wirzenius2-2/+5
Just in case the SQLite DB stores a reason this version of Obnam doesn't understand, we handle that now.
2021-02-06Merge branch 'roots' into 'main'Lars Wirzenius4-35/+90
feat! back up multiple roots Closes #54 See merge request larswirzenius/obnam!89
2021-02-06feat! back up multiple rootsLars Wirzenius4-35/+90
This changes the client configuration file "root" field (with a single string) to "roots" (a list of strings).
2021-02-06Merge branch 'chunk-size' into 'main'Lars Wirzenius12-31/+144
Make chunk size configurable Closes #44 See merge request larswirzenius/obnam!88
2021-02-06test: add scenario for checking chunk-sizeLars Wirzenius5-17/+53
2021-02-06feat: use the chunk size setting from the client configurationLars Wirzenius3-11/+11
Use the chunk_size setting for file data. For the SQLite file, use a hard-coded size instead.
2021-02-06feat: make client config fields be optional, have defaultsLars Wirzenius1-2/+36
We don't want to require the user to have to specify every possible setting in client configuration files. Having reasonable defaults when possible is a better way.