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