summaryrefslogtreecommitdiff
path: root/src/bin/obnam-server.rs
AgeCommit message (Collapse)AuthorFilesLines
2022-11-12fix: unnecessary borrows, other things found by clippyLars 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 Wirzenius1-5/+4
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-03-22feat! drop generation related fields from chunk metadataLars Wirzenius1-3/+1
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-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 Wirzenius1-1/+1
Mostly https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow. Sponsored-by: author
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 Wirzenius1-3/+3
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-03-24chore: use warp's bytes instead of bytes crate directlyLars Wirzenius1-1/+1
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 Wirzenius1-2/+13
2021-02-16refactor: move server config into src/server.rsLars Wirzenius1-47/+3
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-01-10feat! use SQLite db for chunk index on serverLars Wirzenius1-11/+7
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-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-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-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-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-09start on obnam-listLars Wirzenius1-1/+5
2020-10-14refactor: rename Chunk to DataChunkLars Wirzenius1-3/+3
2020-10-14refactor: move chunk metadata out of chunk structLars Wirzenius1-12/+11
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 Wirzenius1-3/+10
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.