Skip to content

Commit

Permalink
Merge pull request #415 from jorgemoralespou/414
Browse files Browse the repository at this point in the history
Update logic to get default config.
  • Loading branch information
GrahamDumpleton authored Jun 10, 2024
2 parents 1791269 + 6bc1898 commit 4533c10
Show file tree
Hide file tree
Showing 4 changed files with 44 additions and 20 deletions.
2 changes: 1 addition & 1 deletion client-programs/pkg/cmd/admin_cluster_create_cmd.go
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ func (o *AdminClusterCreateOptions) Run() error {
var err error = nil

if o.Config == "" {
fullConfig = config.NewDefaultInstallationConfig()
fullConfig, err = config.NewDefaultInstallationConfig()
} else {
fullConfig, err = config.NewInstallationConfigFromFile(o.Config)
}
Expand Down
13 changes: 12 additions & 1 deletion client-programs/pkg/cmd/admin_config_view_cmd.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,12 +17,23 @@ type AdminConfigViewOptions struct {
}

func (o *AdminConfigViewOptions) Run() error {
fullConfig, err := config.NewInstallationConfigFromFile(o.Config)
var fullConfig *config.InstallationConfig
var err error = nil

if o.Config != "" {
fullConfig, err = config.NewInstallationConfigFromFile(o.Config)
} else {
fullConfig, err = config.NewDefaultInstallationConfig()
}

if err != nil {
return err
}

if fullConfig.ClusterInfrastructure.Provider == "" {
fullConfig.ClusterInfrastructure.Provider = "kind"
}

// This augments the installation config with the secrets that are cached locally
if o.WithLocalSecrets {
if fullConfig.ClusterInfrastructure.Provider != "kind" {
Expand Down
13 changes: 10 additions & 3 deletions client-programs/pkg/cmd/admin_resolver_deploy_cmd.go
Original file line number Diff line number Diff line change
Expand Up @@ -13,17 +13,24 @@ type AdminResolverDeployOptions struct {
}

func (o *AdminResolverDeployOptions) Run() error {
config, err := config.NewInstallationConfigFromFile(o.Config)
var fullConfig *config.InstallationConfig
var err error = nil

if o.Config != "" {
fullConfig, err = config.NewInstallationConfigFromFile(o.Config)
} else {
fullConfig, err = config.NewDefaultInstallationConfig()
}

if err != nil {
return err
}

if o.Domain != "" {
config.ClusterIngress.Domain = o.Domain
fullConfig.ClusterIngress.Domain = o.Domain
}

return resolver.DeployResolver(config.ClusterIngress.Domain, config.LocalDNSResolver.TargetAddress, config.LocalDNSResolver.ExtraDomains)
return resolver.DeployResolver(fullConfig.ClusterIngress.Domain, fullConfig.LocalDNSResolver.TargetAddress, fullConfig.LocalDNSResolver.ExtraDomains)
}

func (p *ProjectInfo) NewAdminResolverDeployCmd() *cobra.Command {
Expand Down
36 changes: 21 additions & 15 deletions client-programs/pkg/config/installationconfig.go
Original file line number Diff line number Diff line change
Expand Up @@ -293,7 +293,7 @@ type EducatesDomainStruct struct {
ClusterIngress ClusterIngressConfig `yaml:"clusterIngress,omitempty"`
}

func NewDefaultInstallationConfig() *InstallationConfig {
func newDefaultInstallationConfig() *InstallationConfig {
return &InstallationConfig{
ClusterInfrastructure: ClusterInfrastructureConfig{
Provider: "",
Expand Down Expand Up @@ -321,29 +321,35 @@ func NewDefaultInstallationConfig() *InstallationConfig {
}
}

func NewInstallationConfigFromFile(configFile string) (*InstallationConfig, error) {
func NewDefaultInstallationConfig() (*InstallationConfig, error) {
config := &InstallationConfig{}

if configFile != "" {
data, err := os.ReadFile(configFile)
valuesFile := path.Join(utils.GetEducatesHomeDir(), "values.yaml")

if err != nil {
return nil, errors.Wrapf(err, "failed to read installation config file %s", configFile)
}
data, err := os.ReadFile(valuesFile)

if err == nil && len(data) != 0 {
if err := yaml.UnmarshalStrict(data, &config); err != nil {
return nil, errors.Wrapf(err, "unable to parse installation config file %s", configFile)
return nil, errors.Wrapf(err, "unable to parse default config file %s", valuesFile)
}
} else {
valuesFile := path.Join(utils.GetEducatesHomeDir(), "values.yaml")
config = newDefaultInstallationConfig()
}

data, err := os.ReadFile(valuesFile)
return config, nil
}

if err == nil && len(data) != 0 {
if err := yaml.UnmarshalStrict(data, &config); err != nil {
return nil, errors.Wrapf(err, "unable to parse default config file %s", valuesFile)
}
}
func NewInstallationConfigFromFile(configFile string) (*InstallationConfig, error) {
config := &InstallationConfig{}

data, err := os.ReadFile(configFile)

if err != nil {
return nil, errors.Wrapf(err, "failed to read installation config file %s", configFile)
}

if err := yaml.UnmarshalStrict(data, &config); err != nil {
return nil, errors.Wrapf(err, "unable to parse installation config file %s", configFile)
}

return config, nil
Expand Down

0 comments on commit 4533c10

Please sign in to comment.