summaryrefslogtreecommitdiff
path: root/src/bin
AgeCommit message (Collapse)AuthorFilesLines
2021-10-24feat! store schema version of generation database in the dbLars Wirzenius1-0/+3
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
2021-09-23drop: benchmark programsLars Wirzenius4-242/+0
I think we need to re-think the way we do benchmarks. These old programs aren't useful anymore. We definitely want to run benchmarks via "cargo bench" rather than having extra binaries in the crate. Sponsored-by: author
2021-08-02Merge branch 'feature/117-obnam_server_log' into 'main'Lars Wirzenius1-1/+1
feat: configure log verbosity with OBNAM_SERVER_LOG envvar Closes #117 See merge request obnam/obnam!170
2021-08-01feat: add command to resolve a generation ref into a chunk idLars Wirzenius1-0/+3
Sponsored-by: author
2021-07-31feat: configure log verbosity with OBNAM_SERVER_LOG envvarAlexander Batischev1-1/+1
Fixes #117.
2021-07-30cleanup: fix things rustc/clipppy now complain aboutLars Wirzenius4-4/+4
Mostly https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow. Sponsored-by: author
2021-07-18feat: add "chunkify" subcommandLars Wirzenius1-0/+3
Sponsored-by: author
2021-07-05refactor: have main explicitly print error messageLars Wirzenius1-8/+11
This is a little cleaner than having main print an error message by returning an Err value as a Result. For one thing, we can be more sure we log the error. Sponsored-by: author
2021-05-29refactor: only have client config without passwordsLars Wirzenius1-24/+15
This means the config is always the config, and not sometimes the config or the config and passwords. Also, there's no config option for encrypting, anymore. It will not be optional now.
2021-05-29refactor: count chunks via file system, not via chunk server APILars Wirzenius1-2/+0
2021-05-29refactor: make metadata be part of datachunkLars Wirzenius5-13/+14
This makes it harder to lose the metadata for a chunk, or to use unrelated metadata and chunk. Also, soon I will refactor things for encrypting chunks, which will need metadata embedded in the encrypted chunk. Sponsored-by: author
2021-04-10refactor: main function for clarityLars Wirzenius1-13/+14
2021-04-10refactor: have ClientConfigWithoutPasswords know its filenameLars Wirzenius1-2/+1
This allows Init::run to not need to be given it as an argument.
2021-04-10refactor: struct ShowConfig subcommandLars Wirzenius1-5/+5
2021-04-10refactor: struct GetChunk subcommandLars Wirzenius1-6/+4
2021-04-10refactor: struct Restore subcommandLars Wirzenius1-9/+4
2021-04-10refactor: struct ListFiles subcommandLars Wirzenius1-6/+4
2021-04-10refactor: struct ShowGeneration subcommandLars Wirzenius1-6/+4
2021-04-10refactor: struct List subcommandLars Wirzenius1-3/+4
2021-04-10refactor: struct Backup subcommandLars Wirzenius1-3/+4
2021-04-10refactor: struct Init subcommandLars Wirzenius1-15/+6
2021-04-10refactor: move ClientConfig into its own moduleLars Wirzenius1-1/+1
2021-04-09refactor: move function to better placeLars Wirzenius1-13/+13
2021-04-09feat: add "obnam init" subcommandLars Wirzenius1-28/+43
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.
2021-03-27refactor: don't return Result if main can't failLars Wirzenius1-3/+1
2021-03-24refactor: switch from dirs crate to directories-nextLars Wirzenius1-5/+8
It's a higher-level library and a little nicer to use.
2021-03-24chore: use warp's bytes instead of bytes crate directlyLars Wirzenius1-1/+1
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.