summaryrefslogtreecommitdiff
path: root/src/bin
AgeCommit message (Collapse)AuthorFilesLines
2022-11-12fix: unnecessary borrows, other things found by clippyLars Wirzenius1-1/+1
Sponsored-by: author
2022-11-02fix: put back --versionLars Wirzenius1-1/+1
Sponsored-by: author
2022-10-28feat! finish chunk store abstractionLars Wirzenius1-34/+11
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
2022-10-26stashLars Wirzenius1-11/+8
Sponsored-by: author
2022-10-23refactor: use clap instead of structoptLars Wirzenius2-12/+11
clap version 3 basically replaces structopt entirely. Sponsored-by: author
2022-04-06feat! add chunk server API version to HTTP pathsLars Wirzenius1-0/+8
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
2022-04-05feat: collect and log some time metricsLars Wirzenius1-3/+8
Log the complete run-time of the program, and the time spent downloading the previous generation, and uploading the new generation. Sponsored-by: author
2022-03-22feat! drop generation related fields from chunk metadataLars Wirzenius1-3/+1
Sponsored-by: author
2022-03-20feat: add subcommands inspect, list-backup-versionsLars Wirzenius1-0/+6
Sponsored-by: author
2022-03-13feat! rename metadata field "sha256" to "label"Lars Wirzenius1-2/+2
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
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.