Skip to content

Commit 38ffb96

Browse files
author
gentele
committed
refactor config
1 parent b21bf85 commit 38ffb96

8 files changed

Lines changed: 57 additions & 55 deletions

File tree

cmd/init.go

Lines changed: 19 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -373,7 +373,8 @@ func (cmd *InitCmd) configureKubernetes() {
373373
}
374374

375375
func (cmd *InitCmd) configureRegistry() {
376-
registryConfig := cmd.config.Services.Registry
376+
registryConfig := cmd.config.Image.Registry
377+
internalRegistryConfig := cmd.config.Services.InternalRegistry
377378

378379
enableAutomaticBuilds := stdinutil.GetFromStdin(&stdinutil.GetFromStdinParams{
379380
Question: "Do you want to enable automatic Docker image building?",
@@ -385,8 +386,8 @@ func (cmd *InitCmd) configureRegistry() {
385386
internalRegistryKey := "internal registry"
386387
defaultRegistryValue := internalRegistryKey
387388

388-
if registryConfig.External != nil {
389-
defaultRegistryValue = *registryConfig.External
389+
if registryConfig.URL != nil {
390+
defaultRegistryValue = *registryConfig.URL
390391
}
391392
registryURL := stdinutil.GetFromStdin(&stdinutil.GetFromStdinParams{
392393
Question: "Which registry do you want to push to? (URL or 'internal registry')",
@@ -395,41 +396,41 @@ func (cmd *InitCmd) configureRegistry() {
395396
})
396397

397398
if *registryURL != internalRegistryKey {
398-
registryConfig.External = registryURL
399-
registryConfig.Internal = nil
399+
registryConfig.URL = registryURL
400+
internalRegistryConfig = nil
400401
} else {
401-
registryConfig.External = nil
402+
registryConfig.URL = nil
402403

403-
if registryConfig.Internal.Release.Name == nil {
404-
registryConfig.Internal.Release.Name = configutil.String("devspace-registry")
404+
if internalRegistryConfig.Release.Name == nil {
405+
internalRegistryConfig.Release.Name = configutil.String("devspace-registry")
405406
}
406407

407-
if registryConfig.Internal.Release.Namespace == nil {
408-
registryConfig.Internal.Release.Namespace = cmd.config.DevSpace.Release.Namespace
408+
if internalRegistryConfig.Release.Namespace == nil {
409+
internalRegistryConfig.Release.Namespace = cmd.config.DevSpace.Release.Namespace
409410
}
410-
registryUser := cmd.overwriteConfig.Services.Registry.User
411+
registryAuth := cmd.overwriteConfig.Image.Registry.Auth
411412

412-
if registryUser.Username == nil {
413+
if registryAuth.Username == nil {
413414
randomUserSuffix, err := randutil.GenerateRandomString(5)
414415

415416
if err != nil {
416417
log.Fatalf("Error creating random username: %s", err.Error())
417418
}
418-
registryUser.Username = configutil.String("user-" + randomUserSuffix)
419+
registryAuth.Username = configutil.String("user-" + randomUserSuffix)
419420
}
420421

421-
if registryUser.Password == nil {
422+
if registryAuth.Password == nil {
422423
randomPassword, err := randutil.GenerateRandomString(12)
423424

424425
if err != nil {
425426
log.Fatalf("Error creating random password: %s", err.Error())
426427
}
427-
registryUser.Password = &randomPassword
428+
registryAuth.Password = &randomPassword
428429
}
429430
var registryReleaseValues map[interface{}]interface{}
430431

431-
if registryConfig.Internal.Release.Values != nil {
432-
registryReleaseValues = *registryConfig.Internal.Release.Values
432+
if internalRegistryConfig.Release.Values != nil {
433+
registryReleaseValues = *internalRegistryConfig.Release.Values
433434
} else {
434435
registryReleaseValues = map[interface{}]interface{}{}
435436

@@ -475,7 +476,7 @@ func (cmd *InitCmd) configureRegistry() {
475476
secretMap["htpasswd"] = ""
476477
}
477478
}
478-
registryConfig.Internal.Release.Values = &registryReleaseValues
479+
internalRegistryConfig.Release.Values = &registryReleaseValues
479480
}
480481
}
481482
}

cmd/reset.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -222,7 +222,7 @@ func (cmd *ResetCmd) deleteRegistry() error {
222222
var err error
223223
config := configutil.GetConfig(false)
224224

225-
registryReleaseName := *config.Services.Registry.Internal.Release.Name
225+
registryReleaseName := *config.Services.InternalRegistry.Release.Name
226226

227227
if cmd.kubectl == nil || cmd.helm == nil {
228228
cmd.kubectl, err = kubectl.NewClient()

cmd/status.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -153,7 +153,7 @@ func (cmd *StatusCmd) RunStatus(cobraCmd *cobra.Command, args []string) {
153153

154154
func (cmd *StatusCmd) getRegistryStatus() ([]string, error) {
155155
config := configutil.GetConfig(false)
156-
registry := config.Services.Registry.Internal
156+
registry := config.Services.InternalRegistry
157157
releases, err := cmd.helm.Client.ListReleases()
158158

159159
if err != nil {

cmd/up.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -224,7 +224,7 @@ func (cmd *UpCmd) buildImage() {
224224
if cmd.flags.imageDestination != "" {
225225
imageDestination = cmd.flags.imageDestination
226226
}
227-
err := kaniko.BuildDockerfile(cmd.kubectl, *config.DevSpace.Release.Namespace, imageDestination, registry.PullSecretName, *config.Services.Registry.Insecure)
227+
err := kaniko.BuildDockerfile(cmd.kubectl, *config.DevSpace.Release.Namespace, imageDestination, registry.PullSecretName, *config.Image.Registry.Insecure)
228228

229229
config.Image.Tag = &imageTag
230230

pkg/devspace/clients/helm/client.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -239,8 +239,8 @@ func ensureTiller(kubectlClient *kubernetes.Clientset, config *v1.Config, upgrad
239239
config.DevSpace.Release.Namespace,
240240
}
241241

242-
if config.Services.Registry.Internal.Release.Namespace != nil {
243-
appNamespaces = append(appNamespaces, config.Services.Registry.Internal.Release.Namespace)
242+
if config.Services.InternalRegistry.Release.Namespace != nil {
243+
appNamespaces = append(appNamespaces, config.Services.InternalRegistry.Release.Namespace)
244244
}
245245
tillerConfig.AppNamespaces = &appNamespaces
246246

pkg/devspace/config/configutil/make.go

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -14,13 +14,14 @@ func makeConfig() *v1.Config {
1414
Release: &v1.Release{},
1515
Sync: &[]*v1.SyncConfig{},
1616
},
17-
Image: &v1.ImageConfig{},
18-
Services: &v1.ServiceConfig{
17+
Image: &v1.ImageConfig{
1918
Registry: &v1.RegistryConfig{
20-
Internal: &v1.InternalRegistry{
21-
Release: &v1.Release{},
22-
},
23-
User: &v1.RegistryUser{},
19+
Auth: &v1.RegistryAuth{},
20+
},
21+
},
22+
Services: &v1.ServiceConfig{
23+
InternalRegistry: &v1.InternalRegistry{
24+
Release: &v1.Release{},
2425
},
2526
Tiller: &v1.TillerConfig{
2627
AppNamespaces: &[]*string{},

pkg/devspace/config/v1/schema.go

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,10 @@ type Config struct {
1414

1515
//ImageConfig defines the image specification
1616
type ImageConfig struct {
17-
Name *string `yaml:"name"`
18-
Tag *string `yaml:"tag"`
19-
BuildTime *string `yaml:"buildTime"`
17+
Name *string `yaml:"name"`
18+
Tag *string `yaml:"tag"`
19+
BuildTime *string `yaml:"buildTime"`
20+
Registry *RegistryConfig `yaml:"registry"`
2021
}
2122

2223
//DevSpaceConfig defines the devspace deployment
@@ -28,8 +29,8 @@ type DevSpaceConfig struct {
2829

2930
//ServiceConfig defines additional services
3031
type ServiceConfig struct {
31-
Tiller *TillerConfig `yaml:"tiller,omitempty"`
32-
Registry *RegistryConfig `yaml:"registry,omitempty"`
32+
Tiller *TillerConfig `yaml:"tiller,omitempty"`
33+
InternalRegistry *InternalRegistry `yaml:"internalRegistry,omitempty"`
3334
}
3435

3536
//TillerConfig defines the tiller service
@@ -40,10 +41,9 @@ type TillerConfig struct {
4041

4142
//RegistryConfig defines the registry service
4243
type RegistryConfig struct {
43-
External *string `yaml:"external,omitempty"`
44-
Internal *InternalRegistry `yaml:"internal,omitempty"`
45-
User *RegistryUser `yaml:"user,omitempty"`
46-
Insecure *bool `yaml:"insecure,omitempty"`
44+
URL *string `yaml:"url,omitempty"`
45+
Auth *RegistryAuth `yaml:"auth,omitempty"`
46+
Insecure *bool `yaml:"insecure,omitempty"`
4747
}
4848

4949
//InternalRegistry defines the deployment of an internal registry
@@ -52,8 +52,8 @@ type InternalRegistry struct {
5252
Host *string `yaml:"host,omitempty"`
5353
}
5454

55-
//RegistryUser is a user for the registry
56-
type RegistryUser struct {
55+
//RegistryAuth is a user for the registry
56+
type RegistryAuth struct {
5757
Username *string `yaml:"username"`
5858
Password *string `yaml:"password"`
5959
}

pkg/devspace/registry/registry.go

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -26,16 +26,16 @@ const registryPort = 5000
2626
// InitRegistry deploys and starts a new docker registry if necessary
2727
func InitRegistry(kubectl *kubernetes.Clientset, helm *helm.HelmClientWrapper) error {
2828
config := configutil.GetConfig(false)
29-
registryConfig := config.Services.Registry
30-
registryUser := registryConfig.User
31-
registryAuthEncoded := base64.StdEncoding.EncodeToString([]byte(*registryUser.Username + ":" + *registryUser.Password))
29+
registryConfig := config.Image.Registry
30+
internalRegistryConfig := config.Services.InternalRegistry
31+
registryAuth := config.Image.Registry.Auth
32+
registryAuthEncoded := base64.StdEncoding.EncodeToString([]byte(*registryAuth.Username + ":" + *registryAuth.Password))
3233

33-
if registryConfig.External == nil {
34-
registry := registryConfig.Internal
35-
registryReleaseName := *registry.Release.Name
36-
registryReleaseNamespace := *registry.Release.Namespace
34+
if registryConfig.URL == nil {
35+
registryReleaseName := *internalRegistryConfig.Release.Name
36+
registryReleaseNamespace := *internalRegistryConfig.Release.Namespace
3737

38-
_, err := helm.InstallChartByName(registryReleaseName, registryReleaseNamespace, "stable/docker-registry", "", registry.Release.Values)
38+
_, err := helm.InstallChartByName(registryReleaseName, registryReleaseNamespace, "stable/docker-registry", "", internalRegistryConfig.Release.Values)
3939

4040
if err != nil {
4141
return fmt.Errorf("Unable to initialize docker registry: %s", err.Error())
@@ -64,7 +64,7 @@ func InitRegistry(kubectl *kubernetes.Clientset, helm *helm.HelmClientWrapper) e
6464
oldHtpasswdDataBytes := []byte(oldHtpasswdData)
6565
newHtpasswdData, _ = htpasswd.ParseHtpasswd(oldHtpasswdDataBytes)
6666
}
67-
err = newHtpasswdData.SetPassword(*registryUser.Username, *registryUser.Password, htpasswd.HashBCrypt)
67+
err = newHtpasswdData.SetPassword(*registryAuth.Username, *registryAuth.Password, htpasswd.HashBCrypt)
6868

6969
if err != nil {
7070
return fmt.Errorf("Unable to set password in htpasswd: %s", err.Error())
@@ -97,7 +97,7 @@ func InitRegistry(kubectl *kubernetes.Clientset, helm *helm.HelmClientWrapper) e
9797
}
9898

9999
if len(registryService.Spec.ClusterIP) > 0 {
100-
registryConfig.Internal.Host = configutil.String(registryService.Spec.ClusterIP + ":" + strconv.Itoa(registryPort))
100+
internalRegistryConfig.Host = configutil.String(registryService.Spec.ClusterIP + ":" + strconv.Itoa(registryPort))
101101
break
102102
}
103103

@@ -165,13 +165,13 @@ func GetImageURL(includingLatestTag bool) string {
165165
//GetRegistryHostname returns the hostname of the registry including the port
166166
func GetRegistryHostname() string {
167167
config := configutil.GetConfig(false)
168-
registryConfig := config.Services.Registry
168+
registryConfig := config.Image.Registry
169169

170-
if registryConfig.External != nil {
171-
return *registryConfig.External
170+
if registryConfig.URL != nil {
171+
return *registryConfig.URL
172172
}
173173
registryHostname := ""
174-
registryReleaseValues := registryConfig.Internal.Release.Values
174+
registryReleaseValues := config.Services.InternalRegistry.Release.Values
175175

176176
if registryReleaseValues != nil {
177177
registryValues := yamlq.NewQuery(*registryReleaseValues)
@@ -188,7 +188,7 @@ func GetRegistryHostname() string {
188188

189189
if len(registryHostname) == 0 {
190190
registryConfig.Insecure = configutil.Bool(true)
191-
registryHostname = *registryConfig.Internal.Host
191+
registryHostname = *config.Services.InternalRegistry.Host
192192
} else {
193193
registryConfig.Insecure = configutil.Bool(false)
194194
}

0 commit comments

Comments
 (0)