config.go
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
 }