From e3212ab04ac1d5742b8bc6dfcb07fefa28baac51 Mon Sep 17 00:00:00 2001 From: Jean-Hadrien Chabran Date: Tue, 7 Jun 2022 17:46:15 +0200 Subject: [PATCH] sg: add install func for Jaeger (#36726) * sg: add install func for Jaeger * Update dev/sg/internal/run/run.go Co-authored-by: Thorsten Ball Co-authored-by: Thorsten Ball --- dev/sg/internal/run/run.go | 25 +++++++++++++++++++++++++ sg.config.yaml | 15 +-------------- 2 files changed, 26 insertions(+), 14 deletions(-) diff --git a/dev/sg/internal/run/run.go b/dev/sg/internal/run/run.go index 9da6993fc2c..dc17a29b58e 100644 --- a/dev/sg/internal/run/run.go +++ b/dev/sg/internal/run/run.go @@ -307,6 +307,31 @@ var installFuncs = map[string]installFunc{ return download.ArchivedExecutable(ctx, url, target, "caddy") }, + "installJaeger": func(ctx context.Context, env map[string]string) error { + version := env["JAEGER_VERSION"] + + // Make sure the data folder exists. + disk := env["JAEGER_DISK"] + if err := os.MkdirAll(disk, 0755); err != nil { + return err + } + + if version == "" { + return errors.New("could not find JAEGER_VERSION in env") + } + + root, err := root.RepositoryRoot() + if err != nil { + return err + } + + archiveName := fmt.Sprintf("jaeger-%s-%s-%s", version, runtime.GOOS, runtime.GOARCH) + url := fmt.Sprintf("https://github.com/jaegertracing/jaeger/releases/download/v%s/%s.tar.gz", version, archiveName) + + target := filepath.Join(root, fmt.Sprintf(".bin/jaeger-all-in-one-%s", version)) + + return download.ArchivedExecutable(ctx, url, target, fmt.Sprintf("%s/jaeger-all-in-one", archiveName)) + }, } func runWatch( diff --git a/sg.config.yaml b/sg.config.yaml index 34a2885b0d6..554213e6107 100644 --- a/sg.config.yaml +++ b/sg.config.yaml @@ -516,20 +516,7 @@ commands: jaeger: cmd: | .bin/jaeger-all-in-one-${JAEGER_VERSION} --log-level ${JAEGER_LOG_LEVEL} - install: | - set -e - mkdir -p "${JAEGER_DISK}" - suffix="${JAEGER_VERSION}-$(go env GOOS)-$(go env GOARCH)" - target="$PWD/.bin/jaeger-all-in-one-${JAEGER_VERSION}" - url="https://github.com/jaegertracing/jaeger/releases/download/v${JAEGER_VERSION}/jaeger-${suffix}.tar.gz" - - if [ ! -f "${target}" ]; then - echo "downloading ${url}" 1>&2 - curl -sS -L -f "${url}" | tar -xz --to-stdout "jaeger-${suffix}/jaeger-all-in-one" >"${target}.tmp" - mv "${target}.tmp" "${target}" - fi - - chmod +x "${target}" + install_func: installJaeger env: JAEGER_VERSION: 1.30.0 JAEGER_DISK: $HOME/.sourcegraph-dev/data/jaeger