Commit graph

192 commits

Author SHA1 Message Date
Christian Kemper
32c2cafa89 Simplify creation of the Config by moving it to a separate function. Simplify the parsing logic
by sharing the handling of s3: and s3://
2016-02-14 09:18:22 -08:00
Christian Kemper
74608531c7 strip off the trailing slash for the object prefix 2016-02-14 07:16:50 -08:00
Christian Kemper
48f85fbb09 replaced if-else chain with switch 2016-02-14 07:01:14 -08:00
Christian Kemper
535dfaf097 address first round of review comments 2016-02-14 06:40:15 -08:00
Christian Kemper
8f5ff379b7 Introduced a configurable object path prefix for s3 repositories.
Prepends the object path prefix to all s3 paths and allows to have multiple independent
restic backup repositories in a single s3 bucket.

Removed the hardcoded "restic" prefix from s3 paths.

Use "restic" as the default object path prefix for s3 if no other prefix gets specified.
This will retain backward compatibility with existing s3 repository configurations.

Simplified the parse flow to have a single point where we parse the bucket name and the prefix within the bucket.

Added tests for s3 object path prefix and the new default prefix to config_test and location_test.
2016-02-14 06:05:38 -08:00
Alexander Neumann
e9a21c1dc6 backend.LoadAll: return nil on expected error
The current code returns io.ErrUnexpectedEOF, but it is the normal,
expected behaviour of the function LoadAll() to load until the item is
completely loaded. Therefore, the io.ErrUnexpectedEOF is not returned to
the caller.
2016-02-07 23:48:54 +01:00
Alexander Neumann
a37ed45534 Add test for LoadAll with too large buffer
LoadAll() should not pass on io.ErrUnexpectedEOF, since the occurrence
of this error is normal.
2016-02-07 23:48:03 +01:00
Alexander Neumann
7d1775e000 Remove backend.ReadCloser 2016-01-27 22:35:18 +01:00
Alexander Neumann
322eca86bc mem backend: remove unused code 2016-01-27 21:33:48 +01:00
Alexander Neumann
2701eabe39 Remove ContinuousReader 2016-01-26 22:35:51 +01:00
Alexander Neumann
c388101217 s3: Unexport structure 2016-01-26 22:19:44 +01:00
Alexander Neumann
1528d1ca83 sftp: Reduce duplicate code, add error check 2016-01-26 22:16:24 +01:00
Alexander Neumann
0bbad683c5 local: split out tempfile write function 2016-01-26 22:12:53 +01:00
Alexander Neumann
9ec435d863 local: remove duplicate code 2016-01-26 22:09:29 +01:00
Alexander Neumann
9b1c4b2dd6 local: Remove mutex and hash of open files 2016-01-26 22:08:20 +01:00
Alexander Neumann
7196971159 Remove unneeded HashingReader implementation 2016-01-26 22:00:11 +01:00
Alexander Neumann
eb1669a061 Add a lot of comments 2016-01-26 21:56:13 +01:00
Alexander Neumann
c34aa72538 Remove duplicate function str2id 2016-01-26 21:52:02 +01:00
Alexander Neumann
da883d6196 Cleanups, move Hash() to id.go 2016-01-26 21:49:33 +01:00
Alexander Neumann
b482df04ec Add more documentation 2016-01-26 21:49:22 +01:00
Alexander Neumann
5fcb5ae549 Reduce number of tests for Load() 2016-01-24 21:40:54 +01:00
Alexander Neumann
a0d484113a backends: Do not sort strings
Closes #305
2016-01-24 21:32:45 +01:00
Alexander Neumann
d9c87559b5 s3/local backend: Fix error for overwriting files 2016-01-24 21:13:24 +01:00
Alexander Neumann
1547d3b656 Remove Create() everywhere 2016-01-24 20:23:50 +01:00
Alexander Neumann
1a95e48389 Remove unneeded special readers 2016-01-24 18:58:15 +01:00
Alexander Neumann
35f9eae6c3 local backend: do not call Sync() on directory
This fails at least on Windows.
2016-01-24 18:01:00 +01:00
Alexander Neumann
4735a7f9b5 Improve random reader for tests 2016-01-24 17:47:45 +01:00
Alexander Neumann
54f8860612 backends: Add Save() 2016-01-24 16:59:38 +01:00
Alexander Neumann
ed172c06e0 backends: Add Save() function 2016-01-24 01:15:35 +01:00
Alexander Neumann
adbe9e2e1c backend: Remove GetReader 2016-01-24 01:00:27 +01:00
Alexander Neumann
9209dcfa26 Add LoadAll() 2016-01-23 23:41:55 +01:00
Alexander Neumann
919b40c6cf Add Stat() method to backend interface 2016-01-23 23:27:58 +01:00
Alexander Neumann
0b50f9e02c Move MemoryBackend to backend/mem 2016-01-23 19:50:11 +01:00
Alexander Neumann
f05a32509e Add "Test" prefix to backend test functions 2016-01-23 19:12:02 +01:00
Alexander Neumann
e4f2e4a203 Remove old s3 tests 2016-01-23 19:11:47 +01:00
Alexander Neumann
15c8b85a4b Add tests for s3 backend 2016-01-23 18:46:04 +01:00
Alexander Neumann
c6db567e3f Add sftp tests 2016-01-23 18:30:02 +01:00
Alexander Neumann
4952f86682 Add test for to prevent double create 2016-01-23 18:07:15 +01:00
Alexander Neumann
16b7cc7655 Remove redundant local tests 2016-01-23 17:45:33 +01:00
Alexander Neumann
99fab793c0 Remove timestamp from generated tests 2016-01-23 17:43:49 +01:00
Alexander Neumann
9423767827 Update test generate script, add tests to membackend 2016-01-23 17:42:26 +01:00
Alexander Neumann
e966df3fed Add Load() to MemBackend 2016-01-23 17:19:55 +01:00
Alexander Neumann
3aafa21887 Fix MockBackend.Load() 2016-01-23 17:19:47 +01:00
Alexander Neumann
9a490f9e01 Implement package-local tests 2016-01-23 17:08:03 +01:00
Alexander Neumann
0a24261afb Add Load() for all existing backends 2016-01-23 14:12:12 +01:00
Alexander Neumann
8b7bf8691d backend: Remove Get()
This is the first commit that removes the (redundant) Get() method of
the backend interface. Get(x, y) is equivalent to GetReader(x, y, 0, 0).
2016-01-23 13:13:05 +01:00
Alexander Neumann
d3a6e2a991 Drop requirement from List()
Closes #305
2016-01-23 12:47:16 +01:00
Alexander Neumann
171cd0dfe1 Add backend.Handle, add comments 2016-01-23 12:46:20 +01:00
Alexander Neumann
c6e1696f07 Fix debug message 2016-01-17 18:48:05 +01:00
Alexander Neumann
289aee9448 Adapt s3 backend to new library 2016-01-17 18:48:05 +01:00