chore: honest name for navigation-menu resolution, share setServiceScale

validateNavigationMenu validated nothing: it resolves the TTY /
COMPOSE_MENU / --menu precedence and mutates opts.navigationMenu —
rename to resolveNavigationMenu.

runScale duplicated setServiceScale's GetService/SetScale/write-back
dance inline; move the helper next to its natural home in scale.go and
use it from both callers.

Signed-off-by: Nicolas De Loof <[email protected]>
This commit is contained in:
Nicolas De Loof
2026-08-14 22:49:53 +02:00
committed by Nicolas De loof
parent 1e80a0906f
commit ddc4b044b6
2 changed files with 13 additions and 16 deletions
+11 -4
View File
@@ -93,17 +93,24 @@ func runScale(ctx context.Context, dockerCli command.Cli, backendOptions *Backen
}
for key, value := range serviceReplicaTuples {
service, err := project.GetService(key)
if err != nil {
if err := setServiceScale(project, key, value); err != nil {
return err
}
service.SetScale(value)
project.Services[key] = service
}
return backend.Scale(ctx, project, api.ScaleOptions{Services: services})
}
func setServiceScale(project *types.Project, name string, replicas int) error {
service, err := project.GetService(name)
if err != nil {
return err
}
service.SetScale(replicas)
project.Services[name] = service
return nil
}
func parseServicesReplicasArgs(args []string) (map[string]int, error) {
serviceReplicaTuples := map[string]int{}
for _, arg := range args {
+2 -12
View File
@@ -83,7 +83,7 @@ func (opts upOptions) apply(project *types.Project, services []string) (*types.P
return project, nil
}
func (opts *upOptions) validateNavigationMenu(dockerCli command.Cli) {
func (opts *upOptions) resolveNavigationMenu(dockerCli command.Cli) {
if !dockerCli.Out().IsTerminal() {
opts.navigationMenu = false
return
@@ -135,7 +135,7 @@ func upCommand(p *ProjectOptions, dockerCli command.Cli, backendOptions *Backend
return errors.New("cannot combine --attach and --attach-dependencies")
}
up.validateNavigationMenu(dockerCli)
up.resolveNavigationMenu(dockerCli)
if !p.All && len(project.Services) == 0 {
return fmt.Errorf("no service selected")
@@ -351,13 +351,3 @@ func runUp(
},
})
}
func setServiceScale(project *types.Project, name string, replicas int) error {
service, err := project.GetService(name)
if err != nil {
return err
}
service.SetScale(replicas)
project.Services[name] = service
return nil
}