package recipe import ( "coopcloud.tech/abra/cli/formatter" "coopcloud.tech/abra/cli/internal" "coopcloud.tech/abra/pkg/catalogue" "github.com/sirupsen/logrus" "github.com/urfave/cli/v2" ) var recipeVersionCommand = &cli.Command{ Name: "versions", Usage: "List recipe versions", Aliases: []string{"v"}, ArgsUsage: "", Action: func(c *cli.Context) error { recipeName := internal.ValidateRecipe(c) catalogue, err := catalogue.ReadRecipeCatalogue() if err != nil { logrus.Fatal(err) return nil } recipe, ok := catalogue[recipeName] if !ok { logrus.Fatalf("'%s' recipe doesn't exist?", recipeName) } tableCol := []string{"Version", "Service", "Image", "Digest"} table := formatter.CreateTable(tableCol) for version := range recipe.Versions { for service := range recipe.Versions[version] { meta := recipe.Versions[version][service] table.Append([]string{version, service, meta.Image, meta.Digest}) } } table.SetAutoMergeCells(true) table.Render() return nil }, }