Skip to content
This repository was archived by the owner on Apr 24, 2025. It is now read-only.

Commit d627713

Browse files
committed
update containerd (1.7.19)
Signed-off-by: Kay Yan <[email protected]>
1 parent f8b1c97 commit d627713

File tree

9 files changed

+64
-61
lines changed

9 files changed

+64
-61
lines changed

.github/workflows/test.yml

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -81,13 +81,13 @@ jobs:
8181
- ubuntu: 20.04
8282
containerd: v1.6.33
8383
- ubuntu: 20.04
84-
containerd: v1.7.18
84+
containerd: v1.7.19
8585
- ubuntu: 22.04
86-
containerd: v1.7.18
86+
containerd: v1.7.19
8787
- ubuntu: 22.04
8888
containerd: main # v2.0.0-rc.X
8989
- ubuntu: 24.04
90-
containerd: v1.7.18
90+
containerd: v1.7.19
9191
- ubuntu: 24.04
9292
containerd: main # v2.0.0-rc.X
9393
env:
@@ -124,7 +124,7 @@ jobs:
124124
# ubuntu-20.04: cgroup v1, ubuntu-22.04 and later: cgroup v2
125125
include:
126126
- ubuntu: 24.04
127-
containerd: v1.7.18
127+
containerd: v1.7.19
128128
env:
129129
UBUNTU_VERSION: "${{ matrix.ubuntu }}"
130130
CONTAINERD_VERSION: "${{ matrix.containerd }}"
@@ -177,19 +177,19 @@ jobs:
177177
rootlesskit: v1.1.1
178178
target: test-integration-rootless
179179
- ubuntu: 20.04
180-
containerd: v1.7.18
180+
containerd: v1.7.19
181181
rootlesskit: v2.1.0
182182
target: test-integration-rootless
183183
- ubuntu: 22.04
184-
containerd: v1.7.18
184+
containerd: v1.7.19
185185
rootlesskit: v1.1.1
186186
target: test-integration-rootless
187187
- ubuntu: 22.04
188188
containerd: main # v2.0.0-rc.X
189189
rootlesskit: v2.1.0
190190
target: test-integration-rootless
191191
- ubuntu: 24.04
192-
containerd: v1.7.18
192+
containerd: v1.7.19
193193
rootlesskit: v1.1.1
194194
target: test-integration-rootless
195195
- ubuntu: 24.04
@@ -201,11 +201,11 @@ jobs:
201201
rootlesskit: v1.1.1
202202
target: test-integration-rootless-port-slirp4netns
203203
- ubuntu: 20.04
204-
containerd: v1.7.18
204+
containerd: v1.7.19
205205
rootlesskit: v2.1.0
206206
target: test-integration-rootless-port-slirp4netns
207207
- ubuntu: 24.04
208-
containerd: v1.7.18
208+
containerd: v1.7.19
209209
rootlesskit: v1.1.1
210210
target: test-integration-rootless-port-slirp4netns
211211
- ubuntu: 24.04
@@ -322,15 +322,15 @@ jobs:
322322
- uses: actions/[email protected]
323323
with:
324324
repository: containerd/containerd
325-
ref: v1.7.18
325+
ref: v1.7.19
326326
path: containerd
327327
fetch-depth: 1
328328
- name: "Set up CNI"
329329
working-directory: containerd
330330
run: GOPATH=$(go env GOPATH) script/setup/install-cni-windows
331331
- name: "Set up containerd"
332332
env:
333-
ctrdVersion: 1.7.18
333+
ctrdVersion: 1.7.19
334334
run: powershell hack/configure-windows-ci.ps1
335335
# TODO: Run unit tests
336336
- name: "Run integration tests"

