github.com/wunderio/silta-cli@v0.0.0-20240508100559-3017e4ab3a20/internal/common/ciDockerRepoFunctions.go (about) 1 package common 2 3 import ( 4 "fmt" 5 6 "github.com/google/go-containerregistry/pkg/name" 7 "github.com/google/go-containerregistry/pkg/v1/remote" 8 ) 9 10 // Get image digest from registry 11 func GetImageTagDigest(authenticator remote.Option, imageUrl string, imageTag string) string { 12 13 requestUrl := fmt.Sprintf("%s:%s", imageUrl, imageTag) 14 ref, err := name.ParseReference(requestUrl) 15 if err != nil { 16 return "" 17 } 18 // Get image manifest 19 img, err := remote.Get(ref, authenticator) 20 if err != nil { 21 return "" 22 } 23 24 // Extract image digest 25 digest := img.Digest.String() 26 return digest 27 }