mirror of
https://github.com/genuinetools/reg.git
synced 2024-09-19 00:31:02 -04:00
3834c605e5
Signed-off-by: Jess Frazelle <acidburn@microsoft.com>
73 lines
2.7 KiB
Go
73 lines
2.7 KiB
Go
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"`
|
|
Isolation container.Isolation `json:",omitempty"`
|
|
}
|