1cbdaeba |
package docker
import ( |
0d1a8251 |
"github.com/dotcloud/docker/engine" |
6998c3c3 |
"net" |
1cbdaeba |
)
|
0d1a8251 |
// FIXME: separate runtime configuration from http api configuration |
1cbdaeba |
type DaemonConfig struct { |
ce965b8c |
Pidfile string |
7e691e11 |
Root string |
ce965b8c |
AutoRestart bool
EnableCors bool
Dns []string
EnableIptables bool
BridgeIface string |
a68d7f3d |
BridgeIp string |
ce965b8c |
DefaultIp net.IP
InterContainerCommunication bool |
6dbeed89 |
GraphDriver string |
566ff54d |
Mtu int |
1cbdaeba |
} |
0d1a8251 |
|
c542b2f8 |
// ConfigFromJob creates and returns a new DaemonConfig object |
0d1a8251 |
// by parsing the contents of a job's environment. |
c542b2f8 |
func ConfigFromJob(job *engine.Job) *DaemonConfig { |
0d1a8251 |
var config DaemonConfig
config.Pidfile = job.Getenv("Pidfile") |
7e691e11 |
config.Root = job.Getenv("Root") |
0d1a8251 |
config.AutoRestart = job.GetenvBool("AutoRestart")
config.EnableCors = job.GetenvBool("EnableCors") |
3cd9b2aa |
if dns := job.GetenvList("Dns"); dns != nil {
config.Dns = dns |
0d1a8251 |
}
config.EnableIptables = job.GetenvBool("EnableIptables")
if br := job.Getenv("BridgeIface"); br != "" {
config.BridgeIface = br
} else {
config.BridgeIface = DefaultNetworkBridge
} |
a68d7f3d |
config.BridgeIp = job.Getenv("BridgeIp") |
0d1a8251 |
config.DefaultIp = net.ParseIP(job.Getenv("DefaultIp"))
config.InterContainerCommunication = job.GetenvBool("InterContainerCommunication") |
6dbeed89 |
config.GraphDriver = job.Getenv("GraphDriver") |
566ff54d |
if mtu := job.GetenvInt("Mtu"); mtu != -1 {
config.Mtu = mtu
} else {
config.Mtu = DefaultNetworkMtu
} |
0d1a8251 |
return &config
} |