feat: first POC for recipe upgrade
This commit is contained in:
parent
1b03836210
commit
210baf1905
|
@ -7,6 +7,7 @@ import (
|
||||||
"path"
|
"path"
|
||||||
"sort"
|
"sort"
|
||||||
"strconv"
|
"strconv"
|
||||||
|
"strings"
|
||||||
"text/template"
|
"text/template"
|
||||||
|
|
||||||
"coopcloud.tech/abra/catalogue"
|
"coopcloud.tech/abra/catalogue"
|
||||||
|
@ -183,6 +184,13 @@ var recipeUpgradeCommand = &cli.Command{
|
||||||
logrus.Fatal(err)
|
logrus.Fatal(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if strings.Contains(image, "library") {
|
||||||
|
// ParseNormalizedNamed prepends 'library' to images like nginx:<tag>,
|
||||||
|
// postgres:<tag>, i.e. images which do not have a username in the
|
||||||
|
// first position of the string
|
||||||
|
image = strings.Split(image, "/")[1]
|
||||||
|
}
|
||||||
|
|
||||||
tag, err := tagcmp.Parse(img.(reference.NamedTagged).Tag())
|
tag, err := tagcmp.Parse(img.(reference.NamedTagged).Tag())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logrus.Fatal(err)
|
logrus.Fatal(err)
|
||||||
|
@ -203,7 +211,7 @@ var recipeUpgradeCommand = &cli.Command{
|
||||||
|
|
||||||
if len(compatible) == 0 {
|
if len(compatible) == 0 {
|
||||||
logrus.Info(fmt.Sprintf("No new versions available for '%s', '%s' is the latest", image, tag))
|
logrus.Info(fmt.Sprintf("No new versions available for '%s', '%s' is the latest", image, tag))
|
||||||
break
|
continue // skip on to the next tag and don't update any compose files
|
||||||
}
|
}
|
||||||
|
|
||||||
var compatibleStrings []string
|
var compatibleStrings []string
|
||||||
|
|
|
@ -267,7 +267,14 @@ func UpdateAppComposeTag(recipe, image, tag string) error {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logrus.Fatal(err)
|
logrus.Fatal(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
composeImage := reference.Path(img.(reference.Named))
|
composeImage := reference.Path(img.(reference.Named))
|
||||||
|
if strings.Contains(composeImage, "library") {
|
||||||
|
// ParseNormalizedNamed prepends 'library' to images like nginx:<tag>,
|
||||||
|
// postgres:<tag>, i.e. images which do not have a username in the
|
||||||
|
// first position of the string
|
||||||
|
composeImage = strings.Split(composeImage, "/")[1]
|
||||||
|
}
|
||||||
composeTag := img.(reference.NamedTagged).Tag()
|
composeTag := img.(reference.NamedTagged).Tag()
|
||||||
|
|
||||||
if image == composeImage {
|
if image == composeImage {
|
||||||
|
|
Loading…
Reference in New Issue