From 262b0cd9d42308446dcd4859282ed468ef667d99 Mon Sep 17 00:00:00 2001 From: Alexander Neumann Date: Mon, 20 Nov 2017 22:29:15 +0100 Subject: [PATCH] s3: Remove default prefix "/restic" --- internal/backend/location/location_test.go | 10 +++++----- internal/backend/s3/config.go | 14 ++++++-------- internal/backend/s3/config_test.go | 16 ++++++++-------- 3 files changed, 19 insertions(+), 21 deletions(-) diff --git a/internal/backend/location/location_test.go b/internal/backend/location/location_test.go index f8d05ca78..3160a2af7 100644 --- a/internal/backend/location/location_test.go +++ b/internal/backend/location/location_test.go @@ -169,7 +169,7 @@ var parseTests = []struct { Config: s3.Config{ Endpoint: "eu-central-1", Bucket: "bucketname", - Prefix: "restic", + Prefix: "", Connections: 5, }, }, @@ -180,7 +180,7 @@ var parseTests = []struct { Config: s3.Config{ Endpoint: "hostname.foo", Bucket: "bucketname", - Prefix: "restic", + Prefix: "", Connections: 5, }, }, @@ -202,7 +202,7 @@ var parseTests = []struct { Config: s3.Config{ Endpoint: "eu-central-1", Bucket: "repo", - Prefix: "restic", + Prefix: "", Connections: 5, }, }, @@ -224,7 +224,7 @@ var parseTests = []struct { Config: s3.Config{ Endpoint: "hostname.foo", Bucket: "repo", - Prefix: "restic", + Prefix: "", Connections: 5, }, }, @@ -246,7 +246,7 @@ var parseTests = []struct { Config: s3.Config{ Endpoint: "hostname.foo", Bucket: "repo", - Prefix: "restic", + Prefix: "", UseHTTP: true, Connections: 5, }, diff --git a/internal/backend/s3/config.go b/internal/backend/s3/config.go index 5a2b0c107..1760f48c2 100644 --- a/internal/backend/s3/config.go +++ b/internal/backend/s3/config.go @@ -34,8 +34,6 @@ func init() { options.Register("s3", Config{}) } -const defaultPrefix = "restic" - // ParseConfig parses the string s and extracts the s3 config. The two // supported configuration formats are s3://host/bucketname/prefix and // s3:host/bucketname/prefix. The host can also be a valid s3 region @@ -71,15 +69,15 @@ func ParseConfig(s string) (interface{}, error) { } func createConfig(endpoint string, p []string, useHTTP bool) (interface{}, error) { - var prefix string - switch { - case len(p) < 1: + if len(p) < 1 { return nil, errors.New("s3: invalid format, host/region or bucket name not found") - case len(p) == 1 || p[1] == "": - prefix = defaultPrefix - default: + } + + var prefix string + if len(p) > 1 && p[1] != "" { prefix = path.Clean(p[1]) } + cfg := NewConfig() cfg.Endpoint = endpoint cfg.UseHTTP = useHTTP diff --git a/internal/backend/s3/config_test.go b/internal/backend/s3/config_test.go index 8e5f3a420..77a31fda3 100644 --- a/internal/backend/s3/config_test.go +++ b/internal/backend/s3/config_test.go @@ -9,13 +9,13 @@ var configTests = []struct { {"s3://eu-central-1/bucketname", Config{ Endpoint: "eu-central-1", Bucket: "bucketname", - Prefix: "restic", + Prefix: "", Connections: 5, }}, {"s3://eu-central-1/bucketname/", Config{ Endpoint: "eu-central-1", Bucket: "bucketname", - Prefix: "restic", + Prefix: "", Connections: 5, }}, {"s3://eu-central-1/bucketname/prefix/directory", Config{ @@ -33,13 +33,13 @@ var configTests = []struct { {"s3:eu-central-1/foobar", Config{ Endpoint: "eu-central-1", Bucket: "foobar", - Prefix: "restic", + Prefix: "", Connections: 5, }}, {"s3:eu-central-1/foobar/", Config{ Endpoint: "eu-central-1", Bucket: "foobar", - Prefix: "restic", + Prefix: "", Connections: 5, }}, {"s3:eu-central-1/foobar/prefix/directory", Config{ @@ -57,26 +57,26 @@ var configTests = []struct { {"s3:https://hostname:9999/foobar", Config{ Endpoint: "hostname:9999", Bucket: "foobar", - Prefix: "restic", + Prefix: "", Connections: 5, }}, {"s3:https://hostname:9999/foobar/", Config{ Endpoint: "hostname:9999", Bucket: "foobar", - Prefix: "restic", + Prefix: "", Connections: 5, }}, {"s3:http://hostname:9999/foobar", Config{ Endpoint: "hostname:9999", Bucket: "foobar", - Prefix: "restic", + Prefix: "", UseHTTP: true, Connections: 5, }}, {"s3:http://hostname:9999/foobar/", Config{ Endpoint: "hostname:9999", Bucket: "foobar", - Prefix: "restic", + Prefix: "", UseHTTP: true, Connections: 5, }},