2016-08-18 19:23:42 -04:00
|
|
|
package cmd
|
config/main: Re-write config files - add to new config v3
- New config format.
```
{
"version": "3",
"address": ":9000",
"backend": {
"type": "fs",
"disk": "/path"
},
"credential": {
"accessKey": "WLGDGYAQYIGI833EV05A",
"secretKey": "BYvgJM101sHngl2uzjXS/OBF/aMxAN06JrJ3qJlF"
},
"region": "us-east-1",
"logger": {
"file": {
"enable": false,
"fileName": "",
"level": "error"
},
"syslog": {
"enable": false,
"address": "",
"level": "debug"
},
"console": {
"enable": true,
"level": "fatal"
}
}
}
```
New command lines in lieu of supporting XL.
Minio initialize filesystem backend.
~~~
$ minio init fs <path>
~~~
Minio initialize XL backend.
~~~
$ minio init xl <url1>...<url16>
~~~
For 'fs' backend it starts the server.
~~~
$ minio server
~~~
For 'xl' backend it waits for servers to join.
~~~
$ minio server
... [PROGRESS BAR] of servers connecting
~~~
Now on other servers execute 'join' and they connect.
~~~
....
minio join <url1> -- from <url2> && minio server
minio join <url1> -- from <url3> && minio server
...
...
minio join <url1> -- from <url16> && minio server
~~~
2016-02-12 18:27:10 -05:00
|
|
|
|
|
|
|
import (
|
|
|
|
"os"
|
|
|
|
"path/filepath"
|
2016-09-30 02:42:10 -04:00
|
|
|
"sync"
|
config/main: Re-write config files - add to new config v3
- New config format.
```
{
"version": "3",
"address": ":9000",
"backend": {
"type": "fs",
"disk": "/path"
},
"credential": {
"accessKey": "WLGDGYAQYIGI833EV05A",
"secretKey": "BYvgJM101sHngl2uzjXS/OBF/aMxAN06JrJ3qJlF"
},
"region": "us-east-1",
"logger": {
"file": {
"enable": false,
"fileName": "",
"level": "error"
},
"syslog": {
"enable": false,
"address": "",
"level": "debug"
},
"console": {
"enable": true,
"level": "fatal"
}
}
}
```
New command lines in lieu of supporting XL.
Minio initialize filesystem backend.
~~~
$ minio init fs <path>
~~~
Minio initialize XL backend.
~~~
$ minio init xl <url1>...<url16>
~~~
For 'fs' backend it starts the server.
~~~
$ minio server
~~~
For 'xl' backend it waits for servers to join.
~~~
$ minio server
... [PROGRESS BAR] of servers connecting
~~~
Now on other servers execute 'join' and they connect.
~~~
....
minio join <url1> -- from <url2> && minio server
minio join <url1> -- from <url3> && minio server
...
...
minio join <url1> -- from <url16> && minio server
~~~
2016-02-12 18:27:10 -05:00
|
|
|
|
|
|
|
"github.com/minio/minio/pkg/quick"
|
|
|
|
)
|
|
|
|
|
|
|
|
/////////////////// Config V1 ///////////////////
|
|
|
|
type configV1 struct {
|
2016-12-26 13:21:23 -05:00
|
|
|
Version string `json:"version"`
|
|
|
|
AccessKey string `json:"accessKeyId"`
|
|
|
|
SecretKey string `json:"secretAccessKey"`
|
config/main: Re-write config files - add to new config v3
- New config format.
```
{
"version": "3",
"address": ":9000",
"backend": {
"type": "fs",
"disk": "/path"
},
"credential": {
"accessKey": "WLGDGYAQYIGI833EV05A",
"secretKey": "BYvgJM101sHngl2uzjXS/OBF/aMxAN06JrJ3qJlF"
},
"region": "us-east-1",
"logger": {
"file": {
"enable": false,
"fileName": "",
"level": "error"
},
"syslog": {
"enable": false,
"address": "",
"level": "debug"
},
"console": {
"enable": true,
"level": "fatal"
}
}
}
```
New command lines in lieu of supporting XL.
Minio initialize filesystem backend.
~~~
$ minio init fs <path>
~~~
Minio initialize XL backend.
~~~
$ minio init xl <url1>...<url16>
~~~
For 'fs' backend it starts the server.
~~~
$ minio server
~~~
For 'xl' backend it waits for servers to join.
~~~
$ minio server
... [PROGRESS BAR] of servers connecting
~~~
Now on other servers execute 'join' and they connect.
~~~
....
minio join <url1> -- from <url2> && minio server
minio join <url1> -- from <url3> && minio server
...
...
minio join <url1> -- from <url16> && minio server
~~~
2016-02-12 18:27:10 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
// loadConfigV1 load config
|
2016-04-29 17:24:10 -04:00
|
|
|
func loadConfigV1() (*configV1, error) {
|
config/main: Re-write config files - add to new config v3
- New config format.
```
{
"version": "3",
"address": ":9000",
"backend": {
"type": "fs",
"disk": "/path"
},
"credential": {
"accessKey": "WLGDGYAQYIGI833EV05A",
"secretKey": "BYvgJM101sHngl2uzjXS/OBF/aMxAN06JrJ3qJlF"
},
"region": "us-east-1",
"logger": {
"file": {
"enable": false,
"fileName": "",
"level": "error"
},
"syslog": {
"enable": false,
"address": "",
"level": "debug"
},
"console": {
"enable": true,
"level": "fatal"
}
}
}
```
New command lines in lieu of supporting XL.
Minio initialize filesystem backend.
~~~
$ minio init fs <path>
~~~
Minio initialize XL backend.
~~~
$ minio init xl <url1>...<url16>
~~~
For 'fs' backend it starts the server.
~~~
$ minio server
~~~
For 'xl' backend it waits for servers to join.
~~~
$ minio server
... [PROGRESS BAR] of servers connecting
~~~
Now on other servers execute 'join' and they connect.
~~~
....
minio join <url1> -- from <url2> && minio server
minio join <url1> -- from <url3> && minio server
...
...
minio join <url1> -- from <url16> && minio server
~~~
2016-02-12 18:27:10 -05:00
|
|
|
configPath, err := getConfigPath()
|
|
|
|
if err != nil {
|
2016-04-29 17:24:10 -04:00
|
|
|
return nil, err
|
config/main: Re-write config files - add to new config v3
- New config format.
```
{
"version": "3",
"address": ":9000",
"backend": {
"type": "fs",
"disk": "/path"
},
"credential": {
"accessKey": "WLGDGYAQYIGI833EV05A",
"secretKey": "BYvgJM101sHngl2uzjXS/OBF/aMxAN06JrJ3qJlF"
},
"region": "us-east-1",
"logger": {
"file": {
"enable": false,
"fileName": "",
"level": "error"
},
"syslog": {
"enable": false,
"address": "",
"level": "debug"
},
"console": {
"enable": true,
"level": "fatal"
}
}
}
```
New command lines in lieu of supporting XL.
Minio initialize filesystem backend.
~~~
$ minio init fs <path>
~~~
Minio initialize XL backend.
~~~
$ minio init xl <url1>...<url16>
~~~
For 'fs' backend it starts the server.
~~~
$ minio server
~~~
For 'xl' backend it waits for servers to join.
~~~
$ minio server
... [PROGRESS BAR] of servers connecting
~~~
Now on other servers execute 'join' and they connect.
~~~
....
minio join <url1> -- from <url2> && minio server
minio join <url1> -- from <url3> && minio server
...
...
minio join <url1> -- from <url16> && minio server
~~~
2016-02-12 18:27:10 -05:00
|
|
|
}
|
|
|
|
configFile := filepath.Join(configPath, "fsUsers.json")
|
2016-04-29 17:24:10 -04:00
|
|
|
if _, err = os.Stat(configFile); err != nil {
|
|
|
|
return nil, err
|
config/main: Re-write config files - add to new config v3
- New config format.
```
{
"version": "3",
"address": ":9000",
"backend": {
"type": "fs",
"disk": "/path"
},
"credential": {
"accessKey": "WLGDGYAQYIGI833EV05A",
"secretKey": "BYvgJM101sHngl2uzjXS/OBF/aMxAN06JrJ3qJlF"
},
"region": "us-east-1",
"logger": {
"file": {
"enable": false,
"fileName": "",
"level": "error"
},
"syslog": {
"enable": false,
"address": "",
"level": "debug"
},
"console": {
"enable": true,
"level": "fatal"
}
}
}
```
New command lines in lieu of supporting XL.
Minio initialize filesystem backend.
~~~
$ minio init fs <path>
~~~
Minio initialize XL backend.
~~~
$ minio init xl <url1>...<url16>
~~~
For 'fs' backend it starts the server.
~~~
$ minio server
~~~
For 'xl' backend it waits for servers to join.
~~~
$ minio server
... [PROGRESS BAR] of servers connecting
~~~
Now on other servers execute 'join' and they connect.
~~~
....
minio join <url1> -- from <url2> && minio server
minio join <url1> -- from <url3> && minio server
...
...
minio join <url1> -- from <url16> && minio server
~~~
2016-02-12 18:27:10 -05:00
|
|
|
}
|
2016-05-04 23:22:15 -04:00
|
|
|
c := &configV1{}
|
|
|
|
c.Version = "1"
|
|
|
|
qc, err := quick.New(c)
|
config/main: Re-write config files - add to new config v3
- New config format.
```
{
"version": "3",
"address": ":9000",
"backend": {
"type": "fs",
"disk": "/path"
},
"credential": {
"accessKey": "WLGDGYAQYIGI833EV05A",
"secretKey": "BYvgJM101sHngl2uzjXS/OBF/aMxAN06JrJ3qJlF"
},
"region": "us-east-1",
"logger": {
"file": {
"enable": false,
"fileName": "",
"level": "error"
},
"syslog": {
"enable": false,
"address": "",
"level": "debug"
},
"console": {
"enable": true,
"level": "fatal"
}
}
}
```
New command lines in lieu of supporting XL.
Minio initialize filesystem backend.
~~~
$ minio init fs <path>
~~~
Minio initialize XL backend.
~~~
$ minio init xl <url1>...<url16>
~~~
For 'fs' backend it starts the server.
~~~
$ minio server
~~~
For 'xl' backend it waits for servers to join.
~~~
$ minio server
... [PROGRESS BAR] of servers connecting
~~~
Now on other servers execute 'join' and they connect.
~~~
....
minio join <url1> -- from <url2> && minio server
minio join <url1> -- from <url3> && minio server
...
...
minio join <url1> -- from <url16> && minio server
~~~
2016-02-12 18:27:10 -05:00
|
|
|
if err != nil {
|
2016-04-29 17:24:10 -04:00
|
|
|
return nil, err
|
config/main: Re-write config files - add to new config v3
- New config format.
```
{
"version": "3",
"address": ":9000",
"backend": {
"type": "fs",
"disk": "/path"
},
"credential": {
"accessKey": "WLGDGYAQYIGI833EV05A",
"secretKey": "BYvgJM101sHngl2uzjXS/OBF/aMxAN06JrJ3qJlF"
},
"region": "us-east-1",
"logger": {
"file": {
"enable": false,
"fileName": "",
"level": "error"
},
"syslog": {
"enable": false,
"address": "",
"level": "debug"
},
"console": {
"enable": true,
"level": "fatal"
}
}
}
```
New command lines in lieu of supporting XL.
Minio initialize filesystem backend.
~~~
$ minio init fs <path>
~~~
Minio initialize XL backend.
~~~
$ minio init xl <url1>...<url16>
~~~
For 'fs' backend it starts the server.
~~~
$ minio server
~~~
For 'xl' backend it waits for servers to join.
~~~
$ minio server
... [PROGRESS BAR] of servers connecting
~~~
Now on other servers execute 'join' and they connect.
~~~
....
minio join <url1> -- from <url2> && minio server
minio join <url1> -- from <url3> && minio server
...
...
minio join <url1> -- from <url16> && minio server
~~~
2016-02-12 18:27:10 -05:00
|
|
|
}
|
|
|
|
if err := qc.Load(configFile); err != nil {
|
2016-04-29 17:24:10 -04:00
|
|
|
return nil, err
|
config/main: Re-write config files - add to new config v3
- New config format.
```
{
"version": "3",
"address": ":9000",
"backend": {
"type": "fs",
"disk": "/path"
},
"credential": {
"accessKey": "WLGDGYAQYIGI833EV05A",
"secretKey": "BYvgJM101sHngl2uzjXS/OBF/aMxAN06JrJ3qJlF"
},
"region": "us-east-1",
"logger": {
"file": {
"enable": false,
"fileName": "",
"level": "error"
},
"syslog": {
"enable": false,
"address": "",
"level": "debug"
},
"console": {
"enable": true,
"level": "fatal"
}
}
}
```
New command lines in lieu of supporting XL.
Minio initialize filesystem backend.
~~~
$ minio init fs <path>
~~~
Minio initialize XL backend.
~~~
$ minio init xl <url1>...<url16>
~~~
For 'fs' backend it starts the server.
~~~
$ minio server
~~~
For 'xl' backend it waits for servers to join.
~~~
$ minio server
... [PROGRESS BAR] of servers connecting
~~~
Now on other servers execute 'join' and they connect.
~~~
....
minio join <url1> -- from <url2> && minio server
minio join <url1> -- from <url3> && minio server
...
...
minio join <url1> -- from <url16> && minio server
~~~
2016-02-12 18:27:10 -05:00
|
|
|
}
|
2016-05-04 23:22:15 -04:00
|
|
|
return c, nil
|
config/main: Re-write config files - add to new config v3
- New config format.
```
{
"version": "3",
"address": ":9000",
"backend": {
"type": "fs",
"disk": "/path"
},
"credential": {
"accessKey": "WLGDGYAQYIGI833EV05A",
"secretKey": "BYvgJM101sHngl2uzjXS/OBF/aMxAN06JrJ3qJlF"
},
"region": "us-east-1",
"logger": {
"file": {
"enable": false,
"fileName": "",
"level": "error"
},
"syslog": {
"enable": false,
"address": "",
"level": "debug"
},
"console": {
"enable": true,
"level": "fatal"
}
}
}
```
New command lines in lieu of supporting XL.
Minio initialize filesystem backend.
~~~
$ minio init fs <path>
~~~
Minio initialize XL backend.
~~~
$ minio init xl <url1>...<url16>
~~~
For 'fs' backend it starts the server.
~~~
$ minio server
~~~
For 'xl' backend it waits for servers to join.
~~~
$ minio server
... [PROGRESS BAR] of servers connecting
~~~
Now on other servers execute 'join' and they connect.
~~~
....
minio join <url1> -- from <url2> && minio server
minio join <url1> -- from <url3> && minio server
...
...
minio join <url1> -- from <url16> && minio server
~~~
2016-02-12 18:27:10 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
/////////////////// Config V2 ///////////////////
|
|
|
|
type configV2 struct {
|
|
|
|
Version string `json:"version"`
|
|
|
|
Credentials struct {
|
2016-12-26 13:21:23 -05:00
|
|
|
AccessKey string `json:"accessKeyId"`
|
|
|
|
SecretKey string `json:"secretAccessKey"`
|
|
|
|
Region string `json:"region"`
|
config/main: Re-write config files - add to new config v3
- New config format.
```
{
"version": "3",
"address": ":9000",
"backend": {
"type": "fs",
"disk": "/path"
},
"credential": {
"accessKey": "WLGDGYAQYIGI833EV05A",
"secretKey": "BYvgJM101sHngl2uzjXS/OBF/aMxAN06JrJ3qJlF"
},
"region": "us-east-1",
"logger": {
"file": {
"enable": false,
"fileName": "",
"level": "error"
},
"syslog": {
"enable": false,
"address": "",
"level": "debug"
},
"console": {
"enable": true,
"level": "fatal"
}
}
}
```
New command lines in lieu of supporting XL.
Minio initialize filesystem backend.
~~~
$ minio init fs <path>
~~~
Minio initialize XL backend.
~~~
$ minio init xl <url1>...<url16>
~~~
For 'fs' backend it starts the server.
~~~
$ minio server
~~~
For 'xl' backend it waits for servers to join.
~~~
$ minio server
... [PROGRESS BAR] of servers connecting
~~~
Now on other servers execute 'join' and they connect.
~~~
....
minio join <url1> -- from <url2> && minio server
minio join <url1> -- from <url3> && minio server
...
...
minio join <url1> -- from <url16> && minio server
~~~
2016-02-12 18:27:10 -05:00
|
|
|
} `json:"credentials"`
|
|
|
|
MongoLogger struct {
|
|
|
|
Addr string `json:"addr"`
|
|
|
|
DB string `json:"db"`
|
|
|
|
Collection string `json:"collection"`
|
|
|
|
} `json:"mongoLogger"`
|
|
|
|
SyslogLogger struct {
|
|
|
|
Network string `json:"network"`
|
|
|
|
Addr string `json:"addr"`
|
|
|
|
} `json:"syslogLogger"`
|
|
|
|
FileLogger struct {
|
|
|
|
Filename string `json:"filename"`
|
|
|
|
} `json:"fileLogger"`
|
|
|
|
}
|
|
|
|
|
|
|
|
// loadConfigV2 load config version '2'.
|
2016-04-29 17:24:10 -04:00
|
|
|
func loadConfigV2() (*configV2, error) {
|
config/main: Re-write config files - add to new config v3
- New config format.
```
{
"version": "3",
"address": ":9000",
"backend": {
"type": "fs",
"disk": "/path"
},
"credential": {
"accessKey": "WLGDGYAQYIGI833EV05A",
"secretKey": "BYvgJM101sHngl2uzjXS/OBF/aMxAN06JrJ3qJlF"
},
"region": "us-east-1",
"logger": {
"file": {
"enable": false,
"fileName": "",
"level": "error"
},
"syslog": {
"enable": false,
"address": "",
"level": "debug"
},
"console": {
"enable": true,
"level": "fatal"
}
}
}
```
New command lines in lieu of supporting XL.
Minio initialize filesystem backend.
~~~
$ minio init fs <path>
~~~
Minio initialize XL backend.
~~~
$ minio init xl <url1>...<url16>
~~~
For 'fs' backend it starts the server.
~~~
$ minio server
~~~
For 'xl' backend it waits for servers to join.
~~~
$ minio server
... [PROGRESS BAR] of servers connecting
~~~
Now on other servers execute 'join' and they connect.
~~~
....
minio join <url1> -- from <url2> && minio server
minio join <url1> -- from <url3> && minio server
...
...
minio join <url1> -- from <url16> && minio server
~~~
2016-02-12 18:27:10 -05:00
|
|
|
configFile, err := getConfigFile()
|
|
|
|
if err != nil {
|
2016-04-29 17:24:10 -04:00
|
|
|
return nil, err
|
config/main: Re-write config files - add to new config v3
- New config format.
```
{
"version": "3",
"address": ":9000",
"backend": {
"type": "fs",
"disk": "/path"
},
"credential": {
"accessKey": "WLGDGYAQYIGI833EV05A",
"secretKey": "BYvgJM101sHngl2uzjXS/OBF/aMxAN06JrJ3qJlF"
},
"region": "us-east-1",
"logger": {
"file": {
"enable": false,
"fileName": "",
"level": "error"
},
"syslog": {
"enable": false,
"address": "",
"level": "debug"
},
"console": {
"enable": true,
"level": "fatal"
}
}
}
```
New command lines in lieu of supporting XL.
Minio initialize filesystem backend.
~~~
$ minio init fs <path>
~~~
Minio initialize XL backend.
~~~
$ minio init xl <url1>...<url16>
~~~
For 'fs' backend it starts the server.
~~~
$ minio server
~~~
For 'xl' backend it waits for servers to join.
~~~
$ minio server
... [PROGRESS BAR] of servers connecting
~~~
Now on other servers execute 'join' and they connect.
~~~
....
minio join <url1> -- from <url2> && minio server
minio join <url1> -- from <url3> && minio server
...
...
minio join <url1> -- from <url16> && minio server
~~~
2016-02-12 18:27:10 -05:00
|
|
|
}
|
2016-04-29 17:24:10 -04:00
|
|
|
if _, err = os.Stat(configFile); err != nil {
|
|
|
|
return nil, err
|
config/main: Re-write config files - add to new config v3
- New config format.
```
{
"version": "3",
"address": ":9000",
"backend": {
"type": "fs",
"disk": "/path"
},
"credential": {
"accessKey": "WLGDGYAQYIGI833EV05A",
"secretKey": "BYvgJM101sHngl2uzjXS/OBF/aMxAN06JrJ3qJlF"
},
"region": "us-east-1",
"logger": {
"file": {
"enable": false,
"fileName": "",
"level": "error"
},
"syslog": {
"enable": false,
"address": "",
"level": "debug"
},
"console": {
"enable": true,
"level": "fatal"
}
}
}
```
New command lines in lieu of supporting XL.
Minio initialize filesystem backend.
~~~
$ minio init fs <path>
~~~
Minio initialize XL backend.
~~~
$ minio init xl <url1>...<url16>
~~~
For 'fs' backend it starts the server.
~~~
$ minio server
~~~
For 'xl' backend it waits for servers to join.
~~~
$ minio server
... [PROGRESS BAR] of servers connecting
~~~
Now on other servers execute 'join' and they connect.
~~~
....
minio join <url1> -- from <url2> && minio server
minio join <url1> -- from <url3> && minio server
...
...
minio join <url1> -- from <url16> && minio server
~~~
2016-02-12 18:27:10 -05:00
|
|
|
}
|
2016-05-04 23:22:15 -04:00
|
|
|
c := &configV2{}
|
|
|
|
c.Version = "2"
|
|
|
|
qc, err := quick.New(c)
|
config/main: Re-write config files - add to new config v3
- New config format.
```
{
"version": "3",
"address": ":9000",
"backend": {
"type": "fs",
"disk": "/path"
},
"credential": {
"accessKey": "WLGDGYAQYIGI833EV05A",
"secretKey": "BYvgJM101sHngl2uzjXS/OBF/aMxAN06JrJ3qJlF"
},
"region": "us-east-1",
"logger": {
"file": {
"enable": false,
"fileName": "",
"level": "error"
},
"syslog": {
"enable": false,
"address": "",
"level": "debug"
},
"console": {
"enable": true,
"level": "fatal"
}
}
}
```
New command lines in lieu of supporting XL.
Minio initialize filesystem backend.
~~~
$ minio init fs <path>
~~~
Minio initialize XL backend.
~~~
$ minio init xl <url1>...<url16>
~~~
For 'fs' backend it starts the server.
~~~
$ minio server
~~~
For 'xl' backend it waits for servers to join.
~~~
$ minio server
... [PROGRESS BAR] of servers connecting
~~~
Now on other servers execute 'join' and they connect.
~~~
....
minio join <url1> -- from <url2> && minio server
minio join <url1> -- from <url3> && minio server
...
...
minio join <url1> -- from <url16> && minio server
~~~
2016-02-12 18:27:10 -05:00
|
|
|
if err != nil {
|
2016-04-29 17:24:10 -04:00
|
|
|
return nil, err
|
config/main: Re-write config files - add to new config v3
- New config format.
```
{
"version": "3",
"address": ":9000",
"backend": {
"type": "fs",
"disk": "/path"
},
"credential": {
"accessKey": "WLGDGYAQYIGI833EV05A",
"secretKey": "BYvgJM101sHngl2uzjXS/OBF/aMxAN06JrJ3qJlF"
},
"region": "us-east-1",
"logger": {
"file": {
"enable": false,
"fileName": "",
"level": "error"
},
"syslog": {
"enable": false,
"address": "",
"level": "debug"
},
"console": {
"enable": true,
"level": "fatal"
}
}
}
```
New command lines in lieu of supporting XL.
Minio initialize filesystem backend.
~~~
$ minio init fs <path>
~~~
Minio initialize XL backend.
~~~
$ minio init xl <url1>...<url16>
~~~
For 'fs' backend it starts the server.
~~~
$ minio server
~~~
For 'xl' backend it waits for servers to join.
~~~
$ minio server
... [PROGRESS BAR] of servers connecting
~~~
Now on other servers execute 'join' and they connect.
~~~
....
minio join <url1> -- from <url2> && minio server
minio join <url1> -- from <url3> && minio server
...
...
minio join <url1> -- from <url16> && minio server
~~~
2016-02-12 18:27:10 -05:00
|
|
|
}
|
|
|
|
if err := qc.Load(configFile); err != nil {
|
2016-04-29 17:24:10 -04:00
|
|
|
return nil, err
|
config/main: Re-write config files - add to new config v3
- New config format.
```
{
"version": "3",
"address": ":9000",
"backend": {
"type": "fs",
"disk": "/path"
},
"credential": {
"accessKey": "WLGDGYAQYIGI833EV05A",
"secretKey": "BYvgJM101sHngl2uzjXS/OBF/aMxAN06JrJ3qJlF"
},
"region": "us-east-1",
"logger": {
"file": {
"enable": false,
"fileName": "",
"level": "error"
},
"syslog": {
"enable": false,
"address": "",
"level": "debug"
},
"console": {
"enable": true,
"level": "fatal"
}
}
}
```
New command lines in lieu of supporting XL.
Minio initialize filesystem backend.
~~~
$ minio init fs <path>
~~~
Minio initialize XL backend.
~~~
$ minio init xl <url1>...<url16>
~~~
For 'fs' backend it starts the server.
~~~
$ minio server
~~~
For 'xl' backend it waits for servers to join.
~~~
$ minio server
... [PROGRESS BAR] of servers connecting
~~~
Now on other servers execute 'join' and they connect.
~~~
....
minio join <url1> -- from <url2> && minio server
minio join <url1> -- from <url3> && minio server
...
...
minio join <url1> -- from <url16> && minio server
~~~
2016-02-12 18:27:10 -05:00
|
|
|
}
|
2016-05-04 23:22:15 -04:00
|
|
|
return c, nil
|
config/main: Re-write config files - add to new config v3
- New config format.
```
{
"version": "3",
"address": ":9000",
"backend": {
"type": "fs",
"disk": "/path"
},
"credential": {
"accessKey": "WLGDGYAQYIGI833EV05A",
"secretKey": "BYvgJM101sHngl2uzjXS/OBF/aMxAN06JrJ3qJlF"
},
"region": "us-east-1",
"logger": {
"file": {
"enable": false,
"fileName": "",
"level": "error"
},
"syslog": {
"enable": false,
"address": "",
"level": "debug"
},
"console": {
"enable": true,
"level": "fatal"
}
}
}
```
New command lines in lieu of supporting XL.
Minio initialize filesystem backend.
~~~
$ minio init fs <path>
~~~
Minio initialize XL backend.
~~~
$ minio init xl <url1>...<url16>
~~~
For 'fs' backend it starts the server.
~~~
$ minio server
~~~
For 'xl' backend it waits for servers to join.
~~~
$ minio server
... [PROGRESS BAR] of servers connecting
~~~
Now on other servers execute 'join' and they connect.
~~~
....
minio join <url1> -- from <url2> && minio server
minio join <url1> -- from <url3> && minio server
...
...
minio join <url1> -- from <url16> && minio server
~~~
2016-02-12 18:27:10 -05:00
|
|
|
}
|
config: Migrate to the new version. Remove backend details.
Migrate to new config format v4.
```
{
"version": "4",
"credential": {
"accessKey": "WLGDGYAQYIGI833EV05A",
"secretKey": "BYvgJM101sHngl2uzjXS/OBF/aMxAN06JrJ3qJlF"
},
"region": "us-east-1",
"logger": {
"console": {
"enable": true,
"level": "fatal"
},
"file": {
"enable": false,
"fileName": "",
"level": "error"
},
"syslog": {
"enable": false,
"address": "",
"level": "debug"
}
}
}
```
This patch also updates [minio cli spec](./minio.md)
2016-04-01 22:19:44 -04:00
|
|
|
|
|
|
|
/////////////////// Config V3 ///////////////////
|
|
|
|
|
|
|
|
// backendV3 type.
|
|
|
|
type backendV3 struct {
|
|
|
|
Type string `json:"type"`
|
|
|
|
Disk string `json:"disk,omitempty"`
|
|
|
|
Disks []string `json:"disks,omitempty"`
|
|
|
|
}
|
|
|
|
|
2016-11-23 18:00:53 -05:00
|
|
|
// syslogLogger v3
|
|
|
|
type syslogLoggerV3 struct {
|
|
|
|
Enable bool `json:"enable"`
|
|
|
|
Addr string `json:"address"`
|
|
|
|
Level string `json:"level"`
|
|
|
|
}
|
|
|
|
|
config: Migrate to the new version. Remove backend details.
Migrate to new config format v4.
```
{
"version": "4",
"credential": {
"accessKey": "WLGDGYAQYIGI833EV05A",
"secretKey": "BYvgJM101sHngl2uzjXS/OBF/aMxAN06JrJ3qJlF"
},
"region": "us-east-1",
"logger": {
"console": {
"enable": true,
"level": "fatal"
},
"file": {
"enable": false,
"fileName": "",
"level": "error"
},
"syslog": {
"enable": false,
"address": "",
"level": "debug"
}
}
}
```
This patch also updates [minio cli spec](./minio.md)
2016-04-01 22:19:44 -04:00
|
|
|
// loggerV3 type.
|
|
|
|
type loggerV3 struct {
|
|
|
|
Console struct {
|
|
|
|
Enable bool `json:"enable"`
|
|
|
|
Level string `json:"level"`
|
|
|
|
}
|
|
|
|
File struct {
|
|
|
|
Enable bool `json:"enable"`
|
|
|
|
Filename string `json:"fileName"`
|
|
|
|
Level string `json:"level"`
|
|
|
|
}
|
|
|
|
Syslog struct {
|
|
|
|
Enable bool `json:"enable"`
|
|
|
|
Addr string `json:"address"`
|
|
|
|
Level string `json:"level"`
|
|
|
|
} `json:"syslog"`
|
|
|
|
// Add new loggers here.
|
|
|
|
}
|
|
|
|
|
|
|
|
// configV3 server configuration version '3'.
|
|
|
|
type configV3 struct {
|
|
|
|
Version string `json:"version"`
|
|
|
|
|
|
|
|
// Backend configuration.
|
|
|
|
Backend backendV3 `json:"backend"`
|
|
|
|
|
|
|
|
// http Server configuration.
|
|
|
|
Addr string `json:"address"`
|
|
|
|
|
|
|
|
// S3 API configuration.
|
|
|
|
Credential credential `json:"credential"`
|
|
|
|
Region string `json:"region"`
|
|
|
|
|
|
|
|
// Additional error logging configuration.
|
|
|
|
Logger loggerV3 `json:"logger"`
|
|
|
|
}
|
|
|
|
|
|
|
|
// loadConfigV3 load config version '3'.
|
2016-04-29 17:24:10 -04:00
|
|
|
func loadConfigV3() (*configV3, error) {
|
config: Migrate to the new version. Remove backend details.
Migrate to new config format v4.
```
{
"version": "4",
"credential": {
"accessKey": "WLGDGYAQYIGI833EV05A",
"secretKey": "BYvgJM101sHngl2uzjXS/OBF/aMxAN06JrJ3qJlF"
},
"region": "us-east-1",
"logger": {
"console": {
"enable": true,
"level": "fatal"
},
"file": {
"enable": false,
"fileName": "",
"level": "error"
},
"syslog": {
"enable": false,
"address": "",
"level": "debug"
}
}
}
```
This patch also updates [minio cli spec](./minio.md)
2016-04-01 22:19:44 -04:00
|
|
|
configFile, err := getConfigFile()
|
|
|
|
if err != nil {
|
2016-04-29 17:24:10 -04:00
|
|
|
return nil, err
|
config: Migrate to the new version. Remove backend details.
Migrate to new config format v4.
```
{
"version": "4",
"credential": {
"accessKey": "WLGDGYAQYIGI833EV05A",
"secretKey": "BYvgJM101sHngl2uzjXS/OBF/aMxAN06JrJ3qJlF"
},
"region": "us-east-1",
"logger": {
"console": {
"enable": true,
"level": "fatal"
},
"file": {
"enable": false,
"fileName": "",
"level": "error"
},
"syslog": {
"enable": false,
"address": "",
"level": "debug"
}
}
}
```
This patch also updates [minio cli spec](./minio.md)
2016-04-01 22:19:44 -04:00
|
|
|
}
|
2016-04-29 17:24:10 -04:00
|
|
|
if _, err = os.Stat(configFile); err != nil {
|
|
|
|
return nil, err
|
config: Migrate to the new version. Remove backend details.
Migrate to new config format v4.
```
{
"version": "4",
"credential": {
"accessKey": "WLGDGYAQYIGI833EV05A",
"secretKey": "BYvgJM101sHngl2uzjXS/OBF/aMxAN06JrJ3qJlF"
},
"region": "us-east-1",
"logger": {
"console": {
"enable": true,
"level": "fatal"
},
"file": {
"enable": false,
"fileName": "",
"level": "error"
},
"syslog": {
"enable": false,
"address": "",
"level": "debug"
}
}
}
```
This patch also updates [minio cli spec](./minio.md)
2016-04-01 22:19:44 -04:00
|
|
|
}
|
2016-05-04 23:22:15 -04:00
|
|
|
c := &configV3{}
|
|
|
|
c.Version = "3"
|
|
|
|
qc, err := quick.New(c)
|
config: Migrate to the new version. Remove backend details.
Migrate to new config format v4.
```
{
"version": "4",
"credential": {
"accessKey": "WLGDGYAQYIGI833EV05A",
"secretKey": "BYvgJM101sHngl2uzjXS/OBF/aMxAN06JrJ3qJlF"
},
"region": "us-east-1",
"logger": {
"console": {
"enable": true,
"level": "fatal"
},
"file": {
"enable": false,
"fileName": "",
"level": "error"
},
"syslog": {
"enable": false,
"address": "",
"level": "debug"
}
}
}
```
This patch also updates [minio cli spec](./minio.md)
2016-04-01 22:19:44 -04:00
|
|
|
if err != nil {
|
2016-04-29 17:24:10 -04:00
|
|
|
return nil, err
|
config: Migrate to the new version. Remove backend details.
Migrate to new config format v4.
```
{
"version": "4",
"credential": {
"accessKey": "WLGDGYAQYIGI833EV05A",
"secretKey": "BYvgJM101sHngl2uzjXS/OBF/aMxAN06JrJ3qJlF"
},
"region": "us-east-1",
"logger": {
"console": {
"enable": true,
"level": "fatal"
},
"file": {
"enable": false,
"fileName": "",
"level": "error"
},
"syslog": {
"enable": false,
"address": "",
"level": "debug"
}
}
}
```
This patch also updates [minio cli spec](./minio.md)
2016-04-01 22:19:44 -04:00
|
|
|
}
|
|
|
|
if err := qc.Load(configFile); err != nil {
|
2016-04-29 17:24:10 -04:00
|
|
|
return nil, err
|
config: Migrate to the new version. Remove backend details.
Migrate to new config format v4.
```
{
"version": "4",
"credential": {
"accessKey": "WLGDGYAQYIGI833EV05A",
"secretKey": "BYvgJM101sHngl2uzjXS/OBF/aMxAN06JrJ3qJlF"
},
"region": "us-east-1",
"logger": {
"console": {
"enable": true,
"level": "fatal"
},
"file": {
"enable": false,
"fileName": "",
"level": "error"
},
"syslog": {
"enable": false,
"address": "",
"level": "debug"
}
}
}
```
This patch also updates [minio cli spec](./minio.md)
2016-04-01 22:19:44 -04:00
|
|
|
}
|
2016-05-04 23:22:15 -04:00
|
|
|
return c, nil
|
config: Migrate to the new version. Remove backend details.
Migrate to new config format v4.
```
{
"version": "4",
"credential": {
"accessKey": "WLGDGYAQYIGI833EV05A",
"secretKey": "BYvgJM101sHngl2uzjXS/OBF/aMxAN06JrJ3qJlF"
},
"region": "us-east-1",
"logger": {
"console": {
"enable": true,
"level": "fatal"
},
"file": {
"enable": false,
"fileName": "",
"level": "error"
},
"syslog": {
"enable": false,
"address": "",
"level": "debug"
}
}
}
```
This patch also updates [minio cli spec](./minio.md)
2016-04-01 22:19:44 -04:00
|
|
|
}
|
2016-07-24 01:51:12 -04:00
|
|
|
|
2016-08-05 01:01:58 -04:00
|
|
|
// logger type representing version '4' logger config.
|
2016-07-24 01:51:12 -04:00
|
|
|
type loggerV4 struct {
|
|
|
|
Console struct {
|
|
|
|
Enable bool `json:"enable"`
|
|
|
|
Level string `json:"level"`
|
|
|
|
} `json:"console"`
|
|
|
|
File struct {
|
|
|
|
Enable bool `json:"enable"`
|
|
|
|
Filename string `json:"fileName"`
|
|
|
|
Level string `json:"level"`
|
|
|
|
} `json:"file"`
|
|
|
|
Syslog struct {
|
|
|
|
Enable bool `json:"enable"`
|
|
|
|
Addr string `json:"address"`
|
|
|
|
Level string `json:"level"`
|
|
|
|
} `json:"syslog"`
|
|
|
|
}
|
|
|
|
|
|
|
|
// configV4 server configuration version '4'.
|
|
|
|
type configV4 struct {
|
|
|
|
Version string `json:"version"`
|
|
|
|
|
|
|
|
// S3 API configuration.
|
|
|
|
Credential credential `json:"credential"`
|
|
|
|
Region string `json:"region"`
|
|
|
|
|
|
|
|
// Additional error logging configuration.
|
|
|
|
Logger loggerV4 `json:"logger"`
|
|
|
|
}
|
|
|
|
|
|
|
|
// loadConfigV4 load config version '4'.
|
|
|
|
func loadConfigV4() (*configV4, error) {
|
|
|
|
configFile, err := getConfigFile()
|
|
|
|
if err != nil {
|
|
|
|
return nil, err
|
|
|
|
}
|
|
|
|
if _, err = os.Stat(configFile); err != nil {
|
|
|
|
return nil, err
|
|
|
|
}
|
|
|
|
c := &configV4{}
|
|
|
|
c.Version = "4"
|
|
|
|
qc, err := quick.New(c)
|
|
|
|
if err != nil {
|
|
|
|
return nil, err
|
|
|
|
}
|
|
|
|
if err := qc.Load(configFile); err != nil {
|
|
|
|
return nil, err
|
|
|
|
}
|
|
|
|
return c, nil
|
|
|
|
}
|
2016-08-05 01:01:58 -04:00
|
|
|
|
|
|
|
// logger type representing version '5' logger config.
|
|
|
|
type loggerV5 struct {
|
|
|
|
Console struct {
|
|
|
|
Enable bool `json:"enable"`
|
|
|
|
Level string `json:"level"`
|
|
|
|
} `json:"console"`
|
|
|
|
File struct {
|
|
|
|
Enable bool `json:"enable"`
|
|
|
|
Filename string `json:"fileName"`
|
|
|
|
Level string `json:"level"`
|
|
|
|
} `json:"file"`
|
|
|
|
Syslog struct {
|
|
|
|
Enable bool `json:"enable"`
|
|
|
|
Addr string `json:"address"`
|
|
|
|
Level string `json:"level"`
|
|
|
|
} `json:"syslog"`
|
|
|
|
AMQP struct {
|
|
|
|
Enable bool `json:"enable"`
|
|
|
|
Level string `json:"level"`
|
|
|
|
URL string `json:"url"`
|
|
|
|
Exchange string `json:"exchange"`
|
2016-08-13 01:23:06 -04:00
|
|
|
RoutingKey string `json:"routingKey"`
|
2016-08-05 01:01:58 -04:00
|
|
|
ExchangeType string `json:"exchangeType"`
|
|
|
|
Mandatory bool `json:"mandatory"`
|
|
|
|
Immediate bool `json:"immediate"`
|
|
|
|
Durable bool `json:"durable"`
|
|
|
|
Internal bool `json:"internal"`
|
|
|
|
NoWait bool `json:"noWait"`
|
|
|
|
AutoDeleted bool `json:"autoDeleted"`
|
|
|
|
} `json:"amqp"`
|
|
|
|
ElasticSearch struct {
|
|
|
|
Enable bool `json:"enable"`
|
|
|
|
Level string `json:"level"`
|
|
|
|
URL string `json:"url"`
|
|
|
|
Index string `json:"index"`
|
|
|
|
} `json:"elasticsearch"`
|
|
|
|
Redis struct {
|
|
|
|
Enable bool `json:"enable"`
|
|
|
|
Level string `json:"level"`
|
|
|
|
Addr string `json:"address"`
|
|
|
|
Password string `json:"password"`
|
|
|
|
Key string `json:"key"`
|
|
|
|
} `json:"redis"`
|
|
|
|
}
|
|
|
|
|
|
|
|
// configV5 server configuration version '5'.
|
|
|
|
type configV5 struct {
|
|
|
|
Version string `json:"version"`
|
|
|
|
|
|
|
|
// S3 API configuration.
|
|
|
|
Credential credential `json:"credential"`
|
|
|
|
Region string `json:"region"`
|
|
|
|
|
|
|
|
// Additional error logging configuration.
|
|
|
|
Logger loggerV5 `json:"logger"`
|
|
|
|
}
|
|
|
|
|
|
|
|
// loadConfigV5 load config version '5'.
|
|
|
|
func loadConfigV5() (*configV5, error) {
|
|
|
|
configFile, err := getConfigFile()
|
|
|
|
if err != nil {
|
|
|
|
return nil, err
|
|
|
|
}
|
|
|
|
if _, err = os.Stat(configFile); err != nil {
|
|
|
|
return nil, err
|
|
|
|
}
|
|
|
|
c := &configV5{}
|
|
|
|
c.Version = "5"
|
|
|
|
qc, err := quick.New(c)
|
|
|
|
if err != nil {
|
|
|
|
return nil, err
|
|
|
|
}
|
|
|
|
if err := qc.Load(configFile); err != nil {
|
|
|
|
return nil, err
|
|
|
|
}
|
|
|
|
return c, nil
|
|
|
|
}
|
2016-09-10 03:51:25 -04:00
|
|
|
|
2016-11-23 18:00:53 -05:00
|
|
|
type loggerV6 struct {
|
|
|
|
Console consoleLogger `json:"console"`
|
|
|
|
File fileLogger `json:"file"`
|
|
|
|
Syslog syslogLoggerV3 `json:"syslog"`
|
|
|
|
}
|
|
|
|
|
2016-09-10 03:51:25 -04:00
|
|
|
// configV6 server configuration version '6'.
|
|
|
|
type configV6 struct {
|
|
|
|
Version string `json:"version"`
|
|
|
|
|
|
|
|
// S3 API configuration.
|
|
|
|
Credential credential `json:"credential"`
|
|
|
|
Region string `json:"region"`
|
|
|
|
|
|
|
|
// Additional error logging configuration.
|
2016-11-23 18:00:53 -05:00
|
|
|
Logger loggerV6 `json:"logger"`
|
2016-09-10 03:51:25 -04:00
|
|
|
|
|
|
|
// Notification queue configuration.
|
|
|
|
Notify notifier `json:"notify"`
|
|
|
|
}
|
|
|
|
|
|
|
|
// loadConfigV6 load config version '6'.
|
|
|
|
func loadConfigV6() (*configV6, error) {
|
|
|
|
configFile, err := getConfigFile()
|
|
|
|
if err != nil {
|
|
|
|
return nil, err
|
|
|
|
}
|
|
|
|
if _, err = os.Stat(configFile); err != nil {
|
|
|
|
return nil, err
|
|
|
|
}
|
|
|
|
c := &configV6{}
|
|
|
|
c.Version = "6"
|
|
|
|
qc, err := quick.New(c)
|
|
|
|
if err != nil {
|
|
|
|
return nil, err
|
|
|
|
}
|
|
|
|
if err := qc.Load(configFile); err != nil {
|
|
|
|
return nil, err
|
|
|
|
}
|
|
|
|
return c, nil
|
|
|
|
}
|
2016-09-30 02:42:10 -04:00
|
|
|
|
|
|
|
// configV7 server configuration version '7'.
|
|
|
|
type serverConfigV7 struct {
|
|
|
|
Version string `json:"version"`
|
|
|
|
|
|
|
|
// S3 API configuration.
|
|
|
|
Credential credential `json:"credential"`
|
|
|
|
Region string `json:"region"`
|
|
|
|
|
|
|
|
// Additional error logging configuration.
|
2016-11-23 18:00:53 -05:00
|
|
|
Logger loggerV6 `json:"logger"`
|
2016-09-30 02:42:10 -04:00
|
|
|
|
|
|
|
// Notification queue configuration.
|
|
|
|
Notify notifier `json:"notify"`
|
|
|
|
|
|
|
|
// Read Write mutex.
|
|
|
|
rwMutex *sync.RWMutex
|
|
|
|
}
|
|
|
|
|
|
|
|
// loadConfigV7 load config version '7'.
|
|
|
|
func loadConfigV7() (*serverConfigV7, error) {
|
|
|
|
configFile, err := getConfigFile()
|
|
|
|
if err != nil {
|
|
|
|
return nil, err
|
|
|
|
}
|
|
|
|
if _, err = os.Stat(configFile); err != nil {
|
|
|
|
return nil, err
|
|
|
|
}
|
|
|
|
c := &serverConfigV7{}
|
|
|
|
c.Version = "7"
|
|
|
|
qc, err := quick.New(c)
|
|
|
|
if err != nil {
|
|
|
|
return nil, err
|
|
|
|
}
|
|
|
|
if err := qc.Load(configFile); err != nil {
|
|
|
|
return nil, err
|
|
|
|
}
|
|
|
|
return c, nil
|
|
|
|
}
|
2016-10-03 20:29:55 -04:00
|
|
|
|
|
|
|
// serverConfigV8 server configuration version '8'. Adds NATS notifier
|
|
|
|
// configuration.
|
|
|
|
type serverConfigV8 struct {
|
|
|
|
Version string `json:"version"`
|
|
|
|
|
|
|
|
// S3 API configuration.
|
|
|
|
Credential credential `json:"credential"`
|
|
|
|
Region string `json:"region"`
|
|
|
|
|
|
|
|
// Additional error logging configuration.
|
2016-11-23 18:00:53 -05:00
|
|
|
Logger loggerV6 `json:"logger"`
|
2016-10-03 20:29:55 -04:00
|
|
|
|
|
|
|
// Notification queue configuration.
|
|
|
|
Notify notifier `json:"notify"`
|
|
|
|
|
|
|
|
// Read Write mutex.
|
|
|
|
rwMutex *sync.RWMutex
|
|
|
|
}
|
|
|
|
|
|
|
|
// loadConfigV8 load config version '8'.
|
|
|
|
func loadConfigV8() (*serverConfigV8, error) {
|
|
|
|
configFile, err := getConfigFile()
|
|
|
|
if err != nil {
|
|
|
|
return nil, err
|
|
|
|
}
|
|
|
|
if _, err = os.Stat(configFile); err != nil {
|
|
|
|
return nil, err
|
|
|
|
}
|
|
|
|
c := &serverConfigV8{}
|
|
|
|
c.Version = "8"
|
|
|
|
qc, err := quick.New(c)
|
|
|
|
if err != nil {
|
|
|
|
return nil, err
|
|
|
|
}
|
|
|
|
if err := qc.Load(configFile); err != nil {
|
|
|
|
return nil, err
|
|
|
|
}
|
|
|
|
return c, nil
|
|
|
|
}
|
2016-11-23 18:00:53 -05:00
|
|
|
|
|
|
|
// serverConfigV9 server configuration version '9'. Adds PostgreSQL
|
|
|
|
// notifier configuration.
|
|
|
|
type serverConfigV9 struct {
|
|
|
|
Version string `json:"version"`
|
|
|
|
|
|
|
|
// S3 API configuration.
|
|
|
|
Credential credential `json:"credential"`
|
|
|
|
Region string `json:"region"`
|
|
|
|
|
|
|
|
// Additional error logging configuration.
|
|
|
|
Logger loggerV6 `json:"logger"`
|
|
|
|
|
|
|
|
// Notification queue configuration.
|
|
|
|
Notify notifier `json:"notify"`
|
|
|
|
|
|
|
|
// Read Write mutex.
|
|
|
|
rwMutex *sync.RWMutex
|
|
|
|
}
|
|
|
|
|
|
|
|
func loadConfigV9() (*serverConfigV9, error) {
|
|
|
|
configFile, err := getConfigFile()
|
|
|
|
if err != nil {
|
|
|
|
return nil, err
|
|
|
|
}
|
|
|
|
if _, err = os.Stat(configFile); err != nil {
|
|
|
|
return nil, err
|
|
|
|
}
|
|
|
|
srvCfg := &serverConfigV9{}
|
|
|
|
srvCfg.Version = "9"
|
|
|
|
srvCfg.rwMutex = &sync.RWMutex{}
|
|
|
|
qc, err := quick.New(srvCfg)
|
|
|
|
if err != nil {
|
|
|
|
return nil, err
|
|
|
|
}
|
|
|
|
if err := qc.Load(configFile); err != nil {
|
|
|
|
return nil, err
|
|
|
|
}
|
|
|
|
return srvCfg, nil
|
|
|
|
}
|
2016-12-15 11:23:48 -05:00
|
|
|
|
|
|
|
// serverConfigV10 server configuration version '10' which is like
|
|
|
|
// version '9' except it drops support of syslog config, and makes the
|
|
|
|
// RWMutex global (so it does not exist in this struct).
|
|
|
|
type serverConfigV10 struct {
|
|
|
|
Version string `json:"version"`
|
|
|
|
|
|
|
|
// S3 API configuration.
|
|
|
|
Credential credential `json:"credential"`
|
|
|
|
Region string `json:"region"`
|
|
|
|
|
|
|
|
// Additional error logging configuration.
|
|
|
|
Logger logger `json:"logger"`
|
|
|
|
|
|
|
|
// Notification queue configuration.
|
|
|
|
Notify notifier `json:"notify"`
|
|
|
|
}
|
|
|
|
|
|
|
|
func loadConfigV10() (*serverConfigV10, error) {
|
|
|
|
configFile, err := getConfigFile()
|
|
|
|
if err != nil {
|
|
|
|
return nil, err
|
|
|
|
}
|
|
|
|
if _, err = os.Stat(configFile); err != nil {
|
|
|
|
return nil, err
|
|
|
|
}
|
|
|
|
srvCfg := &serverConfigV10{}
|
|
|
|
srvCfg.Version = "10"
|
|
|
|
qc, err := quick.New(srvCfg)
|
|
|
|
if err != nil {
|
|
|
|
return nil, err
|
|
|
|
}
|
|
|
|
if err := qc.Load(configFile); err != nil {
|
|
|
|
return nil, err
|
|
|
|
}
|
|
|
|
return srvCfg, nil
|
|
|
|
}
|