Commit Graph

82 Commits

Author SHA1 Message Date
Jarek Kowalski
81fd499bae moved upload functionality to snapshot package 2017-01-30 20:07:02 -08: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
bfd978a589 moved Snapshot and SnasphotSourceInfo to separate package 2017-01-28 17:33:47 -08:00
Jarek Kowalski
65bc50de5d changed how paths are interpreted for 'kopia backups' and 'kopia expire' 2016-11-23 23:49:29 -08:00
Jarek Kowalski
a821a0053d fixed bundling 2016-10-15 16:32:33 -07:00
Jarek Kowalski
f5cd6285d4 chanegd bundling algorithm to avoid small bundles where one would be ok 2016-10-15 16:27:37 -07:00
Jarek Kowalski
36e29f9249 added upload progress 2016-10-15 13:17:21 -07:00
Jarek Kowalski
4efc5825fa added 'kopia cleanup' and 'kopia expire' subcommands 2016-10-04 22:14:56 -07:00
Jarek Kowalski
b21a53bccd added backup size output 2016-10-01 10:19:38 -07:00
Jarek Kowalski
d5a78812b7 additional stats to repofs.Upload() 2016-09-26 19:23:48 -07:00
Jarek Kowalski
e322b39711 plumbed through context to repofs.Upload() 2016-09-25 21:10:39 -07:00
Jarek Kowalski
5959aa354e added support for symlink reads to repofs 2016-09-25 10:16:58 -07:00
Jarek Kowalski
175c05d547 more repofs.Upload() API tweaks 2016-09-25 09:42:29 -07:00
Jarek Kowalski
ffda769607 replaced repofs.Uploader with static Upload() method 2016-09-24 15:27:49 -07:00
Jarek Kowalski
259c173233 merged backup.Generator and repofs.Uploader 2016-09-24 15:17:53 -07:00
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
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
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
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
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
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
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
966d1c638b changed directory JSON format to be more self-explanatory 2016-08-05 20:15:55 -07:00
Jarek Kowalski
8af22b8503 Store raw, unescaped JSON whenever possible. 2016-08-05 07:09:56 -07:00
Jarek Kowalski
16e9420db8 added provisional, untested support for uploading bundles of files 2016-08-04 22:05:16 -07:00
Jarek Kowalski
e3dc066c58 Moved EntryMetadataReadCloser to entry.go 2016-08-03 20:55:28 -07:00
Jarek Kowalski
332b134a23 Added support for bundles in JSON representing directory.
The bundles share common parent object ID and objects in a bundle are mapped to sections of the same underlying object.
2016-08-03 19:36:22 -07:00
Jarek Kowalski
a3e3c27b94 removed unused parameter from readDirectoryMetadataEntries 2016-08-03 17:06:35 -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
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
74282395c6 removed bad test assumption, fixed test on Linux 2016-06-13 20:16:32 -07:00
Jarek Kowalski
534a0241ac fixed buffer leak 2016-06-12 10:47:22 -07:00