forked from TrueCloudLab/restic
s3: Remove default prefix "/restic"
This commit is contained in:
parent
e83ec17e95
commit
262b0cd9d4
3 changed files with 19 additions and 21 deletions
|
@ -169,7 +169,7 @@ var parseTests = []struct {
|
||||||
Config: s3.Config{
|
Config: s3.Config{
|
||||||
Endpoint: "eu-central-1",
|
Endpoint: "eu-central-1",
|
||||||
Bucket: "bucketname",
|
Bucket: "bucketname",
|
||||||
Prefix: "restic",
|
Prefix: "",
|
||||||
Connections: 5,
|
Connections: 5,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
@ -180,7 +180,7 @@ var parseTests = []struct {
|
||||||
Config: s3.Config{
|
Config: s3.Config{
|
||||||
Endpoint: "hostname.foo",
|
Endpoint: "hostname.foo",
|
||||||
Bucket: "bucketname",
|
Bucket: "bucketname",
|
||||||
Prefix: "restic",
|
Prefix: "",
|
||||||
Connections: 5,
|
Connections: 5,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
@ -202,7 +202,7 @@ var parseTests = []struct {
|
||||||
Config: s3.Config{
|
Config: s3.Config{
|
||||||
Endpoint: "eu-central-1",
|
Endpoint: "eu-central-1",
|
||||||
Bucket: "repo",
|
Bucket: "repo",
|
||||||
Prefix: "restic",
|
Prefix: "",
|
||||||
Connections: 5,
|
Connections: 5,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
@ -224,7 +224,7 @@ var parseTests = []struct {
|
||||||
Config: s3.Config{
|
Config: s3.Config{
|
||||||
Endpoint: "hostname.foo",
|
Endpoint: "hostname.foo",
|
||||||
Bucket: "repo",
|
Bucket: "repo",
|
||||||
Prefix: "restic",
|
Prefix: "",
|
||||||
Connections: 5,
|
Connections: 5,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
@ -246,7 +246,7 @@ var parseTests = []struct {
|
||||||
Config: s3.Config{
|
Config: s3.Config{
|
||||||
Endpoint: "hostname.foo",
|
Endpoint: "hostname.foo",
|
||||||
Bucket: "repo",
|
Bucket: "repo",
|
||||||
Prefix: "restic",
|
Prefix: "",
|
||||||
UseHTTP: true,
|
UseHTTP: true,
|
||||||
Connections: 5,
|
Connections: 5,
|
||||||
},
|
},
|
||||||
|
|
|
@ -34,8 +34,6 @@ func init() {
|
||||||
options.Register("s3", Config{})
|
options.Register("s3", Config{})
|
||||||
}
|
}
|
||||||
|
|
||||||
const defaultPrefix = "restic"
|
|
||||||
|
|
||||||
// ParseConfig parses the string s and extracts the s3 config. The two
|
// ParseConfig parses the string s and extracts the s3 config. The two
|
||||||
// supported configuration formats are s3://host/bucketname/prefix and
|
// supported configuration formats are s3://host/bucketname/prefix and
|
||||||
// s3:host/bucketname/prefix. The host can also be a valid s3 region
|
// 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) {
|
func createConfig(endpoint string, p []string, useHTTP bool) (interface{}, error) {
|
||||||
var prefix string
|
if len(p) < 1 {
|
||||||
switch {
|
|
||||||
case len(p) < 1:
|
|
||||||
return nil, errors.New("s3: invalid format, host/region or bucket name not found")
|
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])
|
prefix = path.Clean(p[1])
|
||||||
}
|
}
|
||||||
|
|
||||||
cfg := NewConfig()
|
cfg := NewConfig()
|
||||||
cfg.Endpoint = endpoint
|
cfg.Endpoint = endpoint
|
||||||
cfg.UseHTTP = useHTTP
|
cfg.UseHTTP = useHTTP
|
||||||
|
|
|
@ -9,13 +9,13 @@ var configTests = []struct {
|
||||||
{"s3://eu-central-1/bucketname", Config{
|
{"s3://eu-central-1/bucketname", Config{
|
||||||
Endpoint: "eu-central-1",
|
Endpoint: "eu-central-1",
|
||||||
Bucket: "bucketname",
|
Bucket: "bucketname",
|
||||||
Prefix: "restic",
|
Prefix: "",
|
||||||
Connections: 5,
|
Connections: 5,
|
||||||
}},
|
}},
|
||||||
{"s3://eu-central-1/bucketname/", Config{
|
{"s3://eu-central-1/bucketname/", Config{
|
||||||
Endpoint: "eu-central-1",
|
Endpoint: "eu-central-1",
|
||||||
Bucket: "bucketname",
|
Bucket: "bucketname",
|
||||||
Prefix: "restic",
|
Prefix: "",
|
||||||
Connections: 5,
|
Connections: 5,
|
||||||
}},
|
}},
|
||||||
{"s3://eu-central-1/bucketname/prefix/directory", Config{
|
{"s3://eu-central-1/bucketname/prefix/directory", Config{
|
||||||
|
@ -33,13 +33,13 @@ var configTests = []struct {
|
||||||
{"s3:eu-central-1/foobar", Config{
|
{"s3:eu-central-1/foobar", Config{
|
||||||
Endpoint: "eu-central-1",
|
Endpoint: "eu-central-1",
|
||||||
Bucket: "foobar",
|
Bucket: "foobar",
|
||||||
Prefix: "restic",
|
Prefix: "",
|
||||||
Connections: 5,
|
Connections: 5,
|
||||||
}},
|
}},
|
||||||
{"s3:eu-central-1/foobar/", Config{
|
{"s3:eu-central-1/foobar/", Config{
|
||||||
Endpoint: "eu-central-1",
|
Endpoint: "eu-central-1",
|
||||||
Bucket: "foobar",
|
Bucket: "foobar",
|
||||||
Prefix: "restic",
|
Prefix: "",
|
||||||
Connections: 5,
|
Connections: 5,
|
||||||
}},
|
}},
|
||||||
{"s3:eu-central-1/foobar/prefix/directory", Config{
|
{"s3:eu-central-1/foobar/prefix/directory", Config{
|
||||||
|
@ -57,26 +57,26 @@ var configTests = []struct {
|
||||||
{"s3:https://hostname:9999/foobar", Config{
|
{"s3:https://hostname:9999/foobar", Config{
|
||||||
Endpoint: "hostname:9999",
|
Endpoint: "hostname:9999",
|
||||||
Bucket: "foobar",
|
Bucket: "foobar",
|
||||||
Prefix: "restic",
|
Prefix: "",
|
||||||
Connections: 5,
|
Connections: 5,
|
||||||
}},
|
}},
|
||||||
{"s3:https://hostname:9999/foobar/", Config{
|
{"s3:https://hostname:9999/foobar/", Config{
|
||||||
Endpoint: "hostname:9999",
|
Endpoint: "hostname:9999",
|
||||||
Bucket: "foobar",
|
Bucket: "foobar",
|
||||||
Prefix: "restic",
|
Prefix: "",
|
||||||
Connections: 5,
|
Connections: 5,
|
||||||
}},
|
}},
|
||||||
{"s3:http://hostname:9999/foobar", Config{
|
{"s3:http://hostname:9999/foobar", Config{
|
||||||
Endpoint: "hostname:9999",
|
Endpoint: "hostname:9999",
|
||||||
Bucket: "foobar",
|
Bucket: "foobar",
|
||||||
Prefix: "restic",
|
Prefix: "",
|
||||||
UseHTTP: true,
|
UseHTTP: true,
|
||||||
Connections: 5,
|
Connections: 5,
|
||||||
}},
|
}},
|
||||||
{"s3:http://hostname:9999/foobar/", Config{
|
{"s3:http://hostname:9999/foobar/", Config{
|
||||||
Endpoint: "hostname:9999",
|
Endpoint: "hostname:9999",
|
||||||
Bucket: "foobar",
|
Bucket: "foobar",
|
||||||
Prefix: "restic",
|
Prefix: "",
|
||||||
UseHTTP: true,
|
UseHTTP: true,
|
||||||
Connections: 5,
|
Connections: 5,
|
||||||
}},
|
}},
|
||||||
|
|
Loading…
Reference in a new issue