Skip to content

Commit

Permalink
introduce --all-resources to _not_ exclude resources not used by serv…
Browse files Browse the repository at this point in the history
…ices

Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
  • Loading branch information
ndeloof committed Apr 9, 2024
1 parent 29692b5 commit ee9e657
Show file tree
Hide file tree
Showing 4 changed files with 20 additions and 5 deletions.
6 changes: 5 additions & 1 deletion cmd/compose/compose.go
Original file line number Diff line number Diff line change
Expand Up @@ -132,6 +132,7 @@ type ProjectOptions struct {
Compatibility bool
Progress string
Offline bool
All bool
}

// ProjectFunc does stuff within a types.Project
Expand Down Expand Up @@ -175,6 +176,7 @@ func (o *ProjectOptions) addProjectFlags(f *pflag.FlagSet) {
f.StringVar(&o.WorkDir, "workdir", "", "DEPRECATED! USE --project-directory INSTEAD.\nSpecify an alternate working directory\n(default: the path of the, first specified, Compose file)")
f.BoolVar(&o.Compatibility, "compatibility", false, "Run compose in backward compatibility mode")
f.StringVar(&o.Progress, "progress", string(buildkit.AutoMode), fmt.Sprintf(`Set type of progress output (%s)`, strings.Join(printerModes, ", ")))
f.BoolVar(&o.All, "all-resources", false, "Include all resources, even those not used by services")
_ = f.MarkHidden("workdir")
}

Expand Down Expand Up @@ -300,7 +302,9 @@ func (o *ProjectOptions) ToProject(ctx context.Context, dockerCli command.Cli, s
project.Services[name] = s
}

project = project.WithoutUnnecessaryResources()
if !o.All {
project = project.WithoutUnnecessaryResources()
}

project, err = project.WithSelectedServices(services)
return project, metrics, err
Expand Down
8 changes: 4 additions & 4 deletions cmd/compose/up.go
Original file line number Diff line number Diff line change
Expand Up @@ -125,6 +125,10 @@ func upCommand(p *ProjectOptions, dockerCli command.Cli, backend api.Service, ex

up.validateNavigationMenu(dockerCli, experiments)

if !p.All && len(project.Services) == 0 {
return fmt.Errorf("no service selected")
}

return runUp(ctx, dockerCli, backend, create, up, build, project, services)
}),
ValidArgsFunction: completeServiceNames(dockerCli, p),
Expand Down Expand Up @@ -205,10 +209,6 @@ func runUp(
project *types.Project,
services []string,
) error {
if len(project.Services) == 0 {
return fmt.Errorf("no service selected")
}

err := createOptions.Apply(project)
if err != nil {
return err
Expand Down
1 change: 1 addition & 0 deletions docs/reference/compose.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@ Define and run multi-container applications with Docker

| Name | Type | Default | Description |
|:-----------------------|:--------------|:--------|:----------------------------------------------------------------------------------------------------|
| `--all-resources` | | | Include all resources, even those not used by services |
| `--ansi` | `string` | `auto` | Control when to print ANSI control characters ("never"\|"always"\|"auto") |
| `--compatibility` | | | Run compose in backward compatibility mode |
| `--dry-run` | | | Execute command in dry run mode |
Expand Down
10 changes: 10 additions & 0 deletions docs/reference/docker_compose.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -208,6 +208,16 @@ clink:
- docker_compose_wait.yaml
- docker_compose_watch.yaml
options:
- option: all-resources
value_type: bool
default_value: "false"
description: Include all resources, even those not used by services
deprecated: false
hidden: false
experimental: false
experimentalcli: false
kubernetes: false
swarm: false
- option: ansi
value_type: string
default_value: auto
Expand Down

0 comments on commit ee9e657

Please sign in to comment.