...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 package crane
16
17 import (
18 "fmt"
19
20 "github.com/google/go-containerregistry/pkg/name"
21 "github.com/google/go-containerregistry/pkg/v1/remote"
22 )
23
24
25 func Tag(img, tag string, opt ...Option) error {
26 o := makeOptions(opt...)
27 ref, err := name.ParseReference(img, o.Name...)
28 if err != nil {
29 return fmt.Errorf("parsing reference %q: %w", img, err)
30 }
31 desc, err := remote.Get(ref, o.Remote...)
32 if err != nil {
33 return fmt.Errorf("fetching %q: %w", img, err)
34 }
35
36 dst := ref.Context().Tag(tag)
37
38 return remote.Tag(dst, desc, o.Remote...)
39 }
40
View as plain text