From 19a936087facf3d9b871cf13320533c54e995d6b Mon Sep 17 00:00:00 2001 From: Michael Hohn Date: Wed, 7 May 2025 10:55:38 -0700 Subject: [PATCH] Remove REFROOT; simplify external hepc / spigot-cli call --- pkg/deploy/init.go | 1 - pkg/qldbstore/qldbstore_hepc.go | 46 +++++++++++++++++++-------------- 2 files changed, 26 insertions(+), 21 deletions(-) diff --git a/pkg/deploy/init.go b/pkg/deploy/init.go index 3c76bea..ec8e3f4 100644 --- a/pkg/deploy/init.go +++ b/pkg/deploy/init.go @@ -102,7 +102,6 @@ func InitHEPCDatabaseStore() (qldbstore.Store, error) { "MRVA_HEPC_ENDPOINT", "MRVA_HEPC_CACHE_DURATION", "MRVA_HEPC_DATAVIACLI", - "MRVA_HEPC_REFROOT", "MRVA_HEPC_OUTDIR", "MRVA_HEPC_TOOL", } diff --git a/pkg/qldbstore/qldbstore_hepc.go b/pkg/qldbstore/qldbstore_hepc.go index a31feba..9c6d2d4 100644 --- a/pkg/qldbstore/qldbstore_hepc.go +++ b/pkg/qldbstore/qldbstore_hepc.go @@ -94,18 +94,12 @@ func (h *HepcStore) fetchViaHTTP() ([]HepcResult, error) { return results, nil } - func (h *HepcStore) fetchViaCli() ([]HepcResult, error) { - refrootDir := os.Getenv("MRVA_HEPC_REFROOT") outDir := os.Getenv("MRVA_HEPC_OUTDIR") toolName := os.Getenv("MRVA_HEPC_TOOL") var missing []string - if refrootDir == "" { - slog.Error("Missing required environment variable", "var", "MRVA_HEPC_REFROOT") - missing = append(missing, "MRVA_HEPC_REFROOT") - } if outDir == "" { slog.Error("Missing required environment variable", "var", "MRVA_HEPC_OUTDIR") missing = append(missing, "MRVA_HEPC_OUTDIR") @@ -136,23 +130,35 @@ func (h *HepcStore) fetchViaCli() ([]HepcResult, error) { jsonPath := filepath.Join(outDir, "spigot-results.json") - cmd := exec.Command( - "./run-spigot.sh", - refrootDir, - outDir, - toolName, - ) - cmd.Stdout = os.Stdout - cmd.Stderr = os.Stderr - - slog.Info("Starting shell script", "command", strings.Join(cmd.Args, " ")) - - if err := cmd.Run(); err != nil { - slog.Error("Shell script failed", "error", err) + // ---------------------- + // Go version of + // spigot-cli bulk-download-results \ + // --tool-name "$TOOL_NAME" \ + // --metadata-only all \ + // > "$OUT_DIR/spigot-results.json" + // ---------------------- + outFile, err := os.Create(jsonPath) + if err != nil { + slog.Error("Failed to create spigot output file", "error", err) return nil, err } + defer outFile.Close() - slog.Info("Shell script completed successfully") + cmd := exec.Command( + "spigot-cli", + "bulk-download-results", + "--tool-name", toolName, + "--metadata-only", "all", + ) + cmd.Stdout = outFile + + cmd.Stderr = os.Stderr // for error logging + + if err := cmd.Run(); err != nil { + slog.Error("spigot-cli failed", "error", err) + return nil, err + } + // ---------------------- // Decode the resulting JSON file f, err := os.Open(jsonPath)