From e90669028774260f5798041767ae0a675d54036a Mon Sep 17 00:00:00 2001 From: Ish Shah Date: Wed, 22 Mar 2023 12:18:23 -0700 Subject: [PATCH 1/4] Re-add logic for switching request Signed-off-by: Ish Shah --- cmd/opm/alpha/template/composite.go | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/cmd/opm/alpha/template/composite.go b/cmd/opm/alpha/template/composite.go index 1d8b9df0c..3aa3022e5 100644 --- a/cmd/opm/alpha/template/composite.go +++ b/cmd/opm/alpha/template/composite.go @@ -3,7 +3,10 @@ package template import ( "encoding/json" "fmt" + "io" "log" + "net/http" + "net/url" "os" "github.com/spf13/cobra" @@ -31,11 +34,23 @@ and a 'composite template' file`, Args: cobra.MaximumNArgs(0), Run: func(cmd *cobra.Command, args []string) { containerTool = "docker" - catalogData, err := os.Open(catalogFile) + var tempCatalog io.ReadCloser + catalogURI, err := url.ParseRequestURI(catalogFile) if err != nil { - log.Fatalf("opening catalog config file %q: %s", catalogFile, err) + tempCatalog, err = os.Open(catalogFile) + if err != nil { + log.Fatalf("opening catalog config file %q: %s", catalogFile, err) + } + defer tempCatalog.Close() + } else { + tempResp, err := http.Get(catalogURI.Path) + tempCatalog = tempResp.Body + if err != nil { + log.Fatalf("fetching remote catalog config file %q: %s", catalogFile, err) + } + defer tempCatalog.Close() } - defer catalogData.Close() + catalogData := tempCatalog // get catalog configurations catalogConfig := &composite.CatalogConfig{} From c871c48e98be944effe444995cab33b3a2e74dd7 Mon Sep 17 00:00:00 2001 From: Ish Shah Date: Wed, 22 Mar 2023 12:22:08 -0700 Subject: [PATCH 2/4] string issues Signed-off-by: Ish Shah --- cmd/opm/alpha/template/composite.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmd/opm/alpha/template/composite.go b/cmd/opm/alpha/template/composite.go index 3aa3022e5..4e84e9fe4 100644 --- a/cmd/opm/alpha/template/composite.go +++ b/cmd/opm/alpha/template/composite.go @@ -43,7 +43,7 @@ and a 'composite template' file`, } defer tempCatalog.Close() } else { - tempResp, err := http.Get(catalogURI.Path) + tempResp, err := http.Get(catalogURI.String()) tempCatalog = tempResp.Body if err != nil { log.Fatalf("fetching remote catalog config file %q: %s", catalogFile, err) From f4254788b7cefadf41977414b4ab674dbe7fe8db Mon Sep 17 00:00:00 2001 From: Ish Shah Date: Fri, 24 Mar 2023 08:12:40 -0700 Subject: [PATCH 3/4] add read after err check Signed-off-by: Ish Shah --- cmd/opm/alpha/template/composite.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmd/opm/alpha/template/composite.go b/cmd/opm/alpha/template/composite.go index 4e84e9fe4..e8bdba641 100644 --- a/cmd/opm/alpha/template/composite.go +++ b/cmd/opm/alpha/template/composite.go @@ -44,10 +44,10 @@ and a 'composite template' file`, defer tempCatalog.Close() } else { tempResp, err := http.Get(catalogURI.String()) - tempCatalog = tempResp.Body if err != nil { log.Fatalf("fetching remote catalog config file %q: %s", catalogFile, err) } + tempCatalog = tempResp.Body defer tempCatalog.Close() } catalogData := tempCatalog From 4a2cf854f076c3dd78029c57e39eb35e4c435131 Mon Sep 17 00:00:00 2001 From: Ish Shah Date: Mon, 27 Mar 2023 09:03:03 -0700 Subject: [PATCH 4/4] change error outs Signed-off-by: Ish Shah --- cmd/opm/alpha/template/composite.go | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/cmd/opm/alpha/template/composite.go b/cmd/opm/alpha/template/composite.go index e8bdba641..e1ac8aa4d 100644 --- a/cmd/opm/alpha/template/composite.go +++ b/cmd/opm/alpha/template/composite.go @@ -39,13 +39,13 @@ and a 'composite template' file`, if err != nil { tempCatalog, err = os.Open(catalogFile) if err != nil { - log.Fatalf("opening catalog config file %q: %s", catalogFile, err) + log.Fatalf("opening catalog config file %q: %v", catalogFile, err) } defer tempCatalog.Close() } else { tempResp, err := http.Get(catalogURI.String()) if err != nil { - log.Fatalf("fetching remote catalog config file %q: %s", catalogFile, err) + log.Fatalf("fetching remote catalog config file %q: %v", catalogFile, err) } tempCatalog = tempResp.Body defer tempCatalog.Close() @@ -58,11 +58,11 @@ and a 'composite template' file`, catalogDecoder := yaml.NewYAMLOrJSONDecoder(catalogData, 4096) err = catalogDecoder.Decode(&catalogDoc) if err != nil { - log.Fatalf("decoding catalog config: %s", err) + log.Fatalf("decoding catalog config: %v", err) } err = json.Unmarshal(catalogDoc, catalogConfig) if err != nil { - log.Fatalf("unmarshalling catalog config: %s", err) + log.Fatalf("unmarshalling catalog config: %v", err) } if catalogConfig.Schema != composite.CatalogSchema { @@ -73,7 +73,7 @@ and a 'composite template' file`, wd, err := os.Getwd() if err != nil { - log.Fatalf("getting current working directory: %s", err) + log.Fatalf("getting current working directory: %v", err) } // setup the builders for each catalog @@ -110,7 +110,7 @@ and a 'composite template' file`, InputDirectory: wd, }) if err != nil { - log.Fatalf("getting builder %q for catalog %q: %s", schema, catalog.Name, err) + log.Fatalf("getting builder %q for catalog %q: %v", schema, catalog.Name, err) } builderMap[schema] = builder } @@ -123,9 +123,9 @@ and a 'composite template' file`, //build the error message var errMsg string for cat, errs := range setupErrors { - errMsg += fmt.Sprintf("\nCatalog %s:\n", cat) + errMsg += fmt.Sprintf("\nCatalog %v:\n", cat) for _, err := range errs { - errMsg += fmt.Sprintf(" - %s\n", err) + errMsg += fmt.Sprintf(" - %v\n", err) } } log.Fatalf("catalog configuration file field validation failed: %s", errMsg) @@ -143,7 +143,7 @@ and a 'composite template' file`, compositeData, err := os.Open(compositeFile) if err != nil { - log.Fatalf("opening composite config file %q: %s", compositeFile, err) + log.Fatalf("opening composite config file %q: %v", compositeFile, err) } defer compositeData.Close() @@ -153,11 +153,11 @@ and a 'composite template' file`, compositeDecoder := yaml.NewYAMLOrJSONDecoder(compositeData, 4096) err = compositeDecoder.Decode(&compositeDoc) if err != nil { - log.Fatalf("decoding composite config: %s", err) + log.Fatalf("decoding composite config: %v", err) } err = json.Unmarshal(compositeDoc, compositeConfig) if err != nil { - log.Fatalf("unmarshalling composite config: %s", err) + log.Fatalf("unmarshalling composite config: %v", err) } if compositeConfig.Schema != composite.CompositeSchema { @@ -166,7 +166,7 @@ and a 'composite template' file`, err = template.Render(cmd.Context(), compositeConfig, validate) if err != nil { - log.Fatalf("rendering the composite template: %s", err) + log.Fatalf("rendering the composite template: %v", err) } }, }