go.mod

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,8 @@ require (
1111
github.com/containerd/accelerated-container-image v1.1.3
1212
github.com/containerd/cgroups/v3 v3.0.3
1313
github.com/containerd/console v1.0.4
14-
github.com/containerd/containerd v1.7.18
14+
github.com/containerd/containerd v1.7.19
15+
github.com/containerd/containerd/api v1.7.19
1516
github.com/containerd/continuity v0.4.3
1617
github.com/containerd/fifo v1.1.0
1718
github.com/containerd/go-cni v1.1.10
@@ -75,7 +76,7 @@ require (
7576
github.com/cilium/ebpf v0.11.0 // indirect
7677
github.com/containerd/errdefs v0.1.0 // indirect
7778
github.com/containerd/go-runc v1.0.0 // indirect
78-
github.com/containerd/ttrpc v1.2.4 // indirect
79+
github.com/containerd/ttrpc v1.2.5 // indirect
7980
github.com/containerd/typeurl v1.0.3-0.20220422153119-7f6e6d160d67 // indirect
8081
github.com/containers/ocicrypt v1.1.10 // indirect
8182
github.com/distribution/reference v0.6.0

go.sum

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,10 @@ github.com/containerd/cgroups/v3 v3.0.3/go.mod h1:8HBe7V3aWGLFPd/k03swSIsGjZhHI2
3232
github.com/containerd/console v1.0.1/go.mod h1:XUsP6YE/mKtz6bxc+I8UiKKTP04qjQL4qcS3XoQ5xkw=
3333
github.com/containerd/console v1.0.4 h1:F2g4+oChYvBTsASRTz8NP6iIAi97J3TtSAsLbIFn4ro=
3434
github.com/containerd/console v1.0.4/go.mod h1:YynlIjWYF8myEu6sdkwKIvGQq+cOckRm6So2avqoYAk=
35-
github.com/containerd/containerd v1.7.18 h1:jqjZTQNfXGoEaZdW1WwPU0RqSn1Bm2Ay/KJPUuO8nao=
36-
github.com/containerd/containerd v1.7.18/go.mod h1:IYEk9/IO6wAPUz2bCMVUbsfXjzw5UNP5fLz4PsUygQ4=
35+
github.com/containerd/containerd v1.7.19 h1:/xQ4XRJ0tamDkdzrrBAUy/LE5nCcxFKdBm4EcPrSMEE=
36+
github.com/containerd/containerd v1.7.19/go.mod h1:h4FtNYUUMB4Phr6v+xG89RYKj9XccvbNSCKjdufCrkc=
37+
github.com/containerd/containerd/api v1.7.19 h1:VWbJL+8Ap4Ju2mx9c9qS1uFSB1OVYr5JJrW2yT5vFoA=
38+
github.com/containerd/containerd/api v1.7.19/go.mod h1:fwGavl3LNwAV5ilJ0sbrABL44AQxmNjDRcwheXDb6Ig=
3739
github.com/containerd/continuity v0.4.3 h1:6HVkalIp+2u1ZLH1J/pYX2oBVXlJZvh1X1A7bEZ9Su8=
3840
github.com/containerd/continuity v0.4.3/go.mod h1:F6PTNCKepoxEaXLQp3wDAjygEnImnZ/7o4JzpodfroQ=
3941
github.com/containerd/errdefs v0.1.0 h1:m0wCRBiu1WJT/Fr+iOoQHMQS/eP5myQ8lCv4Dz5ZURM=
@@ -58,8 +60,8 @@ github.com/containerd/stargz-snapshotter/estargz v0.15.1 h1:eXJjw9RbkLFgioVaTG+G
5860
github.com/containerd/stargz-snapshotter/estargz v0.15.1/go.mod h1:gr2RNwukQ/S9Nv33Lt6UC7xEx58C+LHRdoqbEKjz1Kk=
5961
github.com/containerd/stargz-snapshotter/ipfs v0.15.1 h1:MMWRYrTu2iVOn9eRJqEer7v0eg34xY2uFZxbrrm2iCY=
6062
github.com/containerd/stargz-snapshotter/ipfs v0.15.1/go.mod h1:DvrczCWAJnbTOau8txguZXDZdA7r39O3/Aj2olx+Q90=
61-
github.com/containerd/ttrpc v1.2.4 h1:eQCQK4h9dxDmpOb9QOOMh2NHTfzroH1IkmHiKZi05Oo=
62-
github.com/containerd/ttrpc v1.2.4/go.mod h1:ojvb8SJBSch0XkqNO0L0YX/5NxR3UnVk2LzFKBK0upc=
63+
github.com/containerd/ttrpc v1.2.5 h1:IFckT1EFQoFBMG4c3sMdT8EP3/aKfumK1msY+Ze4oLU=
64+
github.com/containerd/ttrpc v1.2.5/go.mod h1:YCXHsb32f+Sq5/72xHubdiJRQY9inL4a4ZQrAbN1q9o=
6365
github.com/containerd/typeurl v1.0.3-0.20220422153119-7f6e6d160d67 h1:rQvjv7gRi6Ki/NS/U9oLZFhqyk4dh/GH2M3o/4BRkMM=
6466
github.com/containerd/typeurl v1.0.3-0.20220422153119-7f6e6d160d67/go.mod h1:HDkcKOXRnX6yKnXv3P0QrogFi0DoiauK/LpQi961f0A=
6567
github.com/containerd/typeurl/v2 v2.1.1 h1:3Q4Pt7i8nYwy2KmQWIw2+1hTvwTE/6w9FqcttATPO/4=

pkg/cmd/builder/build.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -32,14 +32,14 @@ import (
3232
"github.com/containerd/containerd/errdefs"
3333
"github.com/containerd/containerd/images"
3434
"github.com/containerd/containerd/images/archive"
35-
dockerreference "github.com/containerd/containerd/reference/docker"
3635
"github.com/containerd/log"
3736
"github.com/containerd/nerdctl/v2/pkg/api/types"
3837
"github.com/containerd/nerdctl/v2/pkg/buildkitutil"
3938
"github.com/containerd/nerdctl/v2/pkg/clientutil"
4039
"github.com/containerd/nerdctl/v2/pkg/platformutil"
4140
"github.com/containerd/nerdctl/v2/pkg/strutil"
4241
"github.com/containerd/platforms"
42+
distributionref "github.com/distribution/reference"
4343
)
4444

4545
type PlatformParser interface {
@@ -230,19 +230,19 @@ func generateBuildctlArgs(ctx context.Context, client *containerd.Client, option
230230
}
231231
if tags = strutil.DedupeStrSlice(options.Tag); len(tags) > 0 {
232232
ref := tags[0]
233-
named, err := dockerreference.ParseNormalizedNamed(ref)
233+
named, err := distributionref.ParseNormalizedNamed(ref)
234234
if err != nil {
235235
return "", nil, false, "", nil, nil, err
236236
}
237-
output += ",name=" + dockerreference.TagNameOnly(named).String()
237+
output += ",name=" + distributionref.TagNameOnly(named).String()
238238

239239
// pick the first tag and add it to output
240240
for idx, tag := range tags {
241-
named, err := dockerreference.ParseNormalizedNamed(tag)
241+
named, err := distributionref.ParseNormalizedNamed(tag)
242242
if err != nil {
243243
return "", nil, false, "", nil, nil, err
244244
}
245-
tags[idx] = dockerreference.TagNameOnly(named).String()
245+
tags[idx] = distributionref.TagNameOnly(named).String()
246246
}
247247
} else if len(tags) == 0 {
248248
output = output + ",dangling-name-prefix=<none>"

pkg/cmd/builder/build_test.go

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ import (
2020
"reflect"
2121
"testing"
2222

23-
"github.com/containerd/containerd/platforms"
23+
specs "github.com/opencontainers/image-spec/specs-go/v1"
2424
"go.uber.org/mock/gomock"
2525
"gotest.tools/v3/assert"
2626
)
@@ -44,10 +44,10 @@ func (m *MockParse) EXPECT() *MockParseRecorder {
4444
return m.recorder
4545
}
4646

47-
func (m *MockParse) Parse(platform string) (platforms.Platform, error) {
47+
func (m *MockParse) Parse(platform string) (specs.Platform, error) {
4848
m.ctrl.T.Helper()
4949
ret := m.ctrl.Call(m, "Parse")
50-
ret0, _ := ret[0].(platforms.Platform)
50+
ret0, _ := ret[0].(specs.Platform)
5151
ret1, _ := ret[1].(error)
5252
return ret0, ret1
5353
}
@@ -57,10 +57,10 @@ func (m *MockParseRecorder) Parse(platform string) *gomock.Call {
5757
return m.mock.ctrl.RecordCallWithMethodType(m.mock, "Parse", reflect.TypeOf((*MockParse)(nil).Parse))
5858
}
5959

60-
func (m *MockParse) DefaultSpec() platforms.Platform {
60+
func (m *MockParse) DefaultSpec() specs.Platform {
6161
m.ctrl.T.Helper()
6262
ret := m.ctrl.Call(m, "DefaultSpec")
63-
ret0, _ := ret[0].(platforms.Platform)
63+
ret0, _ := ret[0].(specs.Platform)
6464
return ret0
6565
}
6666

@@ -80,40 +80,40 @@ func TestIsMatchingRuntimePlatform(t *testing.T) {
8080
{
8181
name: "Image is shareable when Runtime and build platform match for os, arch and variant",
8282
mock: func(mockParser *MockParse) {
83-
mockParser.EXPECT().Parse("test").Return(platforms.Platform{OS: "mockOS", Architecture: "mockArch", Variant: "mockVariant"}, nil)
84-
mockParser.EXPECT().DefaultSpec().Return(platforms.Platform{OS: "mockOS", Architecture: "mockArch", Variant: "mockVariant"})
83+
mockParser.EXPECT().Parse("test").Return(specs.Platform{OS: "mockOS", Architecture: "mockArch", Variant: "mockVariant"}, nil)
84+
mockParser.EXPECT().DefaultSpec().Return(specs.Platform{OS: "mockOS", Architecture: "mockArch", Variant: "mockVariant"})
8585
},
8686
want: true,
8787
},
8888
{
8989
name: "Image is shareable when Runtime and build platform match for os, arch. Variant is not defined",
9090
mock: func(mockParser *MockParse) {
91-
mockParser.EXPECT().Parse("test").Return(platforms.Platform{OS: "mockOS", Architecture: "mockArch", Variant: ""}, nil)
92-
mockParser.EXPECT().DefaultSpec().Return(platforms.Platform{OS: "mockOS", Architecture: "mockArch", Variant: "mockVariant"})
91+
mockParser.EXPECT().Parse("test").Return(specs.Platform{OS: "mockOS", Architecture: "mockArch", Variant: ""}, nil)
92+
mockParser.EXPECT().DefaultSpec().Return(specs.Platform{OS: "mockOS", Architecture: "mockArch", Variant: "mockVariant"})
9393
},
9494
want: true,
9595
},
9696
{
9797
name: "Image is not shareable when Runtime and build platform donot math OS",
9898
mock: func(mockParser *MockParse) {
99-
mockParser.EXPECT().Parse("test").Return(platforms.Platform{OS: "OS", Architecture: "mockArch", Variant: ""}, nil)
100-
mockParser.EXPECT().DefaultSpec().Return(platforms.Platform{OS: "mockOS", Architecture: "mockArch", Variant: "mockVariant"})
99+
mockParser.EXPECT().Parse("test").Return(specs.Platform{OS: "OS", Architecture: "mockArch", Variant: ""}, nil)
100+
mockParser.EXPECT().DefaultSpec().Return(specs.Platform{OS: "mockOS", Architecture: "mockArch", Variant: "mockVariant"})
101101
},
102102
want: false,
103103
},
104104
{
105105
name: "Image is not shareable when Runtime and build platform donot math Arch",
106106
mock: func(mockParser *MockParse) {
107-
mockParser.EXPECT().Parse("test").Return(platforms.Platform{OS: "mockOS", Architecture: "Arch", Variant: ""}, nil)
108-
mockParser.EXPECT().DefaultSpec().Return(platforms.Platform{OS: "mockOS", Architecture: "mockArch", Variant: "mockVariant"})
107+
mockParser.EXPECT().Parse("test").Return(specs.Platform{OS: "mockOS", Architecture: "Arch", Variant: ""}, nil)
108+
mockParser.EXPECT().DefaultSpec().Return(specs.Platform{OS: "mockOS", Architecture: "mockArch", Variant: "mockVariant"})
109109
},
110110
want: false,
111111
},
112112
{
113113
name: "Image is not shareable when Runtime and build platform donot math Variant",
114114
mock: func(mockParser *MockParse) {
115-
mockParser.EXPECT().Parse("test").Return(platforms.Platform{OS: "mockOS", Architecture: "mockArch", Variant: "Variant"}, nil)
116-
mockParser.EXPECT().DefaultSpec().Return(platforms.Platform{OS: "mockOS", Architecture: "mockArch", Variant: "mockVariant"})
115+
mockParser.EXPECT().Parse("test").Return(specs.Platform{OS: "mockOS", Architecture: "mockArch", Variant: "Variant"}, nil)
116+
mockParser.EXPECT().DefaultSpec().Return(specs.Platform{OS: "mockOS", Architecture: "mockArch", Variant: "mockVariant"})
117117
},
118118
want: false,
119119
},
@@ -151,17 +151,17 @@ func TestIsBuildPlatformDefault(t *testing.T) {
151151
name: "Image is shareable when Runtime and build platform match for os, arch and variant",
152152
platform: []string{"test"},
153153
mock: func(mockParser *MockParse) {
154-
mockParser.EXPECT().Parse("test").Return(platforms.Platform{OS: "mockOS", Architecture: "mockArch", Variant: "mockVariant"}, nil)
155-
mockParser.EXPECT().DefaultSpec().Return(platforms.Platform{OS: "mockOS", Architecture: "mockArch", Variant: "mockVariant"})
154+
mockParser.EXPECT().Parse("test").Return(specs.Platform{OS: "mockOS", Architecture: "mockArch", Variant: "mockVariant"}, nil)
155+
mockParser.EXPECT().DefaultSpec().Return(specs.Platform{OS: "mockOS", Architecture: "mockArch", Variant: "mockVariant"})
156156
},
157157
want: true,
158158
},
159159
{
160160
name: "Image is not shareable when Runtime build platform dont match",
161161
platform: []string{"test"},
162162
mock: func(mockParser *MockParse) {
163-
mockParser.EXPECT().Parse("test").Return(platforms.Platform{OS: "OS", Architecture: "mockArch", Variant: "mockVariant"}, nil)
164-
mockParser.EXPECT().DefaultSpec().Return(platforms.Platform{OS: "mockOS", Architecture: "mockArch", Variant: "mockVariant"})
163+
mockParser.EXPECT().Parse("test").Return(specs.Platform{OS: "OS", Architecture: "mockArch", Variant: "mockVariant"}, nil)
164+
mockParser.EXPECT().DefaultSpec().Return(specs.Platform{OS: "mockOS", Architecture: "mockArch", Variant: "mockVariant"})
165165
},
166166
want: false,
167167
},

pkg/cmd/image/push.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@ import (
2828
"github.com/containerd/containerd/images"
2929
"github.com/containerd/containerd/images/converter"
3030
"github.com/containerd/containerd/reference"
31-
refdocker "github.com/containerd/containerd/reference/docker"
3231
"github.com/containerd/containerd/remotes"
3332
"github.com/containerd/containerd/remotes/docker"
3433
dockerconfig "github.com/containerd/containerd/remotes/docker/config"
@@ -45,6 +44,7 @@ import (
4544
"github.com/containerd/stargz-snapshotter/estargz"
4645
"github.com/containerd/stargz-snapshotter/estargz/zstdchunked"
4746
estargzconvert "github.com/containerd/stargz-snapshotter/nativeconverter/estargz"
47+
distributionref "github.com/distribution/reference"
4848
"github.com/opencontainers/go-digest"
4949
ocispec "github.com/opencontainers/image-spec/specs-go/v1"
5050
)
@@ -83,12 +83,12 @@ func Push(ctx context.Context, client *containerd.Client, rawRef string, options
8383
return nil
8484
}
8585

86-
named, err := refdocker.ParseDockerRef(rawRef)
86+
named, err := distributionref.ParseDockerRef(rawRef)
8787
if err != nil {
8888
return err
8989
}
9090
ref := named.String()
91-
refDomain := refdocker.Domain(named)
91+
refDomain := distributionref.Domain(named)
9292

9393
platMC, err := platformutil.NewMatchComparer(options.AllPlatforms, options.Platforms)
9494
if err != nil {

pkg/imgutil/filtering.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,9 @@ import (
2525

2626
"github.com/containerd/containerd"
2727
"github.com/containerd/containerd/images"
28-
dockerreference "github.com/containerd/containerd/reference/docker"
2928
"github.com/containerd/log"
3029
"github.com/containerd/nerdctl/v2/pkg/referenceutil"
30+
distributionref "github.com/distribution/reference"
3131
)
3232

3333
// Filter types supported to filter images.
@@ -141,14 +141,14 @@ func FilterByReference(imageList []images.Image, filters []string) ([]images.Ima
141141
log.L.Debug(image.Name)
142142
var matches int
143143
for _, f := range filters {
144-
var ref dockerreference.Reference
144+
var ref distributionref.Reference
145145
var err error
146-
ref, err = dockerreference.ParseAnyReference(image.Name)
146+
ref, err = distributionref.ParseAnyReference(image.Name)
147147
if err != nil {
148148
return nil, fmt.Errorf("unable to parse image name: %s while filtering by reference because of %s", image.Name, err.Error())
149149
}
150150

151-
familiarMatch, err := dockerreference.FamiliarMatch(f, ref)
151+
familiarMatch, err := distributionref.FamiliarMatch(f, ref)
152152
if err != nil {
153153
return nil, err
154154
}

pkg/imgutil/imgutil.go

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@ import (
2626
"github.com/containerd/containerd"
2727
"github.com/containerd/containerd/content"
2828
"github.com/containerd/containerd/images"
29-
refdocker "github.com/containerd/containerd/reference/docker"
3029
"github.com/containerd/containerd/remotes"
3130
"github.com/containerd/containerd/snapshots"
3231
"github.com/containerd/imgcrypt"
@@ -38,6 +37,7 @@ import (
3837
"github.com/containerd/nerdctl/v2/pkg/imgutil/dockerconfigresolver"
3938
"github.com/containerd/nerdctl/v2/pkg/imgutil/pull"
4039
"github.com/containerd/platforms"
40+
distributionref "github.com/distribution/reference"
4141
"github.com/docker/docker/errdefs"
4242
"github.com/opencontainers/image-spec/identity"
4343
ocispec "github.com/opencontainers/image-spec/specs-go/v1"
@@ -125,12 +125,12 @@ func EnsureImage(ctx context.Context, client *containerd.Client, stdout, stderr
125125
return nil, fmt.Errorf("image not available: %q", rawRef)
126126
}
127127

128-
named, err := refdocker.ParseDockerRef(rawRef)
128+
named, err := distributionref.ParseDockerRef(rawRef)
129129
if err != nil {
130130
return nil, err
131131
}
132132
ref := named.String()
133-
refDomain := refdocker.Domain(named)
133+
refDomain := distributionref.Domain(named)
134134

135135
var dOpts []dockerconfigresolver.Opt
136136
if insecure {
@@ -168,12 +168,12 @@ func EnsureImage(ctx context.Context, client *containerd.Client, stdout, stderr
168168

169169
// ResolveDigest resolves `rawRef` and returns its descriptor digest.
170170
func ResolveDigest(ctx context.Context, rawRef string, insecure bool, hostsDirs []string) (string, error) {
171-
named, err := refdocker.ParseDockerRef(rawRef)
171+
named, err := distributionref.ParseDockerRef(rawRef)
172172
if err != nil {
173173
return "", err
174174
}
175175
ref := named.String()
176-
refDomain := refdocker.Domain(named)
176+
refDomain := distributionref.Domain(named)
177177

178178
var dOpts []dockerconfigresolver.Opt
179179
if insecure {
@@ -361,18 +361,18 @@ func ReadImageConfig(ctx context.Context, img containerd.Image) (ocispec.Image,
361361
func ParseRepoTag(imgName string) (string, string) {
362362
log.L.Debugf("raw image name=%q", imgName)
363363

364-
ref, err := refdocker.ParseDockerRef(imgName)
364+
ref, err := distributionref.ParseDockerRef(imgName)
365365
if err != nil {
366366
log.L.WithError(err).Debugf("unparsable image name %q", imgName)
367367
return "", ""
368368
}
369369

370370
var tag string
371371

372-
if tagged, ok := ref.(refdocker.Tagged); ok {
372+
if tagged, ok := ref.(distributionref.Tagged); ok {
373373
tag = tagged.Tag()
374374
}
375-
repository := refdocker.FamiliarName(ref)
375+
repository := distributionref.FamiliarName(ref)
376376

377377
return repository, tag
378378
}

0 commit comments

Comments
 (0)