@@ -19,61 +19,62 @@ type ResourceLookup interface {
19
19
20
20
// ServiceConfigV1 holds version 1 of libcompose service configuration
21
21
type ServiceConfigV1 struct {
22
- Build string `yaml:"build,omitempty"`
23
- CapAdd []string `yaml:"cap_add,omitempty"`
24
- CapDrop []string `yaml:"cap_drop,omitempty"`
25
- CgroupParent string `yaml:"cgroup_parent,omitempty"`
26
- CPUQuota yaml.StringorInt `yaml:"cpu_quota,omitempty"`
27
- CPUSet string `yaml:"cpuset,omitempty"`
28
- CPUShares yaml.StringorInt `yaml:"cpu_shares,omitempty"`
29
- Command yaml.Command `yaml:"command,flow,omitempty"`
30
- ContainerName string `yaml:"container_name,omitempty"`
31
- Devices []string `yaml:"devices,omitempty"`
32
- DNS yaml.Stringorslice `yaml:"dns,omitempty"`
33
- DNSOpts []string `yaml:"dns_opt,omitempty"`
34
- DNSSearch yaml.Stringorslice `yaml:"dns_search,omitempty"`
35
- Dockerfile string `yaml:"dockerfile,omitempty"`
36
- DomainName string `yaml:"domainname,omitempty"`
37
- Entrypoint yaml.Command `yaml:"entrypoint,flow,omitempty"`
38
- EnvFile yaml.Stringorslice `yaml:"env_file,omitempty"`
39
- Environment yaml.MaporEqualSlice `yaml:"environment,omitempty"`
40
- GroupAdd []string `yaml:"group_add,omitempty"`
41
- Hostname string `yaml:"hostname,omitempty"`
42
- Image string `yaml:"image,omitempty"`
43
- Isolation string `yaml:"isolation,omitempty"`
44
- Labels yaml.SliceorMap `yaml:"labels,omitempty"`
45
- Links yaml.MaporColonSlice `yaml:"links,omitempty"`
46
- LogDriver string `yaml:"log_driver,omitempty"`
47
- MacAddress string `yaml:"mac_address,omitempty"`
48
- MemLimit yaml.MemStringorInt `yaml:"mem_limit,omitempty"`
49
- MemSwapLimit yaml.MemStringorInt `yaml:"memswap_limit,omitempty"`
50
- MemSwappiness yaml.MemStringorInt `yaml:"mem_swappiness,omitempty"`
51
- Name string `yaml:"name,omitempty"`
52
- Net string `yaml:"net,omitempty"`
53
- OomScoreAdj yaml.StringorInt `yaml:"oom_score_adj,omitempty"`
54
- Pid string `yaml:"pid,omitempty"`
55
- Uts string `yaml:"uts,omitempty"`
56
- Ipc string `yaml:"ipc,omitempty"`
57
- Ports []string `yaml:"ports,omitempty"`
58
- Privileged bool `yaml:"privileged,omitempty"`
59
- Restart string `yaml:"restart,omitempty"`
60
- ReadOnly bool `yaml:"read_only,omitempty"`
61
- ShmSize yaml.MemStringorInt `yaml:"shm_size,omitempty"`
62
- StdinOpen bool `yaml:"stdin_open,omitempty"`
63
- SecurityOpt []string `yaml:"security_opt,omitempty"`
64
- StopSignal string `yaml:"stop_signal,omitempty"`
65
- Tmpfs yaml.Stringorslice `yaml:"tmpfs,omitempty"`
66
- Tty bool `yaml:"tty,omitempty"`
67
- User string `yaml:"user,omitempty"`
68
- VolumeDriver string `yaml:"volume_driver,omitempty"`
69
- Volumes []string `yaml:"volumes,omitempty"`
70
- VolumesFrom []string `yaml:"volumes_from,omitempty"`
71
- WorkingDir string `yaml:"working_dir,omitempty"`
72
- Expose []string `yaml:"expose,omitempty"`
73
- ExternalLinks []string `yaml:"external_links,omitempty"`
74
- LogOpt map [string ]string `yaml:"log_opt,omitempty"`
75
- ExtraHosts []string `yaml:"extra_hosts,omitempty"`
76
- Ulimits yaml.Ulimits `yaml:"ulimits,omitempty"`
22
+ Build string `yaml:"build,omitempty"`
23
+ CapAdd []string `yaml:"cap_add,omitempty"`
24
+ CapDrop []string `yaml:"cap_drop,omitempty"`
25
+ CgroupParent string `yaml:"cgroup_parent,omitempty"`
26
+ CPUQuota yaml.StringorInt `yaml:"cpu_quota,omitempty"`
27
+ CPUSet string `yaml:"cpuset,omitempty"`
28
+ CPUShares yaml.StringorInt `yaml:"cpu_shares,omitempty"`
29
+ Command yaml.Command `yaml:"command,flow,omitempty"`
30
+ ContainerName string `yaml:"container_name,omitempty"`
31
+ Devices []string `yaml:"devices,omitempty"`
32
+ DNS yaml.Stringorslice `yaml:"dns,omitempty"`
33
+ DNSOpts []string `yaml:"dns_opt,omitempty"`
34
+ DNSSearch yaml.Stringorslice `yaml:"dns_search,omitempty"`
35
+ Dockerfile string `yaml:"dockerfile,omitempty"`
36
+ DomainName string `yaml:"domainname,omitempty"`
37
+ Entrypoint yaml.Command `yaml:"entrypoint,flow,omitempty"`
38
+ EnvFile yaml.Stringorslice `yaml:"env_file,omitempty"`
39
+ Environment yaml.MaporEqualSlice `yaml:"environment,omitempty"`
40
+ GroupAdd []string `yaml:"group_add,omitempty"`
41
+ Hostname string `yaml:"hostname,omitempty"`
42
+ Image string `yaml:"image,omitempty"`
43
+ Isolation string `yaml:"isolation,omitempty"`
44
+ Labels yaml.SliceorMap `yaml:"labels,omitempty"`
45
+ Links yaml.MaporColonSlice `yaml:"links,omitempty"`
46
+ LogDriver string `yaml:"log_driver,omitempty"`
47
+ MacAddress string `yaml:"mac_address,omitempty"`
48
+ MemLimit yaml.MemStringorInt `yaml:"mem_limit,omitempty"`
49
+ MemSwapLimit yaml.MemStringorInt `yaml:"memswap_limit,omitempty"`
50
+ MemSwappiness yaml.MemStringorInt `yaml:"mem_swappiness,omitempty"`
51
+ Name string `yaml:"name,omitempty"`
52
+ Net string `yaml:"net,omitempty"`
53
+ OomKillDisable bool `yaml:"oom_kill_disable,omitempty"`
54
+ OomScoreAdj yaml.StringorInt `yaml:"oom_score_adj,omitempty"`
55
+ Pid string `yaml:"pid,omitempty"`
56
+ Uts string `yaml:"uts,omitempty"`
57
+ Ipc string `yaml:"ipc,omitempty"`
58
+ Ports []string `yaml:"ports,omitempty"`
59
+ Privileged bool `yaml:"privileged,omitempty"`
60
+ Restart string `yaml:"restart,omitempty"`
61
+ ReadOnly bool `yaml:"read_only,omitempty"`
62
+ ShmSize yaml.MemStringorInt `yaml:"shm_size,omitempty"`
63
+ StdinOpen bool `yaml:"stdin_open,omitempty"`
64
+ SecurityOpt []string `yaml:"security_opt,omitempty"`
65
+ StopSignal string `yaml:"stop_signal,omitempty"`
66
+ Tmpfs yaml.Stringorslice `yaml:"tmpfs,omitempty"`
67
+ Tty bool `yaml:"tty,omitempty"`
68
+ User string `yaml:"user,omitempty"`
69
+ VolumeDriver string `yaml:"volume_driver,omitempty"`
70
+ Volumes []string `yaml:"volumes,omitempty"`
71
+ VolumesFrom []string `yaml:"volumes_from,omitempty"`
72
+ WorkingDir string `yaml:"working_dir,omitempty"`
73
+ Expose []string `yaml:"expose,omitempty"`
74
+ ExternalLinks []string `yaml:"external_links,omitempty"`
75
+ LogOpt map [string ]string `yaml:"log_opt,omitempty"`
76
+ ExtraHosts []string `yaml:"extra_hosts,omitempty"`
77
+ Ulimits yaml.Ulimits `yaml:"ulimits,omitempty"`
77
78
}
78
79
79
80
// Log holds v2 logging information
@@ -84,61 +85,62 @@ type Log struct {
84
85
85
86
// ServiceConfig holds version 2 of libcompose service configuration
86
87
type ServiceConfig struct {
87
- Build yaml.Build `yaml:"build,omitempty"`
88
- CapAdd []string `yaml:"cap_add,omitempty"`
89
- CapDrop []string `yaml:"cap_drop,omitempty"`
90
- CPUSet string `yaml:"cpuset,omitempty"`
91
- CPUShares yaml.StringorInt `yaml:"cpu_shares,omitempty"`
92
- CPUQuota yaml.StringorInt `yaml:"cpu_quota,omitempty"`
93
- Command yaml.Command `yaml:"command,flow,omitempty"`
94
- CgroupParent string `yaml:"cgroup_parent,omitempty"`
95
- ContainerName string `yaml:"container_name,omitempty"`
96
- Devices []string `yaml:"devices,omitempty"`
97
- DependsOn []string `yaml:"depends_on,omitempty"`
98
- DNS yaml.Stringorslice `yaml:"dns,omitempty"`
99
- DNSOpts []string `yaml:"dns_opt,omitempty"`
100
- DNSSearch yaml.Stringorslice `yaml:"dns_search,omitempty"`
101
- DomainName string `yaml:"domainname,omitempty"`
102
- Entrypoint yaml.Command `yaml:"entrypoint,flow,omitempty"`
103
- EnvFile yaml.Stringorslice `yaml:"env_file,omitempty"`
104
- Environment yaml.MaporEqualSlice `yaml:"environment,omitempty"`
105
- Expose []string `yaml:"expose,omitempty"`
106
- Extends yaml.MaporEqualSlice `yaml:"extends,omitempty"`
107
- ExternalLinks []string `yaml:"external_links,omitempty"`
108
- ExtraHosts []string `yaml:"extra_hosts,omitempty"`
109
- GroupAdd []string `yaml:"group_add,omitempty"`
110
- Image string `yaml:"image,omitempty"`
111
- Isolation string `yaml:"isolation,omitempty"`
112
- Hostname string `yaml:"hostname,omitempty"`
113
- Ipc string `yaml:"ipc,omitempty"`
114
- Labels yaml.SliceorMap `yaml:"labels,omitempty"`
115
- Links yaml.MaporColonSlice `yaml:"links,omitempty"`
116
- Logging Log `yaml:"logging,omitempty"`
117
- MacAddress string `yaml:"mac_address,omitempty"`
118
- MemLimit yaml.MemStringorInt `yaml:"mem_limit,omitempty"`
119
- MemSwapLimit yaml.MemStringorInt `yaml:"memswap_limit,omitempty"`
120
- MemSwappiness yaml.MemStringorInt `yaml:"mem_swappiness,omitempty"`
121
- NetworkMode string `yaml:"network_mode,omitempty"`
122
- Networks * yaml.Networks `yaml:"networks,omitempty"`
123
- OomScoreAdj yaml.StringorInt `yaml:"oom_score_adj,omitempty"`
124
- Pid string `yaml:"pid,omitempty"`
125
- Ports []string `yaml:"ports,omitempty"`
126
- Privileged bool `yaml:"privileged,omitempty"`
127
- SecurityOpt []string `yaml:"security_opt,omitempty"`
128
- ShmSize yaml.MemStringorInt `yaml:"shm_size,omitempty"`
129
- StopSignal string `yaml:"stop_signal,omitempty"`
130
- Tmpfs yaml.Stringorslice `yaml:"tmpfs,omitempty"`
131
- VolumeDriver string `yaml:"volume_driver,omitempty"`
132
- Volumes * yaml.Volumes `yaml:"volumes,omitempty"`
133
- VolumesFrom []string `yaml:"volumes_from,omitempty"`
134
- Uts string `yaml:"uts,omitempty"`
135
- Restart string `yaml:"restart,omitempty"`
136
- ReadOnly bool `yaml:"read_only,omitempty"`
137
- StdinOpen bool `yaml:"stdin_open,omitempty"`
138
- Tty bool `yaml:"tty,omitempty"`
139
- User string `yaml:"user,omitempty"`
140
- WorkingDir string `yaml:"working_dir,omitempty"`
141
- Ulimits yaml.Ulimits `yaml:"ulimits,omitempty"`
88
+ Build yaml.Build `yaml:"build,omitempty"`
89
+ CapAdd []string `yaml:"cap_add,omitempty"`
90
+ CapDrop []string `yaml:"cap_drop,omitempty"`
91
+ CPUSet string `yaml:"cpuset,omitempty"`
92
+ CPUShares yaml.StringorInt `yaml:"cpu_shares,omitempty"`
93
+ CPUQuota yaml.StringorInt `yaml:"cpu_quota,omitempty"`
94
+ Command yaml.Command `yaml:"command,flow,omitempty"`
95
+ CgroupParent string `yaml:"cgroup_parent,omitempty"`
96
+ ContainerName string `yaml:"container_name,omitempty"`
97
+ Devices []string `yaml:"devices,omitempty"`
98
+ DependsOn []string `yaml:"depends_on,omitempty"`
99
+ DNS yaml.Stringorslice `yaml:"dns,omitempty"`
100
+ DNSOpts []string `yaml:"dns_opt,omitempty"`
101
+ DNSSearch yaml.Stringorslice `yaml:"dns_search,omitempty"`
102
+ DomainName string `yaml:"domainname,omitempty"`
103
+ Entrypoint yaml.Command `yaml:"entrypoint,flow,omitempty"`
104
+ EnvFile yaml.Stringorslice `yaml:"env_file,omitempty"`
105
+ Environment yaml.MaporEqualSlice `yaml:"environment,omitempty"`
106
+ Expose []string `yaml:"expose,omitempty"`
107
+ Extends yaml.MaporEqualSlice `yaml:"extends,omitempty"`
108
+ ExternalLinks []string `yaml:"external_links,omitempty"`
109
+ ExtraHosts []string `yaml:"extra_hosts,omitempty"`
110
+ GroupAdd []string `yaml:"group_add,omitempty"`
111
+ Image string `yaml:"image,omitempty"`
112
+ Isolation string `yaml:"isolation,omitempty"`
113
+ Hostname string `yaml:"hostname,omitempty"`
114
+ Ipc string `yaml:"ipc,omitempty"`
115
+ Labels yaml.SliceorMap `yaml:"labels,omitempty"`
116
+ Links yaml.MaporColonSlice `yaml:"links,omitempty"`
117
+ Logging Log `yaml:"logging,omitempty"`
118
+ MacAddress string `yaml:"mac_address,omitempty"`
119
+ MemLimit yaml.MemStringorInt `yaml:"mem_limit,omitempty"`
120
+ MemSwapLimit yaml.MemStringorInt `yaml:"memswap_limit,omitempty"`
121
+ MemSwappiness yaml.MemStringorInt `yaml:"mem_swappiness,omitempty"`
122
+ NetworkMode string `yaml:"network_mode,omitempty"`
123
+ Networks * yaml.Networks `yaml:"networks,omitempty"`
124
+ OomKillDisable bool `yaml:"oom_kill_disable,omitempty"`
125
+ OomScoreAdj yaml.StringorInt `yaml:"oom_score_adj,omitempty"`
126
+ Pid string `yaml:"pid,omitempty"`
127
+ Ports []string `yaml:"ports,omitempty"`
128
+ Privileged bool `yaml:"privileged,omitempty"`
129
+ SecurityOpt []string `yaml:"security_opt,omitempty"`
130
+ ShmSize yaml.MemStringorInt `yaml:"shm_size,omitempty"`
131
+ StopSignal string `yaml:"stop_signal,omitempty"`
132
+ Tmpfs yaml.Stringorslice `yaml:"tmpfs,omitempty"`
133
+ VolumeDriver string `yaml:"volume_driver,omitempty"`
134
+ Volumes * yaml.Volumes `yaml:"volumes,omitempty"`
135
+ VolumesFrom []string `yaml:"volumes_from,omitempty"`
136
+ Uts string `yaml:"uts,omitempty"`
137
+ Restart string `yaml:"restart,omitempty"`
138
+ ReadOnly bool `yaml:"read_only,omitempty"`
139
+ StdinOpen bool `yaml:"stdin_open,omitempty"`
140
+ Tty bool `yaml:"tty,omitempty"`
141
+ User string `yaml:"user,omitempty"`
142
+ WorkingDir string `yaml:"working_dir,omitempty"`
143
+ Ulimits yaml.Ulimits `yaml:"ulimits,omitempty"`
142
144
}
143
145
144
146
// VolumeConfig holds v2 volume configuration
0 commit comments