@@ -3,19 +3,15 @@ package cmd
33import (
44 "context"
55 "fmt"
6+ "github.com/loft-sh/devspace/cmd/flags"
67 runtimevar "github.com/loft-sh/devspace/pkg/devspace/config/loader/variable/runtime"
7- "github.com/loft-sh/devspace/pkg/devspace/imageselector"
8-
98 "github.com/loft-sh/devspace/pkg/devspace/dependency"
109 "github.com/loft-sh/devspace/pkg/devspace/hook"
1110 "github.com/loft-sh/devspace/pkg/devspace/kubectl"
1211 "github.com/loft-sh/devspace/pkg/devspace/plugin"
1312 "github.com/loft-sh/devspace/pkg/devspace/services/inject"
1413 "github.com/loft-sh/devspace/pkg/devspace/services/targetselector"
1514 "github.com/loft-sh/devspace/pkg/util/factory"
16- "github.com/loft-sh/devspace/pkg/util/ptr"
17-
18- "github.com/loft-sh/devspace/cmd/flags"
1915 "github.com/loft-sh/devspace/pkg/util/log"
2016 "github.com/pkg/errors"
2117
@@ -85,7 +81,7 @@ func (cmd *RestartCmd) Run(f factory.Factory) error {
8581 return errors .Wrap (err , "create kube client" )
8682 }
8783
88- return restartContainer (client , targetselector .NewOptionsFromFlags (cmd .Container , cmd .LabelSelector , cmd .Namespace , cmd .Pod , cmd .Pick ), cmd .log )
84+ return restartContainer (client , targetselector .NewOptionsFromFlags (cmd .Container , cmd .LabelSelector , nil , cmd .Namespace , cmd .Pod ). WithPick ( cmd .Pick ), cmd .log )
8985 }
9086
9187 log .StartFileLogging ()
@@ -149,17 +145,19 @@ func (cmd *RestartCmd) Run(f factory.Factory) error {
149145 }
150146
151147 // create target selector options
152- options := targetselector .NewOptionsFromFlags ("" , "" , cmd .Namespace , "" , cmd .Pick ).ApplyConfigParameter (syncPath .LabelSelector , syncPath .Namespace , syncPath .ContainerName , "" )
153- options .ImageSelector = []imageselector.ImageSelector {}
148+ var imageSelector []string
154149 if syncPath .ImageSelector != "" {
155- imageSelector , err := runtimevar .NewRuntimeResolver (true ).FillRuntimeVariablesAsImageSelector (syncPath .ImageSelector , configInterface , dep )
150+ imageSelectorObject , err := runtimevar .NewRuntimeResolver (true ).FillRuntimeVariablesAsImageSelector (syncPath .ImageSelector , configInterface , dep )
156151 if err != nil {
157152 return err
158153 }
159154
160- options . ImageSelector = append ( options . ImageSelector , * imageSelector )
155+ imageSelector = [] string { imageSelectorObject . Image }
161156 }
162157
158+ options := targetselector .NewOptionsFromFlags ("" , "" , nil , cmd .Namespace , "" ).
159+ WithPick (cmd .Pick ).
160+ ApplyConfigParameter (syncPath .ContainerName , syncPath .LabelSelector , imageSelector , syncPath .Namespace , "" )
163161 err = restartContainer (client , options , cmd .log )
164162 if err != nil {
165163 return err
@@ -179,7 +177,7 @@ func (cmd *RestartCmd) Run(f factory.Factory) error {
179177}
180178
181179func restartContainer (client kubectl.Client , options targetselector.Options , log log.Logger ) error {
182- options . Wait = ptr . Bool (false )
180+ options = options . WithWait (false )
183181 container , err := targetselector .NewTargetSelector (client ).SelectSingleContainer (context .TODO (), options , log )
184182 if err != nil {
185183 return errors .Errorf ("Error selecting pod: %v" , err )
0 commit comments