summaryrefslogtreecommitdiff
path: root/src/bin
AgeCommit message (Collapse)AuthorFilesLines
2021-03-06perf: report wall clock time for warmup and hot lookupsLars Wirzenius2-0/+12
2021-03-05perf: allow benchmark-indexedstore do lookups by checksumLars Wirzenius1-9/+68
2021-03-05perf: allow benchmark-index to do lookups by checksumLars Wirzenius1-15/+67
2021-03-03fix: remove duplicate error message printingLars Wirzenius1-1/+0
2021-03-03refactor: rename Config, ConfigError to show they are for serverLars Wirzenius1-4/+4
2021-03-03feat: in errors about reading a configuration file, include its nameLars Wirzenius2-7/+33
2021-02-19feat: back up and restore Unix domain socketsLars Wirzenius1-1/+1
2021-02-16refactor: move server config into src/server.rsLars Wirzenius1-47/+3
2021-02-06feat: use the chunk size setting from the client configurationLars Wirzenius1-6/+2
Use the chunk_size setting for file data. For the SQLite file, use a hard-coded size instead.
2021-02-06feat: method for listing ids of chunks from file dataLars Wirzenius1-0/+2
This will be useful soon, to enable us to check how many chunks from file data there is in the repository, to check that an upcoming chunk size setting works. Also add an API call for returning the ids. Note that all of this is meant for testing only. It may be best to disable it in production builds, eventually.
2021-02-04feat: add obnam config subcommandLars Wirzenius1-1/+3
2021-02-04refactor: have per-module error enumsLars Wirzenius1-1/+1
This means that a function that parses step bindings can't return an error that the document is missing a title. Such an error return would be nonsensical, and we use the Rust type system to prevent it, at a small cost of being a bit verbose. Additional benefit is that the library portion of Obnam doesn't return anyhow::Result values anymore.
2021-01-17feat: add a default configuration fileLars Wirzenius1-2/+16
The ~/.config/obnam/obnam.yaml file will be used as the configuration file by default. The ~/.config directory can be overridden by setting the XDG variable (XDG_CONFIG_HOME), or the whole file can be overridden with the --config option to obnam.
2021-01-16feat: add "obnam show-generation" subcommandLars Wirzenius1-1/+6
2021-01-10feat! use SQLite db for chunk index on serverLars Wirzenius3-14/+12
This speeds startup a lot. However, the backup repository needs to be re-created from scratch and internal APIs have change in incompatible ways.
2021-01-04feat: verify checksum of chunks downloaded from serverLars Wirzenius1-1/+6
2021-01-04feat! record whether file was backed up and why, in a generationLars Wirzenius1-1/+6
This changes SQL schema.
2021-01-03feat: load chunk metadata into index at startupLars Wirzenius1-1/+3
This needs to be replace with a database or something, but it'll do for now.
2020-12-23refactor: use a struct instead of a tupleLars Wirzenius1-2/+4
It seems this is more idiomatic in Rust.
2020-12-23feat! let server address be configuredLars Wirzenius1-8/+13
Instead of just specifying port, let the address (or name) be configured.
2020-12-23feat: add log file to clientLars Wirzenius1-10/+34
2020-12-23feat! add a global --config optionLars Wirzenius1-16/+19
This breaks all invocations of the Obnam client, as the option needs to come before the subcommand name. The benefit of this breakage is simpler, less repetitive code.
2020-11-27feat! make obnam-server always use TLSLars Wirzenius1-3/+3
This will ruin my benchmark results, but it's the right thing to do.
2020-11-25feat: add programs to benchmark server chunk storageLars Wirzenius4-0/+118
2020-11-24refactor: add an abstraction for an indexed storeLars Wirzenius1-61/+31
This makes it easier to write a server without the HTTP layer.
2020-11-22feat! use temporary files for SQLite databasesLars Wirzenius1-9/+1
The user should not have to specify filenames for the databases, since they don't actually care where they're stored.
2020-11-13refactor: split obnam's bindings, functions for clarityLars Wirzenius1-1/+3
The old subplot/obnam.{yaml,py} were starting to get large enough that it was hard to understand them. Also, were partly overlapping in functionality with runcmd.
2020-11-13refactor: put all client functionality into one programLars Wirzenius4-186/+52
2020-11-10feat: restore a generationLars Wirzenius2-17/+80
2020-11-09fetch gen sqlite file when restoringLars Wirzenius1-75/+15
2020-11-09start on obnam-listLars Wirzenius2-1/+32
2020-11-08feat(src/bin/obnam-backup.rs): new backup client, walks live dataLars Wirzenius1-202/+23
2020-10-16feat: obnam-restore restores generation to stdoutLars Wirzenius2-18/+201
2020-10-14refactor: rename Chunk to DataChunkLars Wirzenius2-7/+7
2020-10-14refactor: move chunk metadata out of chunk structLars Wirzenius2-19/+19
2020-10-10feat: add logging of problems, and generally what's going onLars Wirzenius1-14/+28
2020-10-10feat: add logging to all requestsLars Wirzenius1-1/+3
2020-10-03feat: add rudimentary backup clientLars Wirzenius2-3/+161
Also, a bit of logging for server.
2020-09-26refactor: add helper functions to reduce code clutterLars Wirzenius1-57/+81
2020-09-19feat: search, delete chunks on chunk serverLars Wirzenius1-10/+131
Also heavily refactor the now-long scenario by splitting out a happy path and some unhappy paths.
2020-09-18use to_string method for ChunkId instead of format! macroLars Wirzenius1-1/+1
2020-09-18feat: add a rudimentary chunk server main programLars Wirzenius1-0/+224
Also, add an initial subplot to document and verify acceptance criteria.