forked from toolshed/abra
refactor: break up recipe cli package
This commit is contained in:
42
cli/recipe/version.go
Normal file
42
cli/recipe/version.go
Normal file
@ -0,0 +1,42 @@
|
||||
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: "<recipe>",
|
||||
Action: func(c *cli.Context) error {
|
||||
recipe := internal.ValidateRecipeArg(c)
|
||||
|
||||
catalogue, err := catalogue.ReadRecipeCatalogue()
|
||||
if err != nil {
|
||||
logrus.Fatal(err)
|
||||
return nil
|
||||
}
|
||||
|
||||
if recipe, ok := catalogue[recipe]; ok {
|
||||
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
|
||||
}
|
||||
|
||||
logrus.Fatalf("'%s' recipe doesn't exist?", recipe)
|
||||
return nil
|
||||
},
|
||||
}
|
Reference in New Issue
Block a user