refactor: consolidate recipe in-place editing functions

This commit is contained in:
2021-09-06 01:34:28 +02:00
parent b5d8fb1270
commit 6a1ecd0f85
3 changed files with 50 additions and 31 deletions

View File

@ -5,8 +5,6 @@ import (
"coopcloud.tech/abra/cli/internal"
"coopcloud.tech/abra/pkg/client"
"coopcloud.tech/abra/pkg/compose"
"coopcloud.tech/abra/pkg/config"
"coopcloud.tech/abra/pkg/recipe"
"github.com/docker/distribution/reference"
"github.com/sirupsen/logrus"
@ -31,13 +29,13 @@ the versioning metadata of up-and-running containers are.
Action: func(c *cli.Context) error {
recipeName := internal.ValidateRecipe(c)
composeConfig, err := recipe.GetComposeConfig(recipeName)
recipe, err := recipe.Get(recipeName)
if err != nil {
logrus.Fatal(err)
}
hasAppService := false
for _, service := range composeConfig.Services {
for _, service := range recipe.Config.Services {
if service.Name == "app" {
hasAppService = true
}
@ -47,7 +45,7 @@ the versioning metadata of up-and-running containers are.
logrus.Fatal(fmt.Sprintf("No 'app' service defined in '%s', cannot proceed", recipeName))
}
for _, service := range composeConfig.Services {
for _, service := range recipe.Config.Services {
img, err := reference.ParseNormalizedNamed(service.Image)
if err != nil {
logrus.Fatal(err)
@ -60,8 +58,7 @@ the versioning metadata of up-and-running containers are.
tag := img.(reference.NamedTagged).Tag()
label := fmt.Sprintf("coop-cloud.${STACK_NAME}.%s.version=%s-%s", service.Name, tag, digest)
pattern := fmt.Sprintf("%s/%s/compose**yml", config.APPS_DIR, recipeName)
if err := compose.UpdateLabel(pattern, service.Name, label); err != nil {
if err := recipe.UpdateLabel(service.Name, label); err != nil {
logrus.Fatal(err)
}
}