Commit Graph

194 Commits

Author SHA1 Message Date
Jarek Kowalski
00afa2dff6 renamed ObjectID.UIString to String 2016-09-07 18:25:12 -07:00
Jarek Kowalski
c2ebbf539c reduced public surface of repository and vault, removed 'kopia status' command 2016-09-06 21:38:22 -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
a35f1d277b reintroduced text objectIDs 2016-08-28 22:54:10 -07:00
Jarek Kowalski
eeacdd1e3d Revert "changed JSON encryption key to be base16-encoded instead of base64-encoded"
Instead, changed JSON serialization format for ObjectID to be simple string.

This reverts commit 4ab146e058.
2016-08-28 22:54:10 -07:00
Jarek Kowalski
4ab146e058 changed JSON encryption key to be base16-encoded instead of base64-encoded 2016-08-28 13:24:31 -07:00
Jarek Kowalski
7d066ae2ea godoc 2016-08-28 10:18:16 -07:00
Jarek Kowalski
f890d19b61 Cleaned up Uploader API by removing stuff that's not implemented. 2016-08-27 21:26:45 -07:00
Jarek Kowalski
6f5b5dc9a9 Enabled bundling by default. 2016-08-27 14:29:35 -07:00
Jarek Kowalski
50aead87e5 added local FS logging option --trace-localfs 2016-08-27 12:03:05 -07:00
Jarek Kowalski
50370ae96a cleaned up fs/ contents - extracted fs/localfs/ and fs/loggingfs/ moved repofs/ to fs/repofs/ 2016-08-27 11:26:16 -07:00
Jarek Kowalski
1ceb1cc947 do not store inline directory ObjectIDs in hash cache 2016-08-27 10:54:17 -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
11a1f657ac repo.Stats cleanup 2016-08-25 23:46:45 -07:00
Jarek Kowalski
80d48a9ebf moved BlockSize() check to async portion 2016-08-25 23:43:09 -07:00
Jarek Kowalski
d5ca0398a7 fixup 2016-08-25 23:24:52 -07:00
Jarek Kowalski
ef4a3e4ed1 changed repo.Repository to be opaque struct 2016-08-25 23:23:05 -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
613955de4e added retry loop to GCS client 2016-08-25 20:54:37 -07:00
Jarek Kowalski
f732442f82 fixed GCS BlockExists() 2016-08-25 20:00:02 -07:00
Jarek Kowalski
2e5b08a3b8 Added write-back support to Repository. 2016-08-25 19:59:45 -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
76432341d7 output 'kopia backups' output to stdout instead of log 2016-08-24 19:25:54 -07:00
Jarek Kowalski
4d7dc2a491 added parallel scanning of vault contents for faster 'kopia backups' output, logging of storage actions 2016-08-23 07:03:51 -07:00
Jarek Kowalski
5f7c2def7b load backup manifests in parallel 2016-08-22 22:42:37 -07:00
Jarek Kowalski
52d056ec19 added KOPIA_TRACE_STORAGE environment variable option to log all vault/repository actions 2016-08-22 22:22:07 -07:00
Jarek Kowalski
b3a611ffba revamped how vault configuration gets stored 2016-08-22 22:20:08 -07:00
Jarek Kowalski
cd012d8fbc code cleanup, logging 2016-08-22 21:58:04 -07:00
Jarek Kowalski
f70c69c9d9 several bugfixes, added tests for ObjectID UIString round-tripping 2016-08-22 21:03:06 -07:00
Jarek Kowalski
57f03fc43d added experimental bundles support 2016-08-22 06:25:27 -07:00
Jarek Kowalski
91bfa7cba3 API tweaks and godoc 2016-08-21 20:25:01 -07:00
Jarek Kowalski
b4758bdc79 godoc 2016-08-21 12:56:28 -07:00
Jarek Kowalski
bf4189c47e added section ObjectID example 2016-08-21 12:29:07 -07:00
Jarek Kowalski
16b6b2d8bd godoc updates, API cleanup 2016-08-21 12:26:49 -07:00
Jarek Kowalski
d0fbbbb12e bundle tweaks 2016-08-21 11:20:14 -07:00
Jarek Kowalski
28baa0bf19 entry JSON format tweaks 2016-08-21 10:38:39 -07:00
Jarek Kowalski
0c6ba27eaa doc and API cleanup 2016-08-21 09:28:52 -07:00
Jarek Kowalski
a3a54a4f78 godoc fixes 2016-08-21 09:01:03 -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
Jarek Kowalski
498b151eff switch to golang 1.7 on travis 2016-08-20 17:24:28 -07:00
Jarek Kowalski
e528b32748 Major refactoring of data formats to use protobuf instead of JSON. This is a breaking change to data formats, but hoping to stabilize soon.
This change removes lots of pointless string and custom format parsing code and instead relies on protobuf to do the thing. JSON is still an option thanks to proto3-generated output.

- Refactored ObjectID to use protobuf
- Indirect blocks to use protobuf (in the form of seek table)
- Added generic proto stream reader and writer
- ObjectIDFormat became proto enum

Also:

- fixed major issue where indirect object ID entries were not encrypted, since they were storing block IDs and not object IDs.
- dropped support for majority of formats, only supporting HMAC-{SHA256,SHA512,SHA512_384} hashes with AES256.
This produces object IDs of 32 or 64 characters long.
- changed how pretty-printing works for 'kopia show'
2016-08-20 16:59:10 -07:00
Jarek Kowalski
9c828db309 added ObjectWriter.StorageBlocks() which returns the list of unique storage blocks that the object is based upon 2016-08-10 21:25:52 -07:00
Jarek Kowalski
fb051eca60 fixed go vet warning on 1.6 2016-08-09 21:02:57 -07:00
Jarek Kowalski
455874f7cc fixed build error 2016-08-09 20:57:02 -07:00
Jarek Kowalski
7455a99f9d added per-block locking to caching storage 2016-08-09 20:22:34 -07:00
Jarek Kowalski
714d3deb2d renamed logging filesystem files 2016-08-07 11:45:49 -07:00
Jarek Kowalski
75534251c9 renamed gcs filesystem files 2016-08-07 11:43:57 -07:00