From 11c3df6169cbddecfa2a6d9380a8018d6c0aad44 Mon Sep 17 00:00:00 2001 From: winebarrel Date: Sat, 27 May 2023 14:05:59 +0900 Subject: [PATCH 1/2] Fix cluster option bug --- definition/definition.go | 30 +++++++++++++++++++----------- 1 file changed, 19 insertions(+), 11 deletions(-) diff --git a/definition/definition.go b/definition/definition.go index 22d6c4d..0c10f24 100644 --- a/definition/definition.go +++ b/definition/definition.go @@ -1,6 +1,7 @@ package definition import ( + "encoding/json" "fmt" "path/filepath" @@ -42,6 +43,7 @@ func (opts *DefinitionOpts) Load(profile string, command string, image string, c if profile != "" { confDir = filepath.Join(confDir, profile) } + ecspressoConf, err := loadEcsecspressoConf(confDir, opts) if err != nil { @@ -88,17 +90,7 @@ func (opts *DefinitionOpts) Load(profile string, command string, image string, c return nil, err } - var cluster string - - if opts.Cluster != "" { - cluster = opts.Cluster - } else { - cluster, err = ecspressoConf.get("cluster") - - if err != nil { - return nil, err - } - } + cluster, err := ecspressoConf.get("cluster") return &Definition{ EcspressoConfig: ecspressoConf, @@ -115,6 +107,22 @@ func loadEcsecspressoConf(confDir string, opts *DefinitionOpts) (*EcspressoConfi return nil, err } + if opts.Cluster != "" { + js, err := json.Marshal(map[string]string{ + "cluster": opts.Cluster, + }) + + if err != nil { + panic(err) + } + + err = ecspressoConf.patch(string(js)) + + if err != nil { + return nil, err + } + } + err = ecspressoConf.patch(opts.ConfigOverrides) if err != nil { From 62dc33dca435f95cb7473c1b2410ff5f7dfea814 Mon Sep 17 00:00:00 2001 From: winebarrel Date: Sat, 27 May 2023 14:07:37 +0900 Subject: [PATCH 2/2] Add error check --- definition/definition.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/definition/definition.go b/definition/definition.go index 0c10f24..71cd548 100644 --- a/definition/definition.go +++ b/definition/definition.go @@ -92,6 +92,10 @@ func (opts *DefinitionOpts) Load(profile string, command string, image string, c cluster, err := ecspressoConf.get("cluster") + if err != nil { + return nil, err + } + return &Definition{ EcspressoConfig: ecspressoConf, Service: serviceDef,