123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- package swarm
- import (
- "time"
- "github.com/docker/docker/api/types/container"
- "github.com/docker/docker/api/types/mount"
- )
- // 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"`
- }
- // SELinuxContext contains the SELinux labels of the container.
- type SELinuxContext struct {
- Disable bool
- User string
- Role string
- Type string
- Level string
- }
- // CredentialSpec for managed service account (Windows only)
- type CredentialSpec struct {
- File string
- Registry string
- }
- // Privileges defines the security options for the container.
- type Privileges struct {
- CredentialSpec *CredentialSpec
- SELinuxContext *SELinuxContext
- }
- // ContainerSpec represents the spec of a container.
- type ContainerSpec struct {
- Image string `json:",omitempty"`
- Labels map[string]string `json:",omitempty"`
- Command []string `json:",omitempty"`
- Args []string `json:",omitempty"`
- Hostname string `json:",omitempty"`
- Env []string `json:",omitempty"`
- Dir string `json:",omitempty"`
- User string `json:",omitempty"`
- Groups []string `json:",omitempty"`
- Privileges *Privileges `json:",omitempty"`
- StopSignal string `json:",omitempty"`
- TTY bool `json:",omitempty"`
- OpenStdin bool `json:",omitempty"`
- ReadOnly bool `json:",omitempty"`
- Mounts []mount.Mount `json:",omitempty"`
- StopGracePeriod *time.Duration `json:",omitempty"`
- Healthcheck *container.HealthConfig `json:",omitempty"`
- // 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"`
- Configs []*ConfigReference `json:",omitempty"`
- }
|