@@ -12,6 +12,7 @@ var UnsupportedProperties = []string{
1212 "cap_add" ,
1313 "cap_drop" ,
1414 "cgroup_parent" ,
15+ "device_cgroup_rules" ,
1516 "devices" ,
1617 "domainname" ,
1718 "external_links" ,
@@ -156,57 +157,58 @@ func (s Services) MarshalJSON() ([]byte, error) {
156157type ServiceConfig struct {
157158 Name string `yaml:"-" json:"-"`
158159
159- Build BuildConfig `yaml:",omitempty" json:"build,omitempty"`
160- CapAdd []string `mapstructure:"cap_add" yaml:"cap_add,omitempty" json:"cap_add,omitempty"`
161- CapDrop []string `mapstructure:"cap_drop" yaml:"cap_drop,omitempty" json:"cap_drop,omitempty"`
162- CgroupParent string `mapstructure:"cgroup_parent" yaml:"cgroup_parent,omitempty" json:"cgroup_parent,omitempty"`
163- Command ShellCommand `yaml:",omitempty" json:"command,omitempty"`
164- Configs []ServiceConfigObjConfig `yaml:",omitempty" json:"configs,omitempty"`
165- ContainerName string `mapstructure:"container_name" yaml:"container_name,omitempty" json:"container_name,omitempty"`
166- CredentialSpec CredentialSpecConfig `mapstructure:"credential_spec" yaml:"credential_spec,omitempty" json:"credential_spec,omitempty"`
167- DependsOn []string `mapstructure:"depends_on" yaml:"depends_on,omitempty" json:"depends_on,omitempty"`
168- Deploy DeployConfig `yaml:",omitempty" json:"deploy,omitempty"`
169- Devices []string `yaml:",omitempty" json:"devices,omitempty"`
170- DNS StringList `yaml:",omitempty" json:"dns,omitempty"`
171- DNSSearch StringList `mapstructure:"dns_search" yaml:"dns_search,omitempty" json:"dns_search,omitempty"`
172- DomainName string `mapstructure:"domainname" yaml:"domainname,omitempty" json:"domainname,omitempty"`
173- Entrypoint ShellCommand `yaml:",omitempty" json:"entrypoint,omitempty"`
174- Environment MappingWithEquals `yaml:",omitempty" json:"environment,omitempty"`
175- EnvFile StringList `mapstructure:"env_file" yaml:"env_file,omitempty" json:"env_file,omitempty"`
176- Expose StringOrNumberList `yaml:",omitempty" json:"expose,omitempty"`
177- ExternalLinks []string `mapstructure:"external_links" yaml:"external_links,omitempty" json:"external_links,omitempty"`
178- ExtraHosts HostsList `mapstructure:"extra_hosts" yaml:"extra_hosts,omitempty" json:"extra_hosts,omitempty"`
179- Hostname string `yaml:",omitempty" json:"hostname,omitempty"`
180- HealthCheck * HealthCheckConfig `yaml:",omitempty" json:"healthcheck,omitempty"`
181- Image string `yaml:",omitempty" json:"image,omitempty"`
182- Init * bool `yaml:",omitempty" json:"init,omitempty"`
183- Ipc string `yaml:",omitempty" json:"ipc,omitempty"`
184- Isolation string `mapstructure:"isolation" yaml:"isolation,omitempty" json:"isolation,omitempty"`
185- Labels Labels `yaml:",omitempty" json:"labels,omitempty"`
186- Links []string `yaml:",omitempty" json:"links,omitempty"`
187- Logging * LoggingConfig `yaml:",omitempty" json:"logging,omitempty"`
188- MacAddress string `mapstructure:"mac_address" yaml:"mac_address,omitempty" json:"mac_address,omitempty"`
189- NetworkMode string `mapstructure:"network_mode" yaml:"network_mode,omitempty" json:"network_mode,omitempty"`
190- Networks map [string ]* ServiceNetworkConfig `yaml:",omitempty" json:"networks,omitempty"`
191- Pid string `yaml:",omitempty" json:"pid,omitempty"`
192- Ports []ServicePortConfig `yaml:",omitempty" json:"ports,omitempty"`
193- Privileged bool `yaml:",omitempty" json:"privileged,omitempty"`
194- ReadOnly bool `mapstructure:"read_only" yaml:"read_only,omitempty" json:"read_only,omitempty"`
195- Restart string `yaml:",omitempty" json:"restart,omitempty"`
196- Secrets []ServiceSecretConfig `yaml:",omitempty" json:"secrets,omitempty"`
197- SecurityOpt []string `mapstructure:"security_opt" yaml:"security_opt,omitempty" json:"security_opt,omitempty"`
198- ShmSize string `mapstructure:"shm_size" yaml:"shm_size,omitempty" json:"shm_size,omitempty"`
199- StdinOpen bool `mapstructure:"stdin_open" yaml:"stdin_open,omitempty" json:"stdin_open,omitempty"`
200- StopGracePeriod * Duration `mapstructure:"stop_grace_period" yaml:"stop_grace_period,omitempty" json:"stop_grace_period,omitempty"`
201- StopSignal string `mapstructure:"stop_signal" yaml:"stop_signal,omitempty" json:"stop_signal,omitempty"`
202- Sysctls Mapping `yaml:",omitempty" json:"sysctls,omitempty"`
203- Tmpfs StringList `yaml:",omitempty" json:"tmpfs,omitempty"`
204- Tty bool `mapstructure:"tty" yaml:"tty,omitempty" json:"tty,omitempty"`
205- Ulimits map [string ]* UlimitsConfig `yaml:",omitempty" json:"ulimits,omitempty"`
206- User string `yaml:",omitempty" json:"user,omitempty"`
207- UserNSMode string `mapstructure:"userns_mode" yaml:"userns_mode,omitempty" json:"userns_mode,omitempty"`
208- Volumes []ServiceVolumeConfig `yaml:",omitempty" json:"volumes,omitempty"`
209- WorkingDir string `mapstructure:"working_dir" yaml:"working_dir,omitempty" json:"working_dir,omitempty"`
160+ Build BuildConfig `yaml:",omitempty" json:"build,omitempty"`
161+ CapAdd []string `mapstructure:"cap_add" yaml:"cap_add,omitempty" json:"cap_add,omitempty"`
162+ CapDrop []string `mapstructure:"cap_drop" yaml:"cap_drop,omitempty" json:"cap_drop,omitempty"`
163+ CgroupParent string `mapstructure:"cgroup_parent" yaml:"cgroup_parent,omitempty" json:"cgroup_parent,omitempty"`
164+ Command ShellCommand `yaml:",omitempty" json:"command,omitempty"`
165+ Configs []ServiceConfigObjConfig `yaml:",omitempty" json:"configs,omitempty"`
166+ ContainerName string `mapstructure:"container_name" yaml:"container_name,omitempty" json:"container_name,omitempty"`
167+ CredentialSpec CredentialSpecConfig `mapstructure:"credential_spec" yaml:"credential_spec,omitempty" json:"credential_spec,omitempty"`
168+ DependsOn []string `mapstructure:"depends_on" yaml:"depends_on,omitempty" json:"depends_on,omitempty"`
169+ Deploy DeployConfig `yaml:",omitempty" json:"deploy,omitempty"`
170+ DeviceCgroupRules []string `yaml:",omitempty" json:"device_cgroup_rules,omitempty"`
171+ Devices []string `yaml:",omitempty" json:"devices,omitempty"`
172+ DNS StringList `yaml:",omitempty" json:"dns,omitempty"`
173+ DNSSearch StringList `mapstructure:"dns_search" yaml:"dns_search,omitempty" json:"dns_search,omitempty"`
174+ DomainName string `mapstructure:"domainname" yaml:"domainname,omitempty" json:"domainname,omitempty"`
175+ Entrypoint ShellCommand `yaml:",omitempty" json:"entrypoint,omitempty"`
176+ Environment MappingWithEquals `yaml:",omitempty" json:"environment,omitempty"`
177+ EnvFile StringList `mapstructure:"env_file" yaml:"env_file,omitempty" json:"env_file,omitempty"`
178+ Expose StringOrNumberList `yaml:",omitempty" json:"expose,omitempty"`
179+ ExternalLinks []string `mapstructure:"external_links" yaml:"external_links,omitempty" json:"external_links,omitempty"`
180+ ExtraHosts HostsList `mapstructure:"extra_hosts" yaml:"extra_hosts,omitempty" json:"extra_hosts,omitempty"`
181+ Hostname string `yaml:",omitempty" json:"hostname,omitempty"`
182+ HealthCheck * HealthCheckConfig `yaml:",omitempty" json:"healthcheck,omitempty"`
183+ Image string `yaml:",omitempty" json:"image,omitempty"`
184+ Init * bool `yaml:",omitempty" json:"init,omitempty"`
185+ Ipc string `yaml:",omitempty" json:"ipc,omitempty"`
186+ Isolation string `mapstructure:"isolation" yaml:"isolation,omitempty" json:"isolation,omitempty"`
187+ Labels Labels `yaml:",omitempty" json:"labels,omitempty"`
188+ Links []string `yaml:",omitempty" json:"links,omitempty"`
189+ Logging * LoggingConfig `yaml:",omitempty" json:"logging,omitempty"`
190+ MacAddress string `mapstructure:"mac_address" yaml:"mac_address,omitempty" json:"mac_address,omitempty"`
191+ NetworkMode string `mapstructure:"network_mode" yaml:"network_mode,omitempty" json:"network_mode,omitempty"`
192+ Networks map [string ]* ServiceNetworkConfig `yaml:",omitempty" json:"networks,omitempty"`
193+ Pid string `yaml:",omitempty" json:"pid,omitempty"`
194+ Ports []ServicePortConfig `yaml:",omitempty" json:"ports,omitempty"`
195+ Privileged bool `yaml:",omitempty" json:"privileged,omitempty"`
196+ ReadOnly bool `mapstructure:"read_only" yaml:"read_only,omitempty" json:"read_only,omitempty"`
197+ Restart string `yaml:",omitempty" json:"restart,omitempty"`
198+ Secrets []ServiceSecretConfig `yaml:",omitempty" json:"secrets,omitempty"`
199+ SecurityOpt []string `mapstructure:"security_opt" yaml:"security_opt,omitempty" json:"security_opt,omitempty"`
200+ ShmSize string `mapstructure:"shm_size" yaml:"shm_size,omitempty" json:"shm_size,omitempty"`
201+ StdinOpen bool `mapstructure:"stdin_open" yaml:"stdin_open,omitempty" json:"stdin_open,omitempty"`
202+ StopGracePeriod * Duration `mapstructure:"stop_grace_period" yaml:"stop_grace_period,omitempty" json:"stop_grace_period,omitempty"`
203+ StopSignal string `mapstructure:"stop_signal" yaml:"stop_signal,omitempty" json:"stop_signal,omitempty"`
204+ Sysctls Mapping `yaml:",omitempty" json:"sysctls,omitempty"`
205+ Tmpfs StringList `yaml:",omitempty" json:"tmpfs,omitempty"`
206+ Tty bool `mapstructure:"tty" yaml:"tty,omitempty" json:"tty,omitempty"`
207+ Ulimits map [string ]* UlimitsConfig `yaml:",omitempty" json:"ulimits,omitempty"`
208+ User string `yaml:",omitempty" json:"user,omitempty"`
209+ UserNSMode string `mapstructure:"userns_mode" yaml:"userns_mode,omitempty" json:"userns_mode,omitempty"`
210+ Volumes []ServiceVolumeConfig `yaml:",omitempty" json:"volumes,omitempty"`
211+ WorkingDir string `mapstructure:"working_dir" yaml:"working_dir,omitempty" json:"working_dir,omitempty"`
210212
211213 Extras map [string ]interface {} `yaml:",inline" json:"-"`
212214}
0 commit comments