Commit Graph

51 Commits

Author SHA1 Message Date
Jarek Kowalski
de02941442 plumbed through key time in map storage 2017-11-23 16:43:34 -08:00
Jarek Kowalski
7c41f45e9f extracted block formatting options into a struct under 'block' 2017-10-29 13:00:24 -07:00
Jarek Kowalski
49a806154a code reorg 2017-10-29 12:03:49 -07:00
Jarek Kowalski
b6575a97ba moved metadata manager to 'metadata' package and refactored initialization sequence 2017-10-29 10:29:22 -07:00
Jarek Kowalski
b5d0f2d120 more renames 2017-10-14 16:38:27 -07:00
Jarek Kowalski
c3f31d744f removed stuttering 2017-10-14 16:38:22 -07:00
Jarek Kowalski
31e5bce1cb moved object management to kopia/kopia/object 2017-10-14 16:38:22 -07:00
Jarek Kowalski
f33ae14573 renamed 'blob.Storage' to 'storage.Storage' 2017-10-14 16:38:09 -07:00
Jarek Kowalski
cc3e590136 moved block manager and formatter to a separate package 2017-10-09 06:42:30 -07:00
Jarek Kowalski
444b6306ca refactored object manager to use block manager, exposed on repository
added CLI commands to manipulate blocks
2017-10-08 12:44:53 -07:00
Jarek Kowalski
91e43b6842 changed how pack files get split by using the same splitter mechanism (static or dynamic) in use for regular objects 2017-09-14 19:17:19 -07:00
Jarek Kowalski
b08a35e92b refactored FS cache into reusable wrapper that can be applied on top of any filesystem abstraction 2017-09-04 17:42:50 -07:00
Jarek Kowalski
e8847b65cc mounting webdav works, changed how FS directory caching is implemented to be based solely on ObjectIDs 2017-09-02 08:29:59 -07:00
Jarek Kowalski
2c6213239a added cache expiration to fscache.Cache, so that entries based on ObjectID are cached for a very long time and others expire almost immediately.
This allows 'kopia mount all' to see newly created snapshots.
2017-08-29 21:47:06 -07:00
Jarek Kowalski
7b766a7681 fixed liter warnings not detected by old linter 2017-08-27 15:16:27 -07:00
Jarek Kowalski
d613d99f7e beginnings of WebDAV mounting support, not really working yet, need to do have better caching 2017-08-27 15:02:56 -07:00
Jarek Kowalski
ebe00e9405 fixup 2017-08-27 09:00:32 -07:00
Jarek Kowalski
2b887b0b2e changed fs.Reader to be a Seeker too 2017-08-27 08:58:59 -07:00
Jarek Kowalski
c3064f56b0 added experimental support for WebDAV backends (use http:// or https://) 2017-08-21 22:17:04 -07:00
Jarek Kowalski
484db94e23 removed support for legacy bundles, now that packs are supported everywhere 2017-08-19 18:06:15 -07:00
Jarek Kowalski
f0fcc60374 now that packing is transparent, inline object IDs are not needed, removed support for them and simplified ObjectWriter.Result() to no longer require a parameter 2017-08-19 14:23:09 -07:00
Jarek Kowalski
3e36ce748f removed conditional PutBlock, which was causing more trouble that it's worth
with unconditional rewrites any partial block writes are self-correcting on subsequent updates,
without it they can't complete at all.
2017-08-13 08:54:50 -07:00
Jarek Kowalski
8dda3bf2c5 added option to read portions of blob storage blocks 2017-08-12 23:11:01 -07:00
Jarek Kowalski
94f5420557 re-added support for bundles (read-only) to aid data migration 2017-08-12 14:07:22 -07:00
Jarek Kowalski
ce4d59d8bb added support for cancelling upload with Ctrl-C which marks the snapshot as incomplete
added --include-incomplete to 'backups' command
improved upload API, added support for better cancellation and upload limits
changed hashcache Reader and Writer to use interfaces
2017-08-10 20:27:31 -07:00
Jarek Kowalski
2c86e54c81 removed support for bundles now that packs are looking much better and more flexible 2017-08-10 18:24:22 -07:00
Jarek Kowalski
6821b8def4 Initial support for creating pack objects, which are identified by
P<pack-id>.<block-id> and store smaller files in big objects.

For each pack there is a corresponding metadata object that ObjectID to (offset,length) within a pack object.
2017-08-07 14:18:00 +02:00
Jarek Kowalski
2dfcd23ea9 added hashcache database, based on BoltDB which caches results of computing ObjectID for any given os.FileInfo. 2017-08-04 13:19:28 +02:00
Jarek Kowalski
21a1cbd0bb renamed auth.Options to auth.SecurityOptions 2017-08-01 17:47:28 +02:00
Jarek Kowalski
cfbef13aff Major refactoring to how repository connections are established and managed to simplify programmatic API usage and CLI.
Removed unnecessary and confusing options, improved the API.
2017-08-01 08:35:14 +02:00
Jarek Kowalski
095fc4aba4 removed 'client' package and merged with 'repo', names still not final 2017-08-01 08:29:42 +02:00
Jarek Kowalski
4dcdb69dcc replaced use of Vault with Repository 2017-08-01 08:29:41 +02:00
Jarek Kowalski
c3f0d5ddc4 moved all Vault types to 'repo' package 2017-08-01 08:29:41 +02:00
Jarek Kowalski
6e28a8688c changed blob.Storage.ListBlock() to return cancellation function 2017-07-01 12:03:42 -07:00
Jarek Kowalski
0195d2740a moved directory JSON format handling to internal/dir 2017-01-30 20:04:13 -08:00
Jarek Kowalski
4b89c95721 moved hashcache to internal 2017-01-29 07:50:49 -08:00
Jarek Kowalski
a5cf717397 Refactored kopia.Connection to expose snapshot.Manager, which exposes methods to manipulate snapshots. 2017-01-28 21:24:01 -08:00
Jarek Kowalski
b21a53bccd added backup size output 2016-10-01 10:19:38 -07:00
Jarek Kowalski
88e3366a41 Added support for upload and download throttling for GCS. 2016-09-19 20:38:25 -07:00
Jarek Kowalski
3323d17536 renamed storage.Storage to blob.Storage 2016-09-08 21:11:50 -07:00
Jarek Kowalski
baa8451403 added kopia.Connection as top-level API.
simplified vault API
2016-09-05 22:30:27 -07:00
Jarek Kowalski
7d066ae2ea godoc 2016-08-28 10:18:16 -07:00
Jarek Kowalski
6f5b5dc9a9 Enabled bundling by default. 2016-08-27 14:29:35 -07:00
Jarek Kowalski
940e63832d Moved ObjectID and BundledChildren out of EntryMetadata and into repofs.dirEntry.
Fixed metadata hashing of bundles.
2016-08-27 10:45:45 -07:00
Jarek Kowalski
cded7ba49b renamed fs.EntryMetadataReadCloser as fs.Reader 2016-08-26 21:31:51 -07:00
Jarek Kowalski
38fc47e2f1 Continuing the API cleanup, Created internal/dirstream, internal/mockfs, repo/repofs and upload packages. 2016-08-26 21:26:35 -07:00
Jarek Kowalski
bf40d91585 replaced storage.BlockExists() with storage.BlockSize() which returns additional info 2016-08-25 21:39:17 -07:00
Jarek Kowalski
381d3780dc simplified Storage.PutBlock() API - passing []byte instead of convoluted reader, this greatly simplifies crypto code in the Repository
removed Storage.Flush()
2016-08-24 22:18:22 -07:00
Jarek Kowalski
dcd7e0f76f godoc cleanup, hiding internal APIs 2016-08-21 08:28:40 -07:00
Jarek Kowalski
91d4346f67 replaced generated protobuf code with hand-written, switched back to JSON serialization, but preserving protobuf code structure.
The generated code leaked unclean concepts to public API.
2016-08-21 00:21:40 -07:00