Skip to content

Commit

Permalink
Merge pull request #338 from covexo/refactor
Browse files Browse the repository at this point in the history
Refactor dev overwrite
  • Loading branch information
FabianKramm authored Oct 31, 2018
2 parents eb41534 + 3daeb2c commit f03b594
Show file tree
Hide file tree
Showing 6 changed files with 16 additions and 16 deletions.
2 changes: 1 addition & 1 deletion cmd/down.go
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ func deleteDevSpace(kubectl *kubernetes.Clientset) {
continue
}
} else {
deployClient, err = deployHelm.New(kubectl, deployConfig, log.GetInstance())
deployClient, err = deployHelm.New(kubectl, deployConfig, false, log.GetInstance())
if err != nil {
log.Warnf("Unable to create helm deploy config: %v", err)
continue
Expand Down
2 changes: 1 addition & 1 deletion cmd/status.go
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,7 @@ func (cmd *StatusCmd) RunStatus(cobraCmd *cobra.Command, args []string) {
continue
}
} else {
deployClient, err = deployHelm.New(cmd.kubectl, deployConfig, log.GetInstance())
deployClient, err = deployHelm.New(cmd.kubectl, deployConfig, false, log.GetInstance())
if err != nil {
log.Warnf("Unable to create helm deploy config for %s: %v", *deployConfig.Name, err)
continue
Expand Down
20 changes: 10 additions & 10 deletions pkg/devspace/deploy/helm/client.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ package helm

import (
"fmt"
"os"
"path/filepath"

"github.com/covexo/devspace/pkg/devspace/config/configutil"
Expand All @@ -21,16 +20,18 @@ type DeployConfig struct {
KubeClient *kubernetes.Clientset
TillerNamespace string
DeploymentConfig *v1.DeploymentConfig
UseDevOverwrite bool
Log log.Logger
}

// New creates a new helm deployment client
func New(kubectl *kubernetes.Clientset, deployConfig *v1.DeploymentConfig, log log.Logger) (*DeployConfig, error) {
func New(kubectl *kubernetes.Clientset, deployConfig *v1.DeploymentConfig, useDevOverwrite bool, log log.Logger) (*DeployConfig, error) {
config := configutil.GetConfig()
return &DeployConfig{
KubeClient: kubectl,
TillerNamespace: *config.Tiller.Namespace,
DeploymentConfig: deployConfig,
UseDevOverwrite: useDevOverwrite,
Log: log,
}, nil
}
Expand Down Expand Up @@ -125,7 +126,7 @@ func (d *DeployConfig) Status() ([][]string, error) {
}

// Deploy deploys the given deployment with helm
func (d *DeployConfig) Deploy(generatedConfig *generated.Config, forceDeploy, useDevOverwrite bool) error {
func (d *DeployConfig) Deploy(generatedConfig *generated.Config, forceDeploy bool) error {
config := configutil.GetConfig()

releaseName := *d.DeploymentConfig.Name
Expand Down Expand Up @@ -177,16 +178,15 @@ func (d *DeployConfig) Deploy(generatedConfig *generated.Config, forceDeploy, us
return fmt.Errorf("Couldn't deploy chart, error reading from chart values %s: %v", valuesPath, err)
}

if useDevOverwrite && d.DeploymentConfig.Helm.DevOverwrite != nil {
workdir, workdirErr := os.Getwd()
if workdirErr != nil {
log.Fatalf("Unable to determine current workdir: %s", workdirErr.Error())
if d.UseDevOverwrite && d.DeploymentConfig.Helm.DevOverwrite != nil {
overwriteValuesPath, err := filepath.Abs(*d.DeploymentConfig.Helm.DevOverwrite)
if err != nil {
return fmt.Errorf("Error retrieving absolute path from %s: %v", *d.DeploymentConfig.Helm.DevOverwrite, err)
}

overwriteValuesPath := filepath.Join(workdir, *d.DeploymentConfig.Helm.DevOverwrite)
err := yamlutil.ReadYamlFromFile(overwriteValuesPath, overwriteValues)
err = yamlutil.ReadYamlFromFile(overwriteValuesPath, overwriteValues)
if err != nil {
return fmt.Errorf("Couldn't deploy chart, error reading from chart dev overwrite values %s: %v", overwriteValuesPath, err)
d.Log.Warnf("Error reading from chart dev overwrite values %s: %v", overwriteValuesPath, err)
}
}

Expand Down
2 changes: 1 addition & 1 deletion pkg/devspace/deploy/interface.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,5 +8,5 @@ import (
type Interface interface {
Delete() error
Status() ([][]string, error)
Deploy(generatedConfig *generated.Config, forceDeploy, useDevOverwrite bool) error
Deploy(generatedConfig *generated.Config, forceDeploy bool) error
}
2 changes: 1 addition & 1 deletion pkg/devspace/deploy/kubectl/kubectl.go
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,7 @@ func (d *DeployConfig) Delete() error {
}

// Deploy deploys all specified manifests via kubectl apply and adds to the specified image names the corresponding tags
func (d *DeployConfig) Deploy(generatedConfig *generated.Config, forceDeploy, useDevOverwrite bool) error {
func (d *DeployConfig) Deploy(generatedConfig *generated.Config, forceDeploy bool) error {
d.Log.StartWait("Loading manifests")
manifests, err := loadManifests(d.Manifests, d.Log)
if err != nil {
Expand Down
4 changes: 2 additions & 2 deletions pkg/devspace/deploy/util.go
Original file line number Diff line number Diff line change
Expand Up @@ -29,15 +29,15 @@ func All(client *kubernetes.Clientset, generatedConfig *generated.Config, forceD
} else if deployConfig.Helm != nil {
log.Info("Deploying " + *deployConfig.Name + " with helm")

deployClient, err = helm.New(client, deployConfig, log)
deployClient, err = helm.New(client, deployConfig, useDevOverwrite, log)
if err != nil {
return fmt.Errorf("Error deploying devspace: deployment %s error: %v", *deployConfig.Name, err)
}
} else {
return fmt.Errorf("Error deploying devspace: deployment %s has no deployment method", *deployConfig.Name)
}

err = deployClient.Deploy(generatedConfig, forceDeploy, useDevOverwrite)
err = deployClient.Deploy(generatedConfig, forceDeploy)
if err != nil {
return fmt.Errorf("Error deploying %s: %v", *deployConfig.Name, err)
}
Expand Down

0 comments on commit f03b594

Please sign in to comment.