diff --git a/cli/cli.go b/cli/cli.go index 51c2342c..f21ee2fe 100644 --- a/cli/cli.go +++ b/cli/cli.go @@ -16,6 +16,7 @@ import ( "coopcloud.tech/abra/cli/server" "coopcloud.tech/abra/pkg/autocomplete" "coopcloud.tech/abra/pkg/config" + "coopcloud.tech/abra/pkg/git" "coopcloud.tech/abra/pkg/web" "github.com/sirupsen/logrus" "github.com/urfave/cli" @@ -185,6 +186,14 @@ func newAbraApp(version, commit string) *cli.App { } } + if _, err := os.Stat(config.CATALOGUE_DIR); os.IsNotExist(err) { + url := fmt.Sprintf("%s/%s.git", config.REPOS_BASE_URL, config.CATALOGUE_JSON_REPO_NAME) + logrus.Warnf("local recipe catalogue is missing, retrieving now") + if err := git.Clone(config.CATALOGUE_DIR, url); err != nil { + logrus.Fatal(err) + } + } + logrus.Debugf("abra version %s, commit %s", version, commit) return nil