Skip to content

Commit ced9eba

Browse files
committed
refactor: removed redundant code
Signed-off-by: Mehrad Dadar <[email protected]>
1 parent 65ed8cf commit ced9eba

File tree

3 files changed

+8
-33
lines changed

3 files changed

+8
-33
lines changed

pkg/compose/compose.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@ func (s *composeService) projectFromName(containers Containers, projectName stri
115115
if len(dependencies) > 0 {
116116
service.DependsOn = types.DependsOnConfig{}
117117
for _, d := range strings.Split(dependencies, ",") {
118-
service.DependsOn[d] = types.ServiceDependency{}
118+
service.DependsOn[d] = types.ServiceDependency{Condition: ServiceConditionRunningOrHealthy}
119119
}
120120
}
121121
project.Services = append(project.Services, service)

pkg/compose/down.go

Lines changed: 6 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ func (s *composeService) Down(ctx context.Context, projectName string, options a
4141
}
4242

4343
func (s *composeService) down(ctx context.Context, projectName string, options api.DownOptions) error {
44+
builtFromResources := options.Project == nil
4445
w := progress.ContextWriter(ctx)
4546
resourceToRemove := false
4647

@@ -50,8 +51,8 @@ func (s *composeService) down(ctx context.Context, projectName string, options a
5051
return err
5152
}
5253

53-
if options.Project == nil {
54-
options.Project, err = s.projectFromLabels(ctx, containers.filter(isNotOneOff), projectName)
54+
if builtFromResources {
55+
options.Project, err = s.getProjectWithVolumes(ctx, containers, projectName)
5556
if err != nil {
5657
return err
5758
}
@@ -232,34 +233,9 @@ func (s *composeService) removeContainers(ctx context.Context, w progress.Writer
232233
return eg.Wait()
233234
}
234235

235-
// projectFromLabels builds a types.Project based on actual resources with compose labels set
236-
func (s *composeService) projectFromLabels(ctx context.Context, containers Containers, projectName string) (*types.Project, error) {
237-
project := &types.Project{
238-
Name: projectName,
239-
}
240-
if len(containers) == 0 {
241-
return project, nil
242-
}
243-
set := map[string]moby.Container{}
244-
for _, c := range containers {
245-
set[c.Labels[api.ServiceLabel]] = c
246-
}
247-
for s, c := range set {
248-
service := types.ServiceConfig{
249-
Name: s,
250-
Image: c.Image,
251-
Labels: c.Labels,
252-
}
253-
dependencies := c.Labels[api.DependenciesLabel]
254-
if len(dependencies) > 0 {
255-
service.DependsOn = types.DependsOnConfig{}
256-
for _, d := range strings.Split(dependencies, ",") {
257-
service.DependsOn[d] = types.ServiceDependency{}
258-
}
259-
}
260-
project.Services = append(project.Services, service)
261-
}
262-
236+
func (s *composeService) getProjectWithVolumes(ctx context.Context, containers Containers, projectName string) (*types.Project, error) {
237+
containers = containers.filter(isNotOneOff)
238+
project := s.projectFromName(containers, projectName)
263239
volumes, err := s.apiClient.VolumeList(ctx, filters.NewArgs(projectFilter(projectName)))
264240
if err != nil {
265241
return nil, err
@@ -273,6 +249,5 @@ func (s *composeService) projectFromLabels(ctx context.Context, containers Conta
273249
Labels: vol.Labels,
274250
}
275251
}
276-
277252
return project, nil
278253
}

pkg/compose/start.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ func (s *composeService) Start(ctx context.Context, projectName string, options
3636

3737
func (s *composeService) start(ctx context.Context, projectName string, options api.StartOptions, listener api.ContainerEventListener) error {
3838
var containers Containers
39-
containers, err := s.getContainers(ctx, projectName, oneOffInclude, true, options.AttachTo...)
39+
containers, err := s.getContainers(ctx, projectName, oneOffExclude, true, options.AttachTo...)
4040
if err != nil {
4141
return err
4242
}

0 commit comments

Comments
 (0)