Documentation ¶
Index ¶
- Variables
- type Config
- type ConfigDetails
- type ConfigFile
- type DeployConfig
- type Dict
- type External
- type HealthCheckConfig
- type IPAMConfig
- type IPAMPool
- type LoggingConfig
- type NetworkConfig
- type Placement
- type Resource
- type Resources
- type RestartPolicy
- type SecretConfig
- type ServiceConfig
- type ServiceNetworkConfig
- type ServiceSecretConfig
- type UlimitsConfig
- type UnitBytes
- type UpdateConfig
- type VolumeConfig
Constants ¶
This section is empty.
Variables ¶
var DeprecatedProperties = map[string]string{
"container_name": "Setting the container name is not supported.",
"expose": "Exposing ports is unnecessary - services on the same network can access each other's containers on any port.",
}
DeprecatedProperties that were removed from the v3 format, but their use should not impact the behaviour of the application.
var ForbiddenProperties = map[string]string{
"extends": "Support for `extends` is not implemented yet. Use `docker-compose config` to generate a configuration with all `extends` options resolved, and deploy from that.",
"volume_driver": "Instead of setting the volume driver on the service, define a volume using the top-level `volumes` option and specify the driver there.",
"volumes_from": "To share a volume between services, define it using the top-level `volumes` option and reference it from each service that shares it using the service-level `volumes` option.",
"cpu_quota": "Set resource limits using deploy.resources",
"cpu_shares": "Set resource limits using deploy.resources",
"cpuset": "Set resource limits using deploy.resources",
"mem_limit": "Set resource limits using deploy.resources",
"memswap_limit": "Set resource limits using deploy.resources",
}
ForbiddenProperties that are not supported in this implementation of the compose file.
var UnsupportedProperties = []string{
"build",
"cap_add",
"cap_drop",
"cgroup_parent",
"devices",
"dns",
"dns_search",
"domainname",
"external_links",
"ipc",
"links",
"mac_address",
"network_mode",
"privileged",
"read_only",
"restart",
"security_opt",
"shm_size",
"stop_signal",
"sysctls",
"tmpfs",
"userns_mode",
}
UnsupportedProperties not yet supported by this implementation of the compose file
Functions ¶
This section is empty.
Types ¶
type Config ¶
type Config struct { Services []ServiceConfig Networks map[string]NetworkConfig Volumes map[string]VolumeConfig Secrets map[string]SecretConfig }
Config is a full compose file configuration
type ConfigDetails ¶
type ConfigDetails struct { WorkingDir string ConfigFiles []ConfigFile Environment map[string]string }
ConfigDetails are the details about a group of ConfigFiles
type ConfigFile ¶
ConfigFile is a filename and the contents of the file as a Dict
type DeployConfig ¶
type DeployConfig struct { Mode string Replicas *uint64 Labels map[string]string `compose:"list_or_dict_equals"` UpdateConfig *UpdateConfig `mapstructure:"update_config"` Resources Resources RestartPolicy *RestartPolicy `mapstructure:"restart_policy"` Placement Placement }
DeployConfig the deployment configuration for a service
type External ¶
External identifies a Volume or Network as a reference to a resource that is not managed, and should already exist.
type HealthCheckConfig ¶
type HealthCheckConfig struct { Test []string `compose:"healthcheck"` Timeout string Interval string Retries *uint64 Disable bool }
HealthCheckConfig the healthcheck configuration for a service
type IPAMConfig ¶
IPAMConfig for a network
type LoggingConfig ¶
LoggingConfig the logging configuration for a service
type NetworkConfig ¶
type NetworkConfig struct { Driver string DriverOpts map[string]string `mapstructure:"driver_opts"` Ipam IPAMConfig External External Internal bool Labels map[string]string `compose:"list_or_dict_equals"` }
NetworkConfig for a network
type Placement ¶
type Placement struct {
Constraints []string
}
Placement constraints for the service
type Resource ¶
type Resource struct { // TODO: types to convert from units and ratios NanoCPUs string `mapstructure:"cpus"` MemoryBytes UnitBytes `mapstructure:"memory"` }
Resource is a resource to be limited or reserved
type RestartPolicy ¶
type RestartPolicy struct { Condition string Delay *time.Duration MaxAttempts *uint64 `mapstructure:"max_attempts"` Window *time.Duration }
RestartPolicy the service restart policy
type SecretConfig ¶
type SecretConfig struct { File string External External Labels map[string]string `compose:"list_or_dict_equals"` }
SecretConfig for a secret
type ServiceConfig ¶
type ServiceConfig struct { Name string CapAdd []string `mapstructure:"cap_add"` CapDrop []string `mapstructure:"cap_drop"` CgroupParent string `mapstructure:"cgroup_parent"` Command []string `compose:"shell_command"` ContainerName string `mapstructure:"container_name"` DependsOn []string `mapstructure:"depends_on"` Deploy DeployConfig Devices []string DNS []string `compose:"string_or_list"` DNSSearch []string `mapstructure:"dns_search" compose:"string_or_list"` DomainName string `mapstructure:"domainname"` Entrypoint []string `compose:"shell_command"` Environment map[string]string `compose:"list_or_dict_equals"` Expose []string `compose:"list_of_strings_or_numbers"` ExternalLinks []string `mapstructure:"external_links"` ExtraHosts map[string]string `mapstructure:"extra_hosts" compose:"list_or_dict_colon"` Hostname string HealthCheck *HealthCheckConfig Image string Ipc string Labels map[string]string `compose:"list_or_dict_equals"` Links []string Logging *LoggingConfig MacAddress string `mapstructure:"mac_address"` NetworkMode string `mapstructure:"network_mode"` Networks map[string]*ServiceNetworkConfig `compose:"list_or_struct_map"` Pid string Ports []string `compose:"list_of_strings_or_numbers"` Privileged bool ReadOnly bool `mapstructure:"read_only"` Restart string Secrets []ServiceSecretConfig SecurityOpt []string `mapstructure:"security_opt"` StdinOpen bool `mapstructure:"stdin_open"` StopGracePeriod *time.Duration `mapstructure:"stop_grace_period"` StopSignal string `mapstructure:"stop_signal"` Tmpfs []string `compose:"string_or_list"` Tty bool `mapstructure:"tty"` Ulimits map[string]*UlimitsConfig User string Volumes []string WorkingDir string `mapstructure:"working_dir"` }
ServiceConfig is the configuration of one service
type ServiceNetworkConfig ¶
type ServiceNetworkConfig struct { Aliases []string Ipv4Address string `mapstructure:"ipv4_address"` Ipv6Address string `mapstructure:"ipv6_address"` }
ServiceNetworkConfig is the network configuration for a service
type ServiceSecretConfig ¶
ServiceSecretConfig is the secret configuration for a service
type UlimitsConfig ¶
UlimitsConfig the ulimit configuration