Skip to content

Commit 8ff0dca

Browse files
committed
Refactor parts of cmd package
1 parent b98df09 commit 8ff0dca

10 files changed

Lines changed: 67 additions & 76 deletions

File tree

cmd/enter.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,5 +55,5 @@ func (cmd *EnterCmd) Run(cobraCmd *cobra.Command, args []string) {
5555
log.Fatalf("Unable to create new kubectl client: %v", err)
5656
}
5757

58-
services.StartTerminal(cmd.kubectl, cmd.flags.container, args)
58+
services.StartTerminal(cmd.kubectl, cmd.flags.container, args, log.GetInstance())
5959
}

cmd/install.go

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@ type InstallCmd struct {
2121
helm *helmClient.ClientWrapper
2222
kubectl *kubernetes.Clientset
2323
dsConfig *v1.DevSpaceConfig
24-
workdir string
2524
}
2625

2726
// InstallCmdFlags are the flags available for the install-command

cmd/list.go

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,7 @@ import (
1313

1414
// ListCmd holds the information needed for the list command
1515
type ListCmd struct {
16-
flags *ListCmdFlags
17-
workdir string
16+
flags *ListCmdFlags
1817
}
1918

2019
// ListCmdFlags holds the possible flags for the list command

cmd/remove.go

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@ type RemoveCmd struct {
1919
syncFlags *removeSyncCmdFlags
2020
portFlags *removePortCmdFlags
2121
packageFlags *removePackageCmdFlags
22-
workdir string
2322
}
2423

2524
type removeSyncCmdFlags struct {

cmd/reset.go

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ package cmd
22

33
import (
44
"os"
5-
"path"
65
"path/filepath"
76

87
helmClient "github.com/covexo/devspace/pkg/devspace/helm"
@@ -21,7 +20,6 @@ import (
2120
// ResetCmd holds the needed command information
2221
type ResetCmd struct {
2322
kubectl *kubernetes.Clientset
24-
workdir string
2523
}
2624

2725
func init() {
@@ -247,7 +245,7 @@ func (cmd *ResetCmd) deleteDevspaceFolder() {
247245
}) == "y"
248246

249247
if deleteDevspaceFolder {
250-
os.RemoveAll(path.Join(cmd.workdir, ".devspace"))
248+
os.RemoveAll(".devspace")
251249
log.Done("Successfully deleted .devspace folder")
252250
}
253251
}

cmd/status.go

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@ import (
2020
type StatusCmd struct {
2121
flags *StatusCmdFlags
2222
kubectl *kubernetes.Clientset
23-
workdir string
2423
}
2524

2625
// StatusCmdFlags holds the possible flags for the list command

cmd/up.go

Lines changed: 56 additions & 65 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package cmd
22

33
import (
4-
"os"
54
"os/exec"
65
"strings"
76

@@ -31,11 +30,8 @@ import (
3130

3231
// UpCmd is a struct that defines a command call for "up"
3332
type UpCmd struct {
34-
flags *UpCmdFlags
35-
kubectl *kubernetes.Clientset
36-
workdir string
37-
pod *k8sv1.Pod
38-
container *k8sv1.Container
33+
flags *UpCmdFlags
34+
kubectl *kubernetes.Clientset
3935
}
4036

4137
// UpCmdFlags are the flags available for the up-command
@@ -102,13 +98,8 @@ Starts and connects your DevSpace:
10298
// Run executes the command logic
10399
func (cmd *UpCmd) Run(cobraCmd *cobra.Command, args []string) {
104100
log.StartFileLogging()
101+
var err error
105102

106-
workdir, err := os.Getwd()
107-
if err != nil {
108-
log.Fatalf("Unable to determine current workdir: %s", err.Error())
109-
}
110-
111-
cmd.workdir = workdir
112103
configExists, _ := configutil.ConfigExists()
113104
if !configExists {
114105
initCmd := &InitCmd{
@@ -164,59 +155,7 @@ func (cmd *UpCmd) Run(cobraCmd *cobra.Command, args []string) {
164155
}()
165156
}
166157

167-
services.StartTerminal(cmd.kubectl, cmd.flags.container, args)
168-
}
169-
170-
func (cmd *UpCmd) buildAndDeploy() {
171-
config := configutil.GetConfig()
172-
173-
// Load config
174-
generatedConfig, err := generated.LoadConfig()
175-
if err != nil {
176-
log.Fatalf("Error loading generated.yaml: %v", err)
177-
}
178-
179-
// Build image if necessary
180-
mustRedeploy := cmd.buildImages(generatedConfig)
181-
182-
// Deploy all defined deployments
183-
if config.DevSpace.Deployments != nil {
184-
for _, deployConfig := range *config.DevSpace.Deployments {
185-
var deployClient deploy.Interface
186-
187-
if deployConfig.Kubectl != nil {
188-
log.StartWait("Deploying " + *deployConfig.Name + " with kubectl")
189-
190-
deployClient, err = deployKubectl.New(cmd.kubectl, deployConfig, log.GetInstance())
191-
if err != nil {
192-
log.Fatalf("Error deploying devspace: deployment %s error: %v", *deployConfig.Name, err)
193-
}
194-
} else if deployConfig.Helm != nil {
195-
log.StartWait("Deploying " + *deployConfig.Name + " with helm")
196-
197-
deployClient, err = deployHelm.New(cmd.kubectl, deployConfig, log.GetInstance())
198-
if err != nil {
199-
log.Fatalf("Error deploying devspace: deployment %s error: %v", *deployConfig.Name, err)
200-
}
201-
} else {
202-
log.Fatalf("Error deploying devspace: deployment %s has no deployment method", *deployConfig.Name)
203-
}
204-
205-
err = deployClient.Deploy(generatedConfig, mustRedeploy || cmd.flags.deploy)
206-
if err != nil {
207-
log.Fatalf("Error deploying %s: %v", *deployConfig.Name, err)
208-
}
209-
210-
log.StopWait()
211-
log.Donef("Successfully deployed %s", *deployConfig.Name)
212-
}
213-
214-
// Save Config
215-
err = generated.SaveConfig(generatedConfig)
216-
if err != nil {
217-
log.Fatalf("Error saving config: %v", err)
218-
}
219-
}
158+
services.StartTerminal(cmd.kubectl, cmd.flags.container, args, log.GetInstance())
220159
}
221160

222161
func (cmd *UpCmd) ensureNamespace() error {
@@ -387,6 +326,58 @@ func (cmd *UpCmd) initRegistries() {
387326
}
388327
}
389328

329+
func (cmd *UpCmd) buildAndDeploy() {
330+
config := configutil.GetConfig()
331+
332+
// Load config
333+
generatedConfig, err := generated.LoadConfig()
334+
if err != nil {
335+
log.Fatalf("Error loading generated.yaml: %v", err)
336+
}
337+
338+
// Build image if necessary
339+
mustRedeploy := cmd.buildImages(generatedConfig)
340+
341+
// Deploy all defined deployments
342+
if config.DevSpace.Deployments != nil {
343+
for _, deployConfig := range *config.DevSpace.Deployments {
344+
var deployClient deploy.Interface
345+
346+
if deployConfig.Kubectl != nil {
347+
log.StartWait("Deploying " + *deployConfig.Name + " with kubectl")
348+
349+
deployClient, err = deployKubectl.New(cmd.kubectl, deployConfig, log.GetInstance())
350+
if err != nil {
351+
log.Fatalf("Error deploying devspace: deployment %s error: %v", *deployConfig.Name, err)
352+
}
353+
} else if deployConfig.Helm != nil {
354+
log.StartWait("Deploying " + *deployConfig.Name + " with helm")
355+
356+
deployClient, err = deployHelm.New(cmd.kubectl, deployConfig, log.GetInstance())
357+
if err != nil {
358+
log.Fatalf("Error deploying devspace: deployment %s error: %v", *deployConfig.Name, err)
359+
}
360+
} else {
361+
log.Fatalf("Error deploying devspace: deployment %s has no deployment method", *deployConfig.Name)
362+
}
363+
364+
err = deployClient.Deploy(generatedConfig, mustRedeploy || cmd.flags.deploy)
365+
if err != nil {
366+
log.Fatalf("Error deploying %s: %v", *deployConfig.Name, err)
367+
}
368+
369+
log.StopWait()
370+
log.Donef("Successfully deployed %s", *deployConfig.Name)
371+
}
372+
373+
// Save Config
374+
err = generated.SaveConfig(generatedConfig)
375+
if err != nil {
376+
log.Fatalf("Error saving config: %v", err)
377+
}
378+
}
379+
}
380+
390381
// returns true when one of the images had to be rebuild
391382
func (cmd *UpCmd) buildImages(generatedConfig *generated.Config) bool {
392383
re := false

pkg/devspace/services/port_forwarding.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,9 @@ func StartPortForwarding(client *kubernetes.Clientset, log log.Logger) error {
3030
namespace = *portForwarding.Namespace
3131
}
3232

33+
log.StartWait("Waiting for pods to become running")
3334
pod, err := kubectl.GetNewestRunningPod(client, strings.Join(labels, ", "), namespace)
35+
log.StopWait()
3436
if err != nil {
3537
return fmt.Errorf("Unable to list devspace pods: %s", err.Error())
3638
} else if pod != nil {

pkg/devspace/services/sync.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,9 @@ func StartSync(client *kubernetes.Clientset, verboseSync bool, log log.Logger) (
3636
namespace = *syncPath.Namespace
3737
}
3838

39+
log.StartWait("Waiting for pods to become running")
3940
pod, err := kubectl.GetNewestRunningPod(client, strings.Join(labels, ", "), namespace)
41+
log.StopWait()
4042
if err != nil {
4143
return nil, fmt.Errorf("Unable to list devspace pods: %v", err)
4244
} else if pod != nil {

pkg/devspace/services/terminal.go

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,17 @@
11
package services
22

33
import (
4-
"log"
54
"strings"
65

76
"github.com/covexo/devspace/pkg/devspace/config/configutil"
87
"github.com/covexo/devspace/pkg/devspace/kubectl"
8+
"github.com/covexo/devspace/pkg/util/log"
99
"k8s.io/client-go/kubernetes"
1010
kubectlExec "k8s.io/client-go/util/exec"
1111
)
1212

1313
// StartTerminal opens a new terminal
14-
func StartTerminal(client *kubernetes.Clientset, containerNameOverride string, args []string) {
14+
func StartTerminal(client *kubernetes.Clientset, containerNameOverride string, args []string, log log.Logger) {
1515
var command []string
1616
config := configutil.GetConfig()
1717

@@ -49,7 +49,9 @@ func StartTerminal(client *kubernetes.Clientset, containerNameOverride string, a
4949
}
5050

5151
// Get first running pod
52+
log.StartWait("Waiting for pods to become running")
5253
pod, err := kubectl.GetNewestRunningPod(client, labelSelector, namespace)
54+
log.StopWait()
5355
if err != nil {
5456
log.Fatalf("Cannot find running pod: %v", err)
5557
}

0 commit comments

Comments
 (0)