Age | Commit message (Collapse) | Author | Files | Lines |
|
Signed-off-by: Lars Wirzenius <liw@liw.fi>
Sponsored-by: author
|
|
Signed-off-by: Lars Wirzenius <liw@liw.fi>
Sponsored-by: author
|
|
This builds on Alexander's work to show me how to get past the problem
I had. There's additional changes to finish off the changes.
Drop chunk deletion from server: it's not a good idea to have it until
the server API is authenticated.
Sponsored-by: author
|
|
Subplot has just made a breaking change: the subplot document metadata
must be in a separate YAML file, not embedded in the markdown. This
adapts Obnam to that.
It's a little awkward that Subplot hasn't made a release of this yet,
but as I use Subplot from git, I need this now.
Sponsored-by: author
|
|
Sponsored-by: author
|
|
Sponsored-by: author
|
|
Sponsored-by: author
|
|
When making a backup, use the same checksum for any chunks it re-uses
or creates. This is for performance: if we allowed two checksums to be
used, we would have to compute the checksum for a chunk twice, and
potentially look up both on the server. This is just a lot of work.
Instead, we use only one. The trade-off here is that when (not if) the
user wants to switch to a new checksum type, they'll have to do a full
backup, uploading all their data to the server, even when it's already
there, just with a different checksum. Hopefully this will be rare.
Full backups always use the built-in, hardcoded default checksum, and
incremental backups use whatever the previous backup used. The default
is still SHA256, but this commit add code to support BLAKE2 if we
decide to switch that as a default. It's also easy to add support for
others, now. BLAKE2 was added to verify that Obnam can actually handle
the checksum changing (manual test: not in the test suite).
I don't think users need to be offered even the option of choosing a
checksum algorithm to use. When one cares about both security and
performance, choosing a checksum requires specialist, expert
knowledge. Obnam developers should choose the default. Giving users a
knob they can twiddle just makes it that much harder to configure and
use Obnam. If the choice Obnam developers have made is shown to be
sub-optimal, it seems better to change the default for everyone,
rather than hope that every user changes their configuration to gain
the benefit.
Experience has shown that people mostly don't change the default
configuration, and that they are especially bad at choosing well when
security is a concern.
(Obnam is free software. Expert users can choose their checksum by
changing the source code. I'm not fundamentally limiting anyone's
freedom or choice here.)
Users can switch to a new default algorithm by triggering a full
backup with the new "obnam backup --full".
Sponsored-by: author
|
|
Serialized labels now start with a type prefix: a character that says
what type of label it is.
This isn't strictly required: we _can_ just decide to always use a
single type of checksum for all chunks in one backup, for one client,
or in the whole repository. However, if it's ever possible to have
more than one type, it helps debugging if every checksum, when
serialized, is explicit about its type.
Change things to use the new serialize method instead of the Display
trait for Label. We're primarily serializing labels so they can be
stored in a database, and used in URLs, only secondarily showing them
to users.
Sponsored-by: author
|
|
What was /chunks is now /v1/chunks. This is the minimal step to start
supporting multiple API versions.
Also, /v1/chunks/foo/bar is no longer supported.
Sponsored-by: author
|
|
Sponsored-by: author
|
|
Sponsored-by: author
|
|
Backups made with this version can't be restored with old clients, and
vice version.
Sponsored-by: author
|
|
Sponsored-by: author
|
|
docs: update the file metadata description
Closes #19
See merge request obnam/obnam!221
|
|
Sponsored-by: author
|
|
The field still contains a cleartext SHa256 of the cleartext chunk
data, but this makes it clearer that it may contain other data.
This is a breaking change: the server API won't work with an old
client, and the new client won't work with an old server. To avoid the
breakage would require more effort than is warranted at this time,
given the very small number of users of Obnam. Sorry.
Sponsored-by: author
|
|
Thanks, Alexander.
Sponsored-by: author
|
|
Sponsored-by: author
|
|
fix: subplot to work with current Subplot
See merge request obnam/obnam!192
|
|
Subplot has made backwards-incompatible changes to how step functions
are specified. Upgrade obnam.md to use the new way to work with
current Subplot.
Sponsored-by: author
|
|
Previously an error from, say, a missing backup root directory was
reported to the user as a warning. Turn it into an error. However,
errors reading a file or directory inside the backup root should still
be just a warning.
Sponsored-by: author
|
|
Make the setup of an installed Obnam and a running Obnam server be one
step instead of two. This is not a huge change, but even a little
helps, given how many scenarios need it.
Sponsored-by: author
|
|
Add a new mandatory database table "meta" to the SQLite database the
stores information about the files in a backup generation. The idea is
for future versions of the Obnam client to be able to be able to
restore from backups made by older -- or newer -- versions of Obnam,
as far as is reasonable.
Add the `obnam gen-info` command to show information about the
generation metadata.
Sponsored-by: author
|
|
It can be moved back when Subplot supports that again.
Sponsored-by: author
|
|
Sponsored-by: author
|
|
My Emacs' markdown-mode no longer gets confused by this and it's
clearer tot have it at the top.
Sponsored-by: author
|
|
feat: configure log verbosity with OBNAM_SERVER_LOG envvar
Closes #117
See merge request obnam/obnam!170
|
|
Sponsored-by: author
|
|
Fixes #117.
|
|
|
|
Sponsored-by: author
|
|
Cf. https://gitlab.com/obnam/obnam/-/merge_requests/158#note_605879696
|
|
|
|
Drop the copies in subplot/vendor. Subplot will now use its built-in
copies by default.
|
|
Add CACHEDIR.TAG to the threat model
See merge request larswirzenius/obnam!141
|
|
Backup roots and log file can now say ~/foo/bar to refer to files
relative to the user's home directory.
|
|
|
|
Fixes #78.
|
|
This way, every step doesn't need to specify a --config option to the
Obnam client.
|
|
This reads a passphrase and derives two passwords from that, and
stores them next to the configuration file. The passwords aren't yet
used for anything, that will come later.
|
|
|
|
The table triggers a bug in Subplot, so we use a list instead.
|
|
|
|
Previously, we either ignored it or aborted the backup. Neither is
good. Now we ignore the problem, except to show a warning at the end
of the backup run.
|
|
|
|
This makes it easier to see what the problem is.
|
|
|
|
|
|
|