2016-09-06 18:18:12 +00:00
|
|
|
package swarm
|
|
|
|
|
|
|
|
import (
|
|
|
|
"time"
|
|
|
|
|
2016-10-13 18:28:32 +00:00
|
|
|
"github.com/docker/docker/api/types/container"
|
2016-09-06 18:18:12 +00:00
|
|
|
"github.com/docker/docker/api/types/mount"
|
|
|
|
)
|
|
|
|
|
2016-10-20 00:07:44 +00:00
|
|
|
// DNSConfig specifies DNS related configurations in resolver configuration file (resolv.conf)
|
|
|
|
// Detailed documentation is available in:
|
|
|
|
// http://man7.org/linux/man-pages/man5/resolv.conf.5.html
|
|
|
|
// `nameserver`, `search`, `options` have been supported.
|
|
|
|
// TODO: `domain` is not supported yet.
|
|
|
|
type DNSConfig struct {
|
|
|
|
// Nameservers specifies the IP addresses of the name servers
|
|
|
|
Nameservers []string `json:",omitempty"`
|
|
|
|
// Search specifies the search list for host-name lookup
|
|
|
|
Search []string `json:",omitempty"`
|
|
|
|
// Options allows certain internal resolver variables to be modified
|
|
|
|
Options []string `json:",omitempty"`
|
|
|
|
}
|
|
|
|
|
2016-09-06 18:18:12 +00:00
|
|
|
// ContainerSpec represents the spec of a container.
|
|
|
|
type ContainerSpec struct {
|
2016-10-13 18:28:32 +00:00
|
|
|
Image string `json:",omitempty"`
|
|
|
|
Labels map[string]string `json:",omitempty"`
|
|
|
|
Command []string `json:",omitempty"`
|
|
|
|
Args []string `json:",omitempty"`
|
2016-10-27 11:44:19 +00:00
|
|
|
Hostname string `json:",omitempty"`
|
2016-10-13 18:28:32 +00:00
|
|
|
Env []string `json:",omitempty"`
|
|
|
|
Dir string `json:",omitempty"`
|
|
|
|
User string `json:",omitempty"`
|
|
|
|
Groups []string `json:",omitempty"`
|
|
|
|
TTY bool `json:",omitempty"`
|
|
|
|
Mounts []mount.Mount `json:",omitempty"`
|
|
|
|
StopGracePeriod *time.Duration `json:",omitempty"`
|
|
|
|
Healthcheck *container.HealthConfig `json:",omitempty"`
|
2016-11-03 15:05:00 +00:00
|
|
|
// The format of extra hosts on swarmkit is specified in:
|
|
|
|
// http://man7.org/linux/man-pages/man5/hosts.5.html
|
|
|
|
// IP_address canonical_hostname [aliases...]
|
|
|
|
Hosts []string `json:",omitempty"`
|
|
|
|
DNSConfig *DNSConfig `json:",omitempty"`
|
|
|
|
Secrets []*SecretReference `json:",omitempty"`
|
2016-09-06 18:18:12 +00:00
|
|
|
}
|