Commit Graph

92 Commits

Author SHA1 Message Date
Jarek Kowalski
88e3366a41 Added support for upload and download throttling for GCS. 2016-09-19 20:38:25 -07:00
Jarek Kowalski
5fea168603 plumbed through context.Context to storage creation 2016-09-11 10:35:38 -07:00
Jarek Kowalski
3323d17536 renamed storage.Storage to blob.Storage 2016-09-08 21:11:50 -07:00
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
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
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
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
80d48a9ebf moved BlockSize() check to async portion 2016-08-25 23:43:09 -07:00
Jarek Kowalski
ef4a3e4ed1 changed repo.Repository to be opaque struct 2016-08-25 23:23:05 -07:00
Jarek Kowalski
2e5b08a3b8 Added write-back support to Repository. 2016-08-25 19:59:45 -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
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
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
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
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
f4517e7e4f added JSON autodetection to kopia show, removed redundant 'show -d' option, fixed directory listing output 2016-08-04 22:04:13 -07:00
Jarek Kowalski
7eb2dfd4e3 dump build dependencies in travis 2016-07-30 14:00:49 -07:00
Jarek Kowalski
21bb83197b changed build info format 2016-07-28 22:34:29 -07:00
Jarek Kowalski
7e47a634cb refactored fuse into separate package 2016-07-24 10:40:45 -07:00
Jarek Kowalski
c53bdfc1ee cleaned up code structure around listing repository 2016-07-24 10:40:45 -07:00
Jarek Kowalski
342eab2db8 Major refactoring of 'fs' package.
fs.Entry - represents filesystem entry
fs.Directory - is a directory entry
fs.Symlink - is a symlink entry
fs.File - is an entry representing a file

This simplifies a bunch of code. Still work in progress.
2016-07-24 10:40:44 -07:00
Jarek Kowalski
42e1dc577f changed password prompt logic and OAuth2 prompt on Windows 2016-07-16 18:13:47 -07:00
Jarek Kowalski
0be422f897 reorganized blob storage package - renamed to storage and put gcs/filesystem/logging into subpackages 2016-07-13 18:50:31 -07:00
Jarek Kowalski
141dfd3c62 removed defunct limit.go and fixed 64-bit alignment of stats variables 2016-07-12 06:18:47 -07:00
Jarek Kowalski
c79844fc51 removed unnecessary copy/pasted code 2016-07-02 14:26:21 -07:00
Jarek Kowalski
685e2d7230 changed build version to be 'git describe' 2016-07-02 11:39:42 -07:00
Jarek Kowalski
224a49ed93 added --vaultconfig flag 2016-07-02 11:34:25 -07:00
Jarek Kowalski
64cd9fc4ee added buildinfo command 2016-07-02 11:33:52 -07:00
Jarek Kowalski
e81c61a40f added status output 2016-06-12 13:10:22 -07:00
Jarek Kowalski
29b3dc1127 added support for colocated vault by default 2016-06-12 07:14:52 -07:00
Jarek Kowalski
d648209e3d Added support for colocated vault 2016-06-12 07:05:34 -07:00
Jarek Kowalski
47ea638141 cmdline tool 2016-06-11 21:57:00 -07:00
Jarek Kowalski
bef98261e4 added vault unit tests 2016-06-11 21:50:11 -07:00
Jarek Kowalski
342d272a62 cleaned up vault API 2016-06-11 20:38:03 -07:00
Jarek Kowalski
1635199827 RepositoryConfig removal 2016-06-11 19:52:11 -07:00
Jarek Kowalski
d08bbc8130 rename 2016-06-08 22:43:20 -07:00
Jarek Kowalski
1dd120822d refactored connection info 2016-06-08 22:38:47 -07:00