feat!: remove all catalogue reads from app commands

This commit is contained in:
p4u1 2024-07-08 16:20:38 +02:00
parent d7a870b887
commit 790dbca362
8 changed files with 8 additions and 72 deletions

View File

@ -15,7 +15,6 @@ import (
"coopcloud.tech/abra/pkg/git" "coopcloud.tech/abra/pkg/git"
"coopcloud.tech/abra/pkg/lint" "coopcloud.tech/abra/pkg/lint"
"coopcloud.tech/abra/pkg/log" "coopcloud.tech/abra/pkg/log"
"coopcloud.tech/abra/pkg/recipe"
"coopcloud.tech/abra/pkg/upstream/stack" "coopcloud.tech/abra/pkg/upstream/stack"
"github.com/urfave/cli" "github.com/urfave/cli"
) )
@ -121,27 +120,10 @@ EXAMPLE:
} }
if !internal.Chaos && specificVersion == "" { if !internal.Chaos && specificVersion == "" {
catl, err := recipe.ReadRecipeCatalogue(internal.Offline) versions, err := app.Recipe.Tags()
if err != nil { if err != nil {
log.Fatal(err) log.Fatal(err)
} }
versions, err := recipe.GetRecipeCatalogueVersions(app.Recipe.Name, catl)
if err != nil {
log.Fatal(err)
}
if len(versions) == 0 && !internal.Chaos {
log.Debug("no published versions in catalogue, trying local recipe repository")
recipeVersions, err := app.Recipe.GetRecipeVersions(internal.Offline)
if err != nil {
log.Fatal(err)
}
for _, recipeVersion := range recipeVersions {
for version := range recipeVersion {
versions = append(versions, version)
}
}
}
if len(versions) > 0 && !internal.Chaos { if len(versions) > 0 && !internal.Chaos {
version = versions[len(versions)-1] version = versions[len(versions)-1]

View File

@ -11,7 +11,6 @@ import (
appPkg "coopcloud.tech/abra/pkg/app" appPkg "coopcloud.tech/abra/pkg/app"
"coopcloud.tech/abra/pkg/formatter" "coopcloud.tech/abra/pkg/formatter"
"coopcloud.tech/abra/pkg/log" "coopcloud.tech/abra/pkg/log"
"coopcloud.tech/abra/pkg/recipe"
"coopcloud.tech/tagcmp" "coopcloud.tech/tagcmp"
"github.com/urfave/cli" "github.com/urfave/cli"
) )
@ -101,7 +100,6 @@ can take some time.`,
sort.Sort(appPkg.ByServerAndRecipe(apps)) sort.Sort(appPkg.ByServerAndRecipe(apps))
statuses := make(map[string]map[string]string) statuses := make(map[string]map[string]string)
var catl recipe.RecipeCatalogue
if status { if status {
alreadySeen := make(map[string]bool) alreadySeen := make(map[string]bool)
for _, app := range apps { for _, app := range apps {
@ -114,11 +112,6 @@ can take some time.`,
if err != nil { if err != nil {
log.Fatal(err) log.Fatal(err)
} }
catl, err = recipe.ReadRecipeCatalogue(internal.Offline)
if err != nil {
log.Fatal(err)
}
} }
var totalServersCount int var totalServersCount int
@ -182,7 +175,7 @@ can take some time.`,
var newUpdates []string var newUpdates []string
if version != "unknown" { if version != "unknown" {
updates, err := recipe.GetRecipeCatalogueVersions(app.Recipe.Name, catl) updates, err := app.Recipe.Tags()
if err != nil { if err != nil {
log.Fatal(err) log.Fatal(err)
} }

View File

@ -78,7 +78,7 @@ var appNewCommand = cli.Command{
if c.Args().Get(1) == "" { if c.Args().Get(1) == "" {
var version string var version string
recipeVersions, err := recipe.GetRecipeVersions(internal.Offline) recipeVersions, err := recipe.GetRecipeVersions()
if err != nil { if err != nil {
log.Fatal(err) log.Fatal(err)
} }

View File

@ -8,7 +8,6 @@ import (
"coopcloud.tech/abra/pkg/autocomplete" "coopcloud.tech/abra/pkg/autocomplete"
"coopcloud.tech/abra/pkg/envfile" "coopcloud.tech/abra/pkg/envfile"
"coopcloud.tech/abra/pkg/lint" "coopcloud.tech/abra/pkg/lint"
"coopcloud.tech/abra/pkg/recipe"
stack "coopcloud.tech/abra/pkg/upstream/stack" stack "coopcloud.tech/abra/pkg/upstream/stack"
"coopcloud.tech/tagcmp" "coopcloud.tech/tagcmp"
@ -75,30 +74,11 @@ EXAMPLE:
log.Fatalf("%s is not deployed?", app.Name) log.Fatalf("%s is not deployed?", app.Name)
} }
catl, err := recipe.ReadRecipeCatalogue(internal.Offline) versions, err := app.Recipe.Tags()
if err != nil { if err != nil {
log.Fatal(err) log.Fatal(err)
} }
versions, err := recipe.GetRecipeCatalogueVersions(app.Recipe.Name, catl)
if err != nil {
log.Fatal(err)
}
if len(versions) == 0 {
log.Debug("no published versions in catalogue, trying local recipe repository")
recipeVersions, err := app.Recipe.GetRecipeVersions(internal.Offline)
if err != nil {
log.Fatal(err)
}
for _, recipeVersion := range recipeVersions {
for version := range recipeVersion {
versions = append(versions, version)
}
}
}
var availableDowngrades []string var availableDowngrades []string
if deployMeta.Version == "unknown" { if deployMeta.Version == "unknown" {
availableDowngrades = versions availableDowngrades = versions

View File

@ -11,7 +11,6 @@ import (
"coopcloud.tech/abra/pkg/envfile" "coopcloud.tech/abra/pkg/envfile"
"coopcloud.tech/abra/pkg/lint" "coopcloud.tech/abra/pkg/lint"
"coopcloud.tech/abra/pkg/log" "coopcloud.tech/abra/pkg/log"
recipePkg "coopcloud.tech/abra/pkg/recipe"
stack "coopcloud.tech/abra/pkg/upstream/stack" stack "coopcloud.tech/abra/pkg/upstream/stack"
"coopcloud.tech/tagcmp" "coopcloud.tech/tagcmp"
"github.com/AlecAivazis/survey/v2" "github.com/AlecAivazis/survey/v2"
@ -75,29 +74,11 @@ EXAMPLE:
log.Fatalf("%s is not deployed?", app.Name) log.Fatalf("%s is not deployed?", app.Name)
} }
catl, err := recipePkg.ReadRecipeCatalogue(internal.Offline) versions, err := app.Recipe.Tags()
if err != nil { if err != nil {
log.Fatal(err) log.Fatal(err)
} }
versions, err := recipePkg.GetRecipeCatalogueVersions(app.Recipe.Name, catl)
if err != nil {
log.Fatal(err)
}
if len(versions) == 0 {
log.Debug("no published versions in catalogue, trying local recipe repository")
recipeVersions, err := app.Recipe.GetRecipeVersions(internal.Offline)
if err != nil {
log.Fatal(err)
}
for _, recipeVersion := range recipeVersions {
for version := range recipeVersion {
versions = append(versions, version)
}
}
}
var availableUpgrades []string var availableUpgrades []string
if deployMeta.Version == "unknown" { if deployMeta.Version == "unknown" {
availableUpgrades = versions availableUpgrades = versions

View File

@ -91,7 +91,7 @@ keys configured on your account.`,
continue continue
} }
versions, err := r.GetRecipeVersions(internal.Offline) versions, err := r.GetRecipeVersions()
if err != nil { if err != nil {
log.Warn(err) log.Warn(err)
} }

View File

@ -48,7 +48,7 @@ var recipeVersionCommand = cli.Command{
if !ok { if !ok {
log.Warn("no published versions in catalogue, trying local recipe repository") log.Warn("no published versions in catalogue, trying local recipe repository")
recipeVersions, err := recipe.GetRecipeVersions(internal.Offline) recipeVersions, err := recipe.GetRecipeVersions()
if err != nil { if err != nil {
log.Warn(err) log.Warn(err)
} }

View File

@ -292,7 +292,7 @@ func (r Recipe) Tags() ([]string, error) {
} }
// GetRecipeVersions retrieves all recipe versions. // GetRecipeVersions retrieves all recipe versions.
func (r Recipe) GetRecipeVersions(offline bool) (RecipeVersions, error) { func (r Recipe) GetRecipeVersions() (RecipeVersions, error) {
versions := RecipeVersions{} versions := RecipeVersions{}
log.Debugf("attempting to open git repository in %s", r.Dir) log.Debugf("attempting to open git repository in %s", r.Dir)