From a1a866fefccaa856ebaf509c77970d983a9390d1 Mon Sep 17 00:00:00 2001 From: aavarghese Date: Fri, 11 Oct 2024 16:29:39 -0400 Subject: [PATCH] feat: use lunchpail needs to install minio Signed-off-by: aavarghese --- pkg/be/local/shell/install_darwin.go | 22 ------------ pkg/be/local/shell/install_linux.go | 44 ----------------------- pkg/be/local/shell/workdir.go | 27 -------------- pkg/fe/transformer/api/minio/transpile.go | 3 +- pkg/runtime/needs/install_linux.go | 2 +- pkg/runtime/needs/minio.go | 1 - 6 files changed, 2 insertions(+), 97 deletions(-) delete mode 100644 pkg/be/local/shell/install_darwin.go delete mode 100644 pkg/be/local/shell/install_linux.go diff --git a/pkg/be/local/shell/install_darwin.go b/pkg/be/local/shell/install_darwin.go deleted file mode 100644 index f654a393c..000000000 --- a/pkg/be/local/shell/install_darwin.go +++ /dev/null @@ -1,22 +0,0 @@ -package shell - -import ( - "os" - "os/exec" -) - -func installMinio() error { - return brewInstall("minio/stable/minio") -} - -func brewInstall(pkg string) error { - cmd := exec.Command("brew", "install", pkg) - cmd.Stdout = os.Stdout - cmd.Stderr = os.Stderr - return cmd.Run() -} - -func setenvForMinio() error { - // nothing to do - return nil -} diff --git a/pkg/be/local/shell/install_linux.go b/pkg/be/local/shell/install_linux.go deleted file mode 100644 index f3e8dd66a..000000000 --- a/pkg/be/local/shell/install_linux.go +++ /dev/null @@ -1,44 +0,0 @@ -package shell - -import ( - "os" - "os/exec" - "path/filepath" -) - -func bindir() (string, error) { - cachedir, err := os.UserCacheDir() - if err != nil { - return "", err - } - return filepath.Join(cachedir, "lunchpail", "bin"), nil -} - -func installMinio() error { - dir, err := bindir() - if err != nil { - return err - } - - if err := os.MkdirAll(dir, 0755); err != nil { - return err - } - - cmd := exec.Command("wget", "https://dl.min.io/server/minio/release/linux-amd64/minio") - cmd.Dir = dir - cmd.Stdout = os.Stdout - cmd.Stderr = os.Stderr - if err := cmd.Run(); err != nil { - return err - } - - return os.Chmod(filepath.Join(dir, "minio"), 0755) -} - -func setenvForMinio() error { - dir, err := bindir() - if err != nil { - return err - } - return os.Setenv("PATH", os.Getenv("PATH")+":"+dir) -} diff --git a/pkg/be/local/shell/workdir.go b/pkg/be/local/shell/workdir.go index 033efbb01..0d348e67f 100644 --- a/pkg/be/local/shell/workdir.go +++ b/pkg/be/local/shell/workdir.go @@ -2,16 +2,13 @@ package shell import ( base64 "encoding/base64" - "errors" "fmt" "io/ioutil" "os" - "os/exec" "path/filepath" "lunchpail.io/pkg/ir/hlir" "lunchpail.io/pkg/ir/llir" - "lunchpail.io/pkg/lunchpail" ) func PrepareWorkdirForComponent(c llir.ShellComponent, verbose bool) (string, string, error) { @@ -32,14 +29,6 @@ func PrepareWorkdirForComponent(c llir.ShellComponent, verbose bool) (string, st command := c.Application.Spec.Command - // hmm, hacky attempts to get intrinsic prereqs - switch c.C() { - case lunchpail.MinioComponent: - if err := ensureMinio(); err != nil { - return "", "", err - } - } - return workdir, command, nil } @@ -47,22 +36,6 @@ func saveCodeToWorkdir(workdir string, code hlir.Code) error { return os.WriteFile(filepath.Join(workdir, code.Name), []byte(code.Source), 0700) } -func ensureMinio() error { - if err := setenvForMinio(); err != nil { - return err - } - - if _, err := exec.LookPath("minio"); err != nil { - if errors.Is(err, exec.ErrNotFound) { - return installMinio() - } else if err != nil { - return err - } - } - - return nil -} - func writeBlobsToWorkdir(c llir.ShellComponent, workdir string, verbose bool) error { for idx, dataset := range c.Application.Spec.Datasets { if dataset.Blob.Content != "" { diff --git a/pkg/fe/transformer/api/minio/transpile.go b/pkg/fe/transformer/api/minio/transpile.go index 82aaf666d..05a25438d 100644 --- a/pkg/fe/transformer/api/minio/transpile.go +++ b/pkg/fe/transformer/api/minio/transpile.go @@ -20,8 +20,7 @@ func transpile(runname string, ir llir.LLIR) (hlir.Application, error) { app.Spec.Expose = []string{fmt.Sprintf("%d:%d", ir.Queue.Port, ir.Queue.Port)} app.Spec.Command = fmt.Sprintf("$LUNCHPAIL_EXE component minio server --port %d", ir.Queue.Port) - /*app.Spec.Needs = []hlir.Needs{ - {Name: "minio", Version: "latest"}}*/ + app.Spec.Needs = []hlir.Needs{{Name: "minio", Version: "latest"}} prefixIncludingBucket := api.QueuePrefixPath(ir.Queue, runname) A := strings.Split(prefixIncludingBucket, "/") prefixExcludingBucket := filepath.Join(A[1:]...) diff --git a/pkg/runtime/needs/install_linux.go b/pkg/runtime/needs/install_linux.go index c14da57a2..fe3ee9712 100644 --- a/pkg/runtime/needs/install_linux.go +++ b/pkg/runtime/needs/install_linux.go @@ -32,7 +32,7 @@ func installMinio(ctx context.Context, version string, verbose bool) error { } //Todo: versions other than latest - cmd := exec.CommandContext(ctx, "/bin/sh", "-c", "apt update; apt -y install wget; wget https://dl.min.io/server/minio/release/linux-amd64/minio") + cmd := exec.CommandContext(ctx, "wget", "https://dl.min.io/server/minio/release/linux-amd64/minio") cmd.Dir = dir if verbose { cmd.Stdout = os.Stdout diff --git a/pkg/runtime/needs/minio.go b/pkg/runtime/needs/minio.go index 7b7a1e2ae..10e15a3b8 100644 --- a/pkg/runtime/needs/minio.go +++ b/pkg/runtime/needs/minio.go @@ -9,7 +9,6 @@ import ( func InstallMinio(ctx context.Context, version string, opts Options) error { if _, err := exec.LookPath("minio"); err != nil { if errors.Is(err, exec.ErrNotFound) { - //Todo: use context? return installMinio(ctx, version, opts.Verbose) } return err