Skip to content

Commit 315e4b2

Browse files
author
Stefan Agner
committed
Add device_cgroup_rules to list of unsupported fields
Currently `docker stack deploy` does not support these fields hence add them to the list of unsupported fields. Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
1 parent 1b8b069 commit 315e4b2

File tree

1 file changed

+53
-51
lines changed

1 file changed

+53
-51
lines changed

cli/compose/types/types.go

Lines changed: 53 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -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) {
156157
type 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

Comments
 (0)