mirror of
https://github.com/genuinetools/reg.git
synced 2024-09-17 16:11:01 -04:00
75 lines
2.8 KiB
Go
75 lines
2.8 KiB
Go
|
package swarm // import "github.com/docker/docker/api/types/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"`
|
||
|
Init *bool `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"`
|
||
|
}
|