Skip to content

Commit b12ba08

Browse files
author
gentele
committed
several fixes for up and config + prettify init output
1 parent e050e85 commit b12ba08

9 files changed

Lines changed: 74 additions & 24 deletions

File tree

cmd/init.go

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -414,14 +414,31 @@ func (cmd *InitCmd) configureRegistry() {
414414
defaultRegistryValue = *cmd.defaultRegistry.URL
415415
}
416416
registryURL := stdinutil.GetFromStdin(&stdinutil.GetFromStdinParams{
417-
Question: "Which registry do you want to push to? (URL or 'internal registry')",
417+
Question: "Which registry do you want to push to? ('internal registry', 'hub.docker.com' or URL)",
418418
DefaultValue: defaultRegistryValue,
419419
ValidationRegexPattern: "^.*$",
420420
})
421421

422422
if *registryURL != internalRegistryKey {
423423
cmd.defaultRegistry.URL = registryURL
424424
internalRegistryConfig = nil
425+
426+
if *registryURL == "hub.docker.com" {
427+
defaultImageName := *cmd.defaultImage.Name
428+
defaultImageNameParts := strings.Split(defaultImageName, "/")
429+
existingDockerUsername := ""
430+
431+
if len(defaultImageNameParts) > 1 {
432+
existingDockerUsername = defaultImageNameParts[0]
433+
}
434+
435+
dockerUsername := stdinutil.GetFromStdin(&stdinutil.GetFromStdinParams{
436+
Question: "What is your Docker username?",
437+
DefaultValue: existingDockerUsername,
438+
ValidationRegexPattern: "^[a-zA-Z0-9]{4,30}$",
439+
})
440+
cmd.defaultImage.Name = configutil.String(*dockerUsername + "/" + strings.TrimPrefix(defaultImageName, *dockerUsername))
441+
}
425442
} else {
426443
imageMap := *cmd.config.Images
427444
defaultImageConf, defaultImageExists := imageMap["default"]

cmd/reset.go

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -151,6 +151,8 @@ func (cmd *ResetCmd) Run(cobraCmd *cobra.Command, args []string) {
151151
}
152152

153153
func (cmd *ResetCmd) determineResetExtent() {
154+
config := configutil.GetConfig(false)
155+
154156
cmd.flags.deleteDevspaceFolder = true
155157
cmd.flags.deleteRelease = true
156158

@@ -166,11 +168,13 @@ func (cmd *ResetCmd) determineResetExtent() {
166168
ValidationRegexPattern: "^(y|n)$",
167169
}) == "y"
168170

169-
cmd.flags.deleteRegistry = *stdinutil.GetFromStdin(&stdinutil.GetFromStdinParams{
170-
Question: "Should the docker registry be removed ? (y/n)",
171-
DefaultValue: "y",
172-
ValidationRegexPattern: "^(y|n)$",
173-
}) == "y"
171+
if config.Services.InternalRegistry != nil {
172+
cmd.flags.deleteRegistry = *stdinutil.GetFromStdin(&stdinutil.GetFromStdinParams{
173+
Question: "Should the internal registry be removed ? (y/n)",
174+
DefaultValue: "y",
175+
ValidationRegexPattern: "^(y|n)$",
176+
}) == "y"
177+
}
174178

175179
cmd.flags.deleteTiller = *stdinutil.GetFromStdin(&stdinutil.GetFromStdinParams{
176180
Question: "Should the tiller server be removed ? (y/n)",

cmd/status.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -297,7 +297,7 @@ func getRunningDevSpacePod(helm *helmClient.HelmClientWrapper, client *kubernete
297297
return nil, err
298298
}
299299

300-
if len(releases.Releases) == 0 {
300+
if releases == nil || len(releases.Releases) == 0 {
301301
return nil, errors.New("No release found")
302302
}
303303

cmd/up.go

Lines changed: 22 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -304,24 +304,32 @@ func (cmd *UpCmd) buildImages(buildFlagChanged bool) bool {
304304
if imageConf.Build.Engine.Docker.PreferMinikube != nil {
305305
preferMinikube = *imageConf.Build.Engine.Docker.PreferMinikube
306306
}
307-
dockerBuilder, buildErr = docker.NewBuilder(*registryConf.URL, *imageConf.Name, imageTag, preferMinikube)
307+
registryURL := *registryConf.URL
308+
309+
if registryURL == "hub.docker.com" {
310+
registryURL = ""
311+
}
312+
dockerBuilder, buildErr = docker.NewBuilder(registryURL, *imageConf.Name, imageTag, preferMinikube)
308313

309314
if buildErr == nil {
310315
username := ""
311316
password := ""
312317

313-
if registryConf.Auth.Username != nil {
314-
username = *registryConf.Auth.Username
315-
}
318+
if registryConf.Auth != nil {
319+
if registryConf.Auth.Username != nil {
320+
username = *registryConf.Auth.Username
321+
}
316322

317-
if registryConf.Auth.Password != nil {
318-
password = *registryConf.Auth.Password
323+
if registryConf.Auth.Password != nil {
324+
password = *registryConf.Auth.Password
325+
}
319326
}
320327
log.StartWait("Authenticating (" + *registryConf.URL + ")")
321328
buildErr = dockerBuilder.Authenticate(username, password, len(username) == 0)
322329
log.StopWait()
323330

324331
if buildErr == nil {
332+
log.Info("Authentication successful (" + *registryConf.URL + ")")
325333
buildOptions := &types.ImageBuildOptions{}
326334

327335
if imageConf.Build.Engine.Docker.Options != nil {
@@ -334,9 +342,15 @@ func (cmd *UpCmd) buildImages(buildFlagChanged bool) bool {
334342
log.StopWait()
335343

336344
if buildErr == nil {
345+
log.Info("Image successfully built")
346+
337347
log.StartWait("Pushing Docker image")
338348
buildErr = dockerBuilder.PushImage()
339349
log.StopWait()
350+
351+
if buildErr == nil {
352+
log.Info("Image pushed to registry (" + *registryConf.URL + ")")
353+
}
340354
}
341355
}
342356
}
@@ -352,6 +366,7 @@ func (cmd *UpCmd) buildImages(buildFlagChanged bool) bool {
352366
if err != nil {
353367
log.Fatalf("Config saving error: %s", err.Error())
354368
}
369+
log.Done("Done building and pushing image '" + imageName + "'")
355370
} else {
356371
log.Infof("Skip building image '%s'", imageName)
357372
}
@@ -453,7 +468,7 @@ func (cmd *UpCmd) deployChart() {
453468
err = waitForPodReady(cmd.kubectl, cmd.pod, 2*60*time.Second, 5*time.Second)
454469

455470
if err != nil {
456-
log.Panicf("Error during waiting for pod: %s", err.Error())
471+
log.Fatalf("Error during waiting for pod: %s", err.Error())
457472
}
458473

459474
break

pkg/devspace/builder/docker/docker.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -165,6 +165,7 @@ func (b *Builder) Authenticate(user, password string, checkCredentialsStore bool
165165
}
166166

167167
authConfig, err := getDefaultAuthConfig(b.client, checkCredentialsStore, serverAddress, serverAddress == authServer)
168+
168169
if err != nil || authConfig.Username == "" || authConfig.Password == "" {
169170
authConfig.Username = strings.TrimSpace(user)
170171
authConfig.Password = strings.TrimSpace(password)

pkg/devspace/clients/helm/client.go

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -255,7 +255,7 @@ func ensureTiller(kubectlClient *kubernetes.Clientset, config *v1.Config, upgrad
255255
config.DevSpace.Release.Namespace,
256256
}
257257

258-
if config.Services.InternalRegistry.Release.Namespace != nil {
258+
if config.Services.InternalRegistry != nil && config.Services.InternalRegistry.Release.Namespace != nil {
259259
appNamespaces = append(appNamespaces, config.Services.InternalRegistry.Release.Namespace)
260260
}
261261
tillerConfig.AppNamespaces = &appNamespaces
@@ -504,13 +504,13 @@ func (helmClientWrapper *HelmClientWrapper) InstallChartByPath(releaseName strin
504504
return nil, err
505505
}
506506
chartDownloader := &helmdownloader.Manager{
507-
/* Out: i.out,
508-
ChartPath: i.chartPath,
509-
HelmHome: settings.Home,
510-
Keyring: defaultKeyring(),
511-
SkipUpdate: false,
512-
Getters: getter.All(settings),
513-
*/
507+
/* Out: i.out,
508+
ChartPath: i.chartPath,
509+
HelmHome: settings.Home,
510+
Keyring: defaultKeyring(),
511+
SkipUpdate: false,
512+
Getters: getter.All(settings),
513+
*/
514514
}
515515
err = chartDownloader.Update()
516516

pkg/devspace/config/configutil/save.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,9 @@ func SaveConfig() error {
7474
}
7575
return ioutil.WriteFile(workdir+overwriteConfigPath, overwriteConfigYaml, os.ModePerm)
7676
}
77+
configLoaded = true
78+
overwriteConfigLoaded = true
79+
7780
return nil
7881
}
7982

pkg/devspace/registry/registry.go

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -196,7 +196,12 @@ func GetImageURL(imageConfig *v1.ImageConfig, includingLatestTag bool) string {
196196
if registryConfErr != nil {
197197
log.Fatal(registryConfErr)
198198
}
199-
image := *registryConfig.URL + "/" + *imageConfig.Name
199+
image := *imageConfig.Name
200+
registryURL := *registryConfig.URL
201+
202+
if registryURL != "" && registryURL != "hub.docker.com" {
203+
image = registryURL + "/" + image
204+
}
200205

201206
if includingLatestTag {
202207
image = image + ":" + *imageConfig.Tag

pkg/util/stdinutil/stdin.go

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,9 @@ import (
77
"regexp"
88
"strings"
99

10+
"github.com/covexo/devspace/pkg/util/log"
11+
"github.com/daviddengcn/go-colortext"
12+
1013
"github.com/covexo/devspace/pkg/util/paramutil"
1114
)
1215

@@ -47,7 +50,7 @@ func GetFromStdin(params *GetFromStdinParams) *string {
4750

4851
if len(params.DefaultValue) > 0 {
4952
fmt.Print("\n")
50-
fmt.Print("Press ENTER to use: " + params.DefaultValue + "")
53+
log.WriteColored("Press ENTER to use: "+params.DefaultValue, ct.Green)
5154
}
5255
fmt.Print("\n")
5356

@@ -79,6 +82,8 @@ func GetFromStdin(params *GetFromStdinParams) *string {
7982
input = ""
8083
}
8184
}
85+
fmt.Println("")
86+
8287
return &input
8388
}
8489

0 commit comments

Comments
 (0)