This repository has been archived by the owner on Jan 21, 2022. It is now read-only.
/
config.go
61 lines (53 loc) · 2.6 KB
/
config.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
package config
import (
"encoding/json"
"io/ioutil"
"code.cloudfoundry.org/debugserver"
"code.cloudfoundry.org/lager/lagerflags"
)
type StagerConfig struct {
BBSAddress string `json:"bbs_api_url"`
BBSCACert string `json:"bbs_ca_cert"`
BBSClientCert string `json:"bbs_client_cert"`
BBSClientKey string `json:"bbs_client_key"`
BBSClientSessionCacheSize int `json:"bbs_client_cache_size"`
BBSMaxIdleConnsPerHost int `json:"bbs_max_idle_conns_per_host"`
CCBaseUrl string `json:"cc_base_url"`
CCPassword string `json:"cc_basic_auth_password"`
CCUploaderURL string `json:"cc_uploader_url"`
CCUsername string `json:"cc_basic_auth_username"`
ConsulCluster string `json:"consul_cluster"`
DebugServerConfig debugserver.DebugServerConfig `json:"debug_server_config"`
DockerStagingStack string `json:"docker_staging_stack"`
DropsondePort int `json:"dropsonde_port"`
InsecureDockerRegistries []string `json:"insecure_docker_registries"`
FileServerUrl string `json:"file_server_url"`
LagerConfig lagerflags.LagerConfig `json:"lager_config"`
Lifecycles []string `json:"lifecycles"`
ListenAddress string `json:"stager_listen_addr"`
PrivilegedContainers bool `json:"diego_privileged_containers"`
SkipCertVerify bool `json:"skip_cert_verify"`
StagingTaskCallbackURL string `json:"staging_task_callback_url"`
}
func DefaultStagerConfig() StagerConfig {
return StagerConfig{
BBSClientSessionCacheSize: 0,
BBSMaxIdleConnsPerHost: 0,
DropsondePort: 3457,
LagerConfig: lagerflags.DefaultLagerConfig(),
PrivilegedContainers: false,
SkipCertVerify: false,
}
}
func NewStagerConfig(configPath string) (StagerConfig, error) {
configFile, err := ioutil.ReadFile(configPath)
if err != nil {
return StagerConfig{}, err
}
stagerConfig := DefaultStagerConfig()
err = json.Unmarshal(configFile, &stagerConfig)
if err != nil {
return StagerConfig{}, err
}
return stagerConfig, nil
}