Commit Graph
71 Commits
Author SHA1 Message Date
Jarek Kowalski 3d637735f1 travis: changed how rpm is installed 2019-05-15 20:16:02 -07:00
Jarek Kowalski aa40465aed goreleaser: build rpm and deb packages 2019-05-15 20:01:48 -07:00
Jarek Kowalski 440a1de2b2 added official release target 2019-05-09 23:51:16 -07:00
Jarek Kowalski 2787011e02 Revamped kopia.io website.
Added build pipeline to keep the reference in sync with the code.
2019-05-09 22:11:03 -07:00
Jarek Kowalski 9a50ca6635 travis: pre-download modules as part of travis setup 2019-04-03 18:16:43 -07:00
Jarek Kowalski e1b5854e34 travis: switched GO111MODULE=on globally 2019-04-03 18:09:41 -07:00
Jarek Kowalski 682f72113e Makefile: force GO111MODULE=on on test 2019-04-03 17:57:02 -07:00
Jarek Kowalski 68f18c330d travis: attempt to fix build 2019-04-02 22:56:09 -07:00
Jarek Kowalski 4b77e2d233 Makefile: removed stale targets 2019-04-02 22:42:11 -07:00
Jarek Kowalski 782bc581d0 Makefile: switched to golangci-lint 2019-04-01 18:47:10 -07:00
Jarek Kowalski 1e3c9c8067 upgraded to go1.12 2019-03-31 18:52:24 -07:00
Jarek Kowalski b37c29513b cli: added 'repo repair' subcommand which operates on the same arguments as 'repo connect', but it fixes contents of the repository by restoring missing kopia.repository file
tests: reorganized end-to-end tests
2019-01-19 05:48:40 -05:00
Jarek Kowalski 18932db45f Makefile: added build-all target, missing Windows and Linux-specific deps 2018-12-30 06:41:50 -08:00
Jarek Kowalski bb4c6674c7 snapshotfs: merged internal.Upload into snapshotfs 2018-11-03 08:39:07 -07:00
Jarek Kowalski 327d8317d8 refactored repo/ into separate github.com/kopia/repo/ git repository 2018-10-26 20:40:57 -07:00
Jarek Kowalski 3a4b581814 snapshot: added tests 2018-10-21 22:46:38 -07:00
Jarek Kowalski d47f662316 refactoring: moved kopia/kopia/policy to kopia/kopia/snapshot/policy 2018-10-20 09:55:52 -07:00
Jarek Kowalski 123673b5be coverage: actually enable on travis 2018-10-20 09:33:32 -07:00
Jarek Kowalski bcbab79dd0 coverage: updated 'go test' command to include all packages
previously the coverage for each package only included lines covered by tests in the same package,
excluding end-to-end tests
now, we get very different coverage numbers...
2018-10-20 09:20:08 -07:00
Jarek Kowalski e513fdeb28 removed golint dependency 2018-10-13 12:14:42 -07:00
Jarek Kowalski 560e5c37b9 added coveralls code coverage 2018-10-06 20:11:54 -07:00
Jarek Kowalski f2c7c29a57 fixed travis build 2018-09-10 19:31:57 -07:00
Jarek Kowalski 3d0ab23c03 switched release process to using goreleaser 2018-09-10 18:55:10 -07:00
Jarek Kowalski 1b014c875a simplified repository API password handling.
completely rewrote password storage:

- by default passwords are kept in OS-specific keyring (Keychain on macOS,
Windows Credentials Manager on Windows), which can be optionally disabled
to store password in a local file.

- on Linux keychain is disabled by default (does not work reliably
in terminal sessions), but can be enabled using command-line flag.
2018-09-07 21:34:31 -07:00
Jarek Kowalski 1bbc169c0d added missing package godoc, fixed test paths 2018-08-31 19:12:58 -07:00
Jarek Kowalski 91066f2469 reorganized low-level repository packages by moving them all under kopia/kopia/repo/ 2018-08-30 22:01:05 -07:00
Jarek Kowalski db6991cb1a switched to stable gometalinter.v2 2018-07-27 18:37:17 -07:00
Jarek Kowalski 8fc77bd5b1 changed repository example to use filesystem instead of GCS 2018-07-22 12:16:44 -07:00
Jarek Kowalski be32f6b717 enabled more comprehensive repository stress test after resolving remaining races:
skipped stress tests during short testing
changed default make target to run short tests
2018-07-20 18:48:00 -08:00
Jarek Kowalski 8b00bdb284 fixed 'coverage' makefile target 2018-07-19 15:02:45 -08:00
Jarek Kowalski cbcdfa2eb6 switched coverage to native go test 2018-06-23 16:32:47 -07:00
Jarek Kowalski ad6330fe58 disable test caching 2018-05-09 22:26:25 -07:00
Jarek Kowalski be3c4e725e added stress test 2018-05-05 16:14:31 -07:00
Jarek Kowalski 1342fd910a switched to using custom block index designed for efficient lookup without having to parse it
the block index stores tightly packed sorted block IDs

Typically a single entry 128-bit content ID uses 37 bytes of index storage.
2018-05-05 16:14:31 -07:00
Jarek Kowalski 453bab3560 fixed some lint errors, mostly dead code and missing error checks 2018-03-19 12:26:28 -07:00
Jarek Kowalski 0b8655998c bump timeouts to fix travis flakiness 2018-03-04 17:19:28 -08:00
Jarek Kowalski e710dcdff3 additional integration tests 2018-02-18 11:59:32 -08:00
Jarek Kowalski 663fee1ef1 rudimentary end-to-end tests to be running as part of travis 2018-02-18 10:52:15 -08:00
Jarek Kowalski 7af93182a4 changed format of block index to be based on protobuf (using gogo), the deserialization is 10-12x faster than JSON, which matters for a large number of packs 2018-01-02 19:51:03 -08:00
Jarek Kowalski 032e3cb737 merged 'format' and 'repo' blocks into 'kopia.repository' 2017-11-08 20:09:06 -08:00
Jarek Kowalski 4a878738a0 moved main executable package to kopia/kopia, moved cli support to kopia/kopia/cli 2017-07-17 15:20:32 +02:00
Jarek Kowalski 98566540c0 fixed travis setup - oracle is now guru 2016-10-15 16:28:57 -07:00
Jarek Kowalski 2e5b08a3b8 Added write-back support to Repository. 2016-08-25 19:59:45 -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 2ce9359d87 tweaks 2016-07-30 14:10:00 -07:00
Jarek Kowalski 7eb2dfd4e3 dump build dependencies in travis 2016-07-30 14:00:49 -07:00
Jarek Kowalski ad055b3b34 fixed sha256sum invocation 2016-07-30 13:06:23 -07:00
Jarek Kowalski 0e6723def8 added SHA256 checksum to release 2016-07-30 12:53:28 -07:00