Skip to content

Commit 37f9992

Browse files
committed
Fix several issues regarding new deployment method
1 parent ffa8ebf commit 37f9992

13 files changed

Lines changed: 68 additions & 32 deletions

File tree

cmd/add.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,7 @@ func init() {
133133
}
134134

135135
addPortCmd.Flags().StringVar(&cmd.portFlags.ResourceType, "resource-type", "pod", "Selected resource type")
136-
addSyncCmd.Flags().StringVar(&cmd.portFlags.Namespace, "namespace", "", "Namespace to use")
136+
addPortCmd.Flags().StringVar(&cmd.portFlags.Namespace, "namespace", "", "Namespace to use")
137137
addPortCmd.Flags().StringVar(&cmd.portFlags.Selector, "selector", "", "Comma separated key=value selector list (e.g. release=test)")
138138

139139
addCmd.AddCommand(addPortCmd)
@@ -405,7 +405,7 @@ func (cmd *AddCmd) insertOrReplacePortMapping(labelSelectorMap map[string]*strin
405405
config := configutil.GetConfig()
406406

407407
// Check if we should add to existing port mapping
408-
for _, v := range *config.DevSpace.PortForwarding {
408+
for _, v := range *config.DevSpace.Ports {
409409
var selectors map[string]*string
410410

411411
if v.LabelSelector != nil {
@@ -422,14 +422,14 @@ func (cmd *AddCmd) insertOrReplacePortMapping(labelSelectorMap map[string]*strin
422422
return
423423
}
424424
}
425-
portMap := append(*config.DevSpace.PortForwarding, &v1.PortForwardingConfig{
425+
portMap := append(*config.DevSpace.Ports, &v1.PortForwardingConfig{
426426
ResourceType: nil,
427427
LabelSelector: &labelSelectorMap,
428428
PortMappings: &portMappings,
429429
Namespace: &cmd.portFlags.Namespace,
430430
})
431431

432-
config.DevSpace.PortForwarding = &portMap
432+
config.DevSpace.Ports = &portMap
433433
}
434434

435435
func isMapEqual(map1 map[string]*string, map2 map[string]*string) bool {

cmd/init.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -347,7 +347,7 @@ func (cmd *InitCmd) configureRegistry() {
347347
createInternalRegistryDefaultAnswer := "yes"
348348

349349
imageBuilder, err := docker.NewBuilder("", "", "", false)
350-
if err != nil {
350+
if err == nil {
351351
log.StartWait("Checking Docker credentials")
352352
dockerAuthConfig, err := imageBuilder.Authenticate("", "", true)
353353
log.StopWait()

cmd/list.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -198,7 +198,7 @@ func (cmd *ListCmd) RunListSync(cobraCmd *cobra.Command, args []string) {
198198
func (cmd *ListCmd) RunListPort(cobraCmd *cobra.Command, args []string) {
199199
config := configutil.GetConfig()
200200

201-
if len(*config.DevSpace.PortForwarding) == 0 {
201+
if len(*config.DevSpace.Ports) == 0 {
202202
log.Write("No ports are forwarded. Run `devspace add port` to add a port that should be forwarded\n")
203203
return
204204
}
@@ -209,10 +209,10 @@ func (cmd *ListCmd) RunListPort(cobraCmd *cobra.Command, args []string) {
209209
"Ports (Local:Remote)",
210210
}
211211

212-
portForwards := make([][]string, 0, len(*config.DevSpace.PortForwarding))
212+
portForwards := make([][]string, 0, len(*config.DevSpace.Ports))
213213

214214
// Transform values into string arrays
215-
for _, value := range *config.DevSpace.PortForwarding {
215+
for _, value := range *config.DevSpace.Ports {
216216
selector := ""
217217
for k, v := range *value.LabelSelector {
218218
if len(selector) > 0 {

cmd/remove.go

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -296,10 +296,10 @@ func (cmd *RemoveCmd) RunRemovePort(cobraCmd *cobra.Command, args []string) {
296296
}
297297

298298
ports := strings.Split(argPorts, ",")
299-
newPortForwards := make([]*v1.PortForwardingConfig, 0, len(*config.DevSpace.PortForwarding)-1)
299+
newPortForwards := make([]*v1.PortForwardingConfig, 0, len(*config.DevSpace.Ports)-1)
300300

301301
OUTER:
302-
for _, v := range *config.DevSpace.PortForwarding {
302+
for _, v := range *config.DevSpace.Ports {
303303
if cmd.portFlags.RemoveAll ||
304304
isMapEqual(labelSelectorMap, *v.LabelSelector) {
305305
continue
@@ -314,10 +314,9 @@ OUTER:
314314
newPortForwards = append(newPortForwards, v)
315315
}
316316

317-
config.DevSpace.PortForwarding = &newPortForwards
317+
config.DevSpace.Ports = &newPortForwards
318318

319319
err = configutil.SaveConfig()
320-
321320
if err != nil {
322321
log.Fatalf("Couldn't save config file: %s", err.Error())
323322
}

cmd/up.go

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -207,6 +207,7 @@ func (cmd *UpCmd) buildAndDeploy() {
207207
log.Fatalf("Error deploying %s: %v", *deployConfig.Name, err)
208208
}
209209

210+
log.StopWait()
210211
log.Donef("Successfully deployed %s", *deployConfig.Name)
211212
}
212213

@@ -346,6 +347,11 @@ func (cmd *UpCmd) initRegistries() {
346347
}
347348

348349
if registryMap != nil {
350+
defaultNamespace, err := configutil.GetDefaultNamespace(config)
351+
if err != nil {
352+
log.Fatalf("Cannot get default namespace: %v", err)
353+
}
354+
349355
for registryName, registryConf := range registryMap {
350356
if registryConf.Auth != nil && registryConf.Auth.Password != nil {
351357
if config.DevSpace.Deployments != nil {
@@ -362,8 +368,13 @@ func (cmd *UpCmd) initRegistries() {
362368
registryURL = *registryConf.URL
363369
}
364370

371+
namespace := *deployConfig.Namespace
372+
if namespace == "" {
373+
namespace = defaultNamespace
374+
}
375+
365376
log.StartWait("Creating image pull secret for registry: " + registryName)
366-
err := registry.CreatePullSecret(cmd.kubectl, *deployConfig.Namespace, registryURL, username, password, email)
377+
err := registry.CreatePullSecret(cmd.kubectl, namespace, registryURL, username, password, email)
367378
log.StopWait()
368379

369380
if err != nil {

pkg/devspace/config/configutil/get.go

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -130,18 +130,14 @@ func SetDefaults(config *v1.Config) {
130130
}
131131
}
132132

133-
if config.DevSpace.PortForwarding != nil {
134-
for _, portForwarding := range *config.DevSpace.PortForwarding {
133+
if config.DevSpace.Ports != nil {
134+
for _, portForwarding := range *config.DevSpace.Ports {
135135
if portForwarding.Namespace == nil {
136136
portForwarding.Namespace = String("")
137137
}
138138
}
139139
}
140140

141-
if config.DevSpace.Terminal != nil && config.DevSpace.Terminal.Namespace == nil {
142-
config.DevSpace.Terminal.Namespace = String("")
143-
}
144-
145141
if needTiller && config.Tiller == nil {
146142
config.Tiller = &v1.TillerConfig{
147143
Namespace: &defaultNamespace,

pkg/devspace/config/configutil/make.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,10 @@ func makeConfig() *v1.Config {
1010
User: &v1.ClusterUser{},
1111
},
1212
DevSpace: &v1.DevSpaceConfig{
13-
Terminal: &v1.Terminal{},
14-
PortForwarding: &[]*v1.PortForwardingConfig{},
15-
Deployments: &[]*v1.DeploymentConfig{},
16-
Sync: &[]*v1.SyncConfig{},
13+
Terminal: &v1.Terminal{},
14+
Ports: &[]*v1.PortForwardingConfig{},
15+
Deployments: &[]*v1.DeploymentConfig{},
16+
Sync: &[]*v1.SyncConfig{},
1717
},
1818
Images: &map[string]*v1.ImageConfig{},
1919
Registries: &map[string]*v1.RegistryConfig{},

pkg/devspace/config/generated/config.go

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ func LoadConfig() (*Config, error) {
2727
return &Config{
2828
DockerLatestTimestamps: make(map[string]int64),
2929
ImageTags: make(map[string]string),
30+
ChartHashs: make(map[string]string),
3031
}, nil
3132
}
3233

@@ -36,6 +37,16 @@ func LoadConfig() (*Config, error) {
3637
return nil, err
3738
}
3839

40+
if config.ChartHashs == nil {
41+
config.ChartHashs = make(map[string]string)
42+
}
43+
if config.DockerLatestTimestamps == nil {
44+
config.DockerLatestTimestamps = make(map[string]int64)
45+
}
46+
if config.ImageTags == nil {
47+
config.ImageTags = make(map[string]string)
48+
}
49+
3950
return config, nil
4051
}
4152

pkg/devspace/config/v1/devspace.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@ package v1
22

33
//DevSpaceConfig defines the devspace deployment
44
type DevSpaceConfig struct {
5-
Terminal *Terminal `yaml:"terminal"`
6-
Deployments *[]*DeploymentConfig `yaml:"deployments,omitempty"`
7-
PortForwarding *[]*PortForwardingConfig `yaml:"ports"`
8-
Sync *[]*SyncConfig `yaml:"sync"`
5+
Terminal *Terminal `yaml:"terminal"`
6+
Deployments *[]*DeploymentConfig `yaml:"deployments,omitempty"`
7+
Ports *[]*PortForwardingConfig `yaml:"ports"`
8+
Sync *[]*SyncConfig `yaml:"sync"`
99
}
1010

1111
// PortForwardingConfig defines the ports for a port forwarding to a DevSpace

pkg/devspace/helm/install.go

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@ import (
66
"os"
77
"strings"
88

9+
"github.com/covexo/devspace/pkg/devspace/config/configutil"
10+
911
yaml "gopkg.in/yaml.v2"
1012
helmchartutil "k8s.io/helm/pkg/chartutil"
1113
"k8s.io/helm/pkg/downloader"
@@ -40,7 +42,19 @@ func checkDependencies(ch *chart.Chart, reqs *helmchartutil.Requirements) error
4042
}
4143

4244
// InstallChartByPath installs the given chartpath und the releasename in the releasenamespace
43-
func (helmClientWrapper *ClientWrapper) InstallChartByPath(releaseName string, releaseNamespace string, chartPath string, values *map[interface{}]interface{}) (*hapi_release5.Release, error) {
45+
func (helmClientWrapper *ClientWrapper) InstallChartByPath(releaseName, releaseNamespace string, chartPath string, values *map[interface{}]interface{}) (*hapi_release5.Release, error) {
46+
if releaseNamespace == "" {
47+
config := configutil.GetConfig()
48+
49+
// Use default namespace here
50+
defaultNamespace, err := configutil.GetDefaultNamespace(config)
51+
if err != nil {
52+
return nil, err
53+
}
54+
55+
releaseNamespace = defaultNamespace
56+
}
57+
4458
chart, err := helmchartutil.Load(chartPath)
4559
if err != nil {
4660
return nil, err
@@ -115,6 +129,9 @@ func (helmClientWrapper *ClientWrapper) InstallChartByPath(releaseName string, r
115129
)
116130

117131
if err != nil {
132+
// Try to delete and ignore errors, because otherwise we have a broken release laying around and always get the no deployed resources error
133+
helmClientWrapper.DeleteRelease(releaseName, true)
134+
118135
return nil, err
119136
}
120137

0 commit comments

Comments
 (0)