@@ -123,7 +123,7 @@ func runUp(ctx context.Context, opts upOptions, services []string) error {
123123 return err
124124 }
125125
126- err = applyScale (opts .scale , project )
126+ err = applyScaleOpt (opts .scale , project )
127127 if err != nil {
128128 return err
129129 }
@@ -142,7 +142,7 @@ func runCreateStart(ctx context.Context, opts upOptions, services []string) erro
142142 return err
143143 }
144144
145- err = applyScale (opts .scale , project )
145+ err = applyScaleOpt (opts .scale , project )
146146 if err != nil {
147147 return err
148148 }
@@ -215,8 +215,7 @@ func runCreateStart(ctx context.Context, opts upOptions, services []string) erro
215215 return err
216216}
217217
218- func applyScale (opts []string , project * types.Project ) error {
219- SCALE:
218+ func applyScaleOpt (opts []string , project * types.Project ) error {
220219 for _ , scale := range opts {
221220 split := strings .Split (scale , "=" )
222221 if len (split ) != 2 {
@@ -227,26 +226,33 @@ SCALE:
227226 if err != nil {
228227 return err
229228 }
230- for i , s := range project .Services {
231- if s .Name == name {
232- service , err := project .GetService (name )
233- if err != nil {
234- return err
235- }
236- if service .Deploy == nil {
237- service .Deploy = & types.DeployConfig {}
238- }
239- count := uint64 (replicas )
240- service .Deploy .Replicas = & count
241- project .Services [i ] = service
242- continue SCALE
243- }
229+ err = setServiceScale (project , name , replicas )
230+ if err != nil {
231+ return err
244232 }
245- return fmt .Errorf ("unknown service %q" , name )
246233 }
247234 return nil
248235}
249236
237+ func setServiceScale (project * types.Project , name string , replicas int ) error {
238+ for i , s := range project .Services {
239+ if s .Name == name {
240+ service , err := project .GetService (name )
241+ if err != nil {
242+ return err
243+ }
244+ if service .Deploy == nil {
245+ service .Deploy = & types.DeployConfig {}
246+ }
247+ count := uint64 (replicas )
248+ service .Deploy .Replicas = & count
249+ project .Services [i ] = service
250+ return nil
251+ }
252+ }
253+ return fmt .Errorf ("unknown service %q" , name )
254+ }
255+
250256func setup (ctx context.Context , opts composeOptions , services []string ) (* client.Client , * types.Project , error ) {
251257 c , err := client .NewWithDefaultLocalBackend (ctx )
252258 if err != nil {
0 commit comments