@@ -399,148 +399,139 @@ func (cmd *InitCmd) configureKubernetes() {
399399
400400func (cmd * InitCmd ) configureRegistry () {
401401 internalRegistryConfig := cmd .config .Services .InternalRegistry
402-
403- enableAutomaticBuilds := stdinutil .GetFromStdin (& stdinutil.GetFromStdinParams {
404- Question : "Do you want to enable automatic Docker image building?" ,
402+ createInternalRegistry := stdinutil .GetFromStdin (& stdinutil.GetFromStdinParams {
403+ Question : "Should we create a private registry within your Kubernetes cluster for you? (yes | no)" ,
405404 DefaultValue : "yes" ,
406405 ValidationRegexPattern : "^(yes)|(no)$" ,
407406 })
408407
409- if * enableAutomaticBuilds == "yes" {
410- internalRegistryKey := "internal registry"
411- defaultRegistryValue := internalRegistryKey
412-
413- if cmd .defaultRegistry .URL != nil {
414- defaultRegistryValue = * cmd .defaultRegistry .URL
415- }
408+ if * createInternalRegistry == "no" {
416409 registryURL := stdinutil .GetFromStdin (& stdinutil.GetFromStdinParams {
417- Question : "Which registry do you want to push to? ('internal registry', ' hub.docker.com' or URL)" ,
418- DefaultValue : defaultRegistryValue ,
410+ Question : "Which registry do you want to push to? ('hub.docker.com' or URL)" ,
411+ DefaultValue : "hub.docker.com" ,
419412 ValidationRegexPattern : "^.*$" ,
420413 })
421414
422- if * registryURL != internalRegistryKey {
423- cmd .defaultRegistry .URL = registryURL
424- internalRegistryConfig = nil
415+ cmd .defaultRegistry .URL = registryURL
416+ internalRegistryConfig = nil
425417
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- }
418+ if * registryURL == "hub.docker.com" {
419+ defaultImageName := * cmd .defaultImage .Name
420+ defaultImageNameParts := strings .Split (defaultImageName , "/" )
421+ existingDockerUsername := ""
434422
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 ))
423+ if len (defaultImageNameParts ) > 1 {
424+ existingDockerUsername = defaultImageNameParts [0 ]
441425 }
442- } else {
443- imageMap := * cmd .config .Images
444- defaultImageConf , defaultImageExists := imageMap ["default" ]
445426
446- if defaultImageExists {
447- defaultImageConf .Registry = configutil .String ("internal" )
448- }
427+ dockerUsername := stdinutil .GetFromStdin (& stdinutil.GetFromStdinParams {
428+ Question : "What is your Docker username?" ,
429+ DefaultValue : existingDockerUsername ,
430+ ValidationRegexPattern : "^[a-zA-Z0-9]{4,30}$" ,
431+ })
432+ cmd .defaultImage .Name = configutil .String (* dockerUsername + "/" + strings .TrimPrefix (defaultImageName , * dockerUsername ))
433+ }
434+ } else {
435+ imageMap := * cmd .config .Images
436+ defaultImageConf , defaultImageExists := imageMap ["default" ]
449437
450- if internalRegistryConfig == nil {
451- internalRegistryConfig = & v1.InternalRegistry {
452- Release : & v1.Release {},
453- }
454- cmd .config .Services .InternalRegistry = internalRegistryConfig
455- }
438+ if defaultImageExists {
439+ defaultImageConf .Registry = configutil .String ("internal" )
440+ }
456441
457- if internalRegistryConfig .Release .Name == nil {
458- internalRegistryConfig .Release .Name = configutil .String ("devspace-registry" )
442+ if internalRegistryConfig == nil {
443+ internalRegistryConfig = & v1.InternalRegistry {
444+ Release : & v1.Release {},
459445 }
446+ cmd .config .Services .InternalRegistry = internalRegistryConfig
447+ }
460448
461- if internalRegistryConfig .Release .Namespace == nil {
462- internalRegistryConfig .Release .Namespace = cmd .config .DevSpace .Release .Namespace
463- }
464- overwriteRegistryMap := * cmd .overwriteConfig .Registries
449+ if internalRegistryConfig .Release .Name == nil {
450+ internalRegistryConfig .Release .Name = configutil .String ("devspace-registry" )
451+ }
465452
466- overwriteRegistryConfig , overwriteRegistryConfigFound := overwriteRegistryMap ["internal" ]
453+ if internalRegistryConfig .Release .Namespace == nil {
454+ internalRegistryConfig .Release .Namespace = cmd .config .DevSpace .Release .Namespace
455+ }
456+ overwriteRegistryMap := * cmd .overwriteConfig .Registries
467457
468- if ! overwriteRegistryConfigFound {
469- overwriteRegistryConfig = & v1. RegistryConfig {
470- Auth : & v1. RegistryAuth {},
471- }
472- overwriteRegistryMap [ "internal" ] = overwriteRegistryConfig
458+ overwriteRegistryConfig , overwriteRegistryConfigFound := overwriteRegistryMap [ "internal" ]
459+
460+ if ! overwriteRegistryConfigFound {
461+ overwriteRegistryConfig = & v1. RegistryConfig {
462+ Auth : & v1. RegistryAuth {},
473463 }
474- registryAuth := overwriteRegistryConfig .Auth
464+ overwriteRegistryMap ["internal" ] = overwriteRegistryConfig
465+ }
466+ registryAuth := overwriteRegistryConfig .Auth
475467
476- if registryAuth .Username == nil {
477- randomUserSuffix , err := randutil .GenerateRandomString (5 )
468+ if registryAuth .Username == nil {
469+ randomUserSuffix , err := randutil .GenerateRandomString (5 )
478470
479- if err != nil {
480- log .Fatalf ("Error creating random username: %s" , err .Error ())
481- }
482- registryAuth .Username = configutil .String ("user-" + randomUserSuffix )
471+ if err != nil {
472+ log .Fatalf ("Error creating random username: %s" , err .Error ())
483473 }
474+ registryAuth .Username = configutil .String ("user-" + randomUserSuffix )
475+ }
484476
485- if registryAuth .Password == nil {
486- randomPassword , err := randutil .GenerateRandomString (12 )
477+ if registryAuth .Password == nil {
478+ randomPassword , err := randutil .GenerateRandomString (12 )
487479
488- if err != nil {
489- log .Fatalf ("Error creating random password: %s" , err .Error ())
490- }
491- registryAuth .Password = & randomPassword
480+ if err != nil {
481+ log .Fatalf ("Error creating random password: %s" , err .Error ())
492482 }
493- var registryReleaseValues map [interface {}]interface {}
494-
495- if internalRegistryConfig .Release .Values != nil {
496- registryReleaseValues = * internalRegistryConfig .Release .Values
497- } else {
498- registryReleaseValues = map [interface {}]interface {}{}
499-
500- registryDomain := stdinutil .GetFromStdin (& stdinutil.GetFromStdinParams {
501- Question : "Which domain should your container registry be using? (optional, requires an ingress controller)" ,
502- ValidationRegexPattern : "^(([a-z0-9]([a-z0-9-]{0,120}[a-z0-9])?\\ .)+[a-z0-9]{2,})?$" ,
503- })
504-
505- if * registryDomain != "" {
506- registryReleaseValues = map [interface {}]interface {}{
507- "Ingress" : map [string ]interface {}{
508- "Enabled" : true ,
509- "Hosts" : []string {
510- * registryDomain ,
511- },
512- "Annotations" : map [string ]string {
513- "Kubernetes.io/tls-acme" : "true" ,
514- },
515- "Tls" : []map [string ]interface {}{
516- map [string ]interface {}{
517- "SecretName" : "tls-devspace-registry" ,
518- "Hosts" : []string {
519- * registryDomain ,
520- },
483+ registryAuth .Password = & randomPassword
484+ }
485+ var registryReleaseValues map [interface {}]interface {}
486+
487+ if internalRegistryConfig .Release .Values != nil {
488+ registryReleaseValues = * internalRegistryConfig .Release .Values
489+ } else {
490+ registryReleaseValues = map [interface {}]interface {}{}
491+
492+ registryDomain := stdinutil .GetFromStdin (& stdinutil.GetFromStdinParams {
493+ Question : "Which domain should your container registry be using? (optional, requires an ingress controller)" ,
494+ ValidationRegexPattern : "^(([a-z0-9]([a-z0-9-]{0,120}[a-z0-9])?\\ .)+[a-z0-9]{2,})?$" ,
495+ })
496+
497+ if * registryDomain != "" {
498+ registryReleaseValues = map [interface {}]interface {}{
499+ "Ingress" : map [string ]interface {}{
500+ "Enabled" : true ,
501+ "Hosts" : []string {
502+ * registryDomain ,
503+ },
504+ "Annotations" : map [string ]string {
505+ "Kubernetes.io/tls-acme" : "true" ,
506+ },
507+ "Tls" : []map [string ]interface {}{
508+ map [string ]interface {}{
509+ "SecretName" : "tls-devspace-registry" ,
510+ "Hosts" : []string {
511+ * registryDomain ,
521512 },
522513 },
523514 },
524- }
515+ },
525516 }
526517 }
527- secrets , registryHasSecrets := registryReleaseValues ["secrets" ]
518+ }
519+ secrets , registryHasSecrets := registryReleaseValues ["secrets" ]
528520
529- if ! registryHasSecrets {
530- secrets = map [interface {}]interface {}{}
531- registryReleaseValues ["secrets" ] = secrets
532- }
533- secretMap , secretsIsMap := secrets .(map [interface {}]interface {})
521+ if ! registryHasSecrets {
522+ secrets = map [interface {}]interface {}{}
523+ registryReleaseValues ["secrets" ] = secrets
524+ }
525+ secretMap , secretsIsMap := secrets .(map [interface {}]interface {})
534526
535- if secretsIsMap {
536- _ , registryHasSecretHtpasswd := secretMap ["htpasswd" ]
527+ if secretsIsMap {
528+ _ , registryHasSecretHtpasswd := secretMap ["htpasswd" ]
537529
538- if ! registryHasSecretHtpasswd {
539- secretMap ["htpasswd" ] = ""
540- }
530+ if ! registryHasSecretHtpasswd {
531+ secretMap ["htpasswd" ] = ""
541532 }
542- internalRegistryConfig .Release .Values = & registryReleaseValues
543533 }
534+ internalRegistryConfig .Release .Values = & registryReleaseValues
544535 }
545536}
546537
0 commit comments