forked from toolshed/abra
refactor: centralise tag meta stripping
This commit is contained in:
@ -165,6 +165,9 @@ func (r Recipe) UpdateLabel(pattern, serviceName, label string) error {
|
||||
// UpdateTag updates a recipe tag
|
||||
func (r Recipe) UpdateTag(image, tag string) error {
|
||||
pattern := fmt.Sprintf("%s/%s/compose**yml", config.RECIPES_DIR, r.Name)
|
||||
|
||||
image = StripTagMeta(image)
|
||||
|
||||
if err := compose.UpdateTag(pattern, image, tag, r.Name); err != nil {
|
||||
return err
|
||||
}
|
||||
@ -973,9 +976,8 @@ func GetRecipeVersions(recipeName, registryUsername, registryPassword string) (R
|
||||
}
|
||||
|
||||
path := reference.Path(img)
|
||||
if strings.Contains(path, "library") {
|
||||
path = strings.Split(path, "/")[1]
|
||||
}
|
||||
|
||||
path = StripTagMeta(path)
|
||||
|
||||
var tag string
|
||||
switch img.(type) {
|
||||
@ -1041,3 +1043,22 @@ func GetRecipeCatalogueVersions(recipeName string, catl RecipeCatalogue) ([]stri
|
||||
|
||||
return versions, nil
|
||||
}
|
||||
|
||||
// StripTagMeta strips front-matter image tag data that we don't need for parsing.
|
||||
func StripTagMeta(image string) string {
|
||||
originalImage := image
|
||||
|
||||
if strings.Contains(image, "docker.io") {
|
||||
image = strings.Split(image, "/")[1]
|
||||
}
|
||||
|
||||
if strings.Contains(image, "library") {
|
||||
image = strings.Split(image, "/")[1]
|
||||
}
|
||||
|
||||
if originalImage != image {
|
||||
logrus.Debugf("stripped %s to %s for parsing", originalImage, image)
|
||||
}
|
||||
|
||||
return image
|
||||
}
|
||||
|
Reference in New Issue
Block a user