Skip to content

Commit 734b7c3

Browse files
committed
RTECO-928 - Support for docker 29
1 parent 3786e8b commit 734b7c3

File tree

3 files changed

+55
-3
lines changed

3 files changed

+55
-3
lines changed

artifactory/commands/ocicontainer/containermanager.go

Lines changed: 19 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@ package ocicontainer
33
import (
44
"bytes"
55
"fmt"
6+
"github.com/google/go-containerregistry/pkg/name"
7+
"github.com/google/go-containerregistry/pkg/v1/daemon"
68
"os"
79
"os/exec"
810
"regexp"
@@ -65,12 +67,26 @@ func (containerManager *containerManager) RunNativeCmd(cmdParams []string) error
6567

6668
// Get image ID
6769
func (containerManager *containerManager) Id(image *Image) (string, error) {
68-
cmd := &getImageIdCmd{image: image, containerManager: containerManager.Type}
69-
content, err := cmd.RunCmd()
70+
ref, err := name.ParseReference(image.Name())
71+
if err != nil {
72+
return "", err
73+
}
74+
localImage, err := daemon.Image(ref)
75+
if err != nil {
76+
return "", err
77+
}
78+
localManifest, err := localImage.Manifest()
7079
if err != nil {
7180
return "", err
7281
}
73-
return strings.Split(content, "\n")[0], nil
82+
sha256ConfigHash := localManifest.Config.Digest.String()
83+
return sha256ConfigHash, nil
84+
//cmd := &getImageIdCmd{image: image, containerManager: containerManager.Type}
85+
//content, err := cmd.RunCmd()
86+
//if err != nil {
87+
// return "", err
88+
//}
89+
//return strings.Split(content, "\n")[0], nil
7490
}
7591

7692
// Return the OS and architecture on which the image runs e.g. (linux, amd64, nil).

go.mod

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,21 +41,29 @@ require (
4141
github.com/cloudflare/circl v1.6.1 // indirect
4242
github.com/containerd/containerd v1.7.29 // indirect
4343
github.com/containerd/errdefs v1.0.0 // indirect
44+
github.com/containerd/errdefs/pkg v0.3.0 // indirect
4445
github.com/containerd/log v0.1.0 // indirect
4546
github.com/containerd/platforms v0.2.1 // indirect
4647
github.com/containerd/stargz-snapshotter/estargz v0.18.1 // indirect
4748
github.com/cpuguy83/go-md2man/v2 v2.0.7 // indirect
4849
github.com/cyphar/filepath-securejoin v0.6.0 // indirect
4950
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
51+
github.com/distribution/reference v0.6.0 // indirect
5052
github.com/docker/cli v29.0.3+incompatible // indirect
5153
github.com/docker/distribution v2.8.3+incompatible // indirect
54+
github.com/docker/docker v28.5.2+incompatible // indirect
5255
github.com/docker/docker-credential-helpers v0.9.3 // indirect
56+
github.com/docker/go-connections v0.5.0 // indirect
57+
github.com/docker/go-units v0.5.0 // indirect
5358
github.com/dsnet/compress v0.0.2-0.20210315054119-f66993602bf5 // indirect
5459
github.com/emirpasic/gods v1.18.1 // indirect
60+
github.com/felixge/httpsnoop v1.0.4 // indirect
5561
github.com/fsnotify/fsnotify v1.9.0 // indirect
5662
github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 // indirect
5763
github.com/go-git/go-billy/v5 v5.6.2 // indirect
5864
github.com/go-git/go-git/v5 v5.16.3 // indirect
65+
github.com/go-logr/logr v1.4.3 // indirect
66+
github.com/go-logr/stdr v1.2.2 // indirect
5967
github.com/go-viper/mapstructure/v2 v2.4.0 // indirect
6068
github.com/gocarina/gocsv v0.0.0-20240520201108-78e41c74b4b1 // indirect
6169
github.com/golang-jwt/jwt/v4 v4.5.2 // indirect
@@ -76,6 +84,7 @@ require (
7684
github.com/mattn/go-tty v0.0.7 // indirect
7785
github.com/minio/sha256-simd v1.0.1 // indirect
7886
github.com/mitchellh/go-homedir v1.1.0 // indirect
87+
github.com/moby/docker-image-spec v1.3.1 // indirect
7988
github.com/nwaples/rardecode v1.1.3 // indirect
8089
github.com/onsi/gomega v1.38.2 // indirect
8190
github.com/opencontainers/go-digest v1.0.0 // indirect
@@ -106,7 +115,11 @@ require (
106115
github.com/xanzy/ssh-agent v0.3.3 // indirect
107116
github.com/xi2/xz v0.0.0-20171230120015-48954b6210f8 // indirect
108117
github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e // indirect
118+
go.opentelemetry.io/auto/sdk v1.1.0 // indirect
109119
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.62.0 // indirect
120+
go.opentelemetry.io/otel v1.37.0 // indirect
121+
go.opentelemetry.io/otel/metric v1.37.0 // indirect
122+
go.opentelemetry.io/otel/trace v1.37.0 // indirect
110123
go.yaml.in/yaml/v2 v2.4.2 // indirect
111124
go.yaml.in/yaml/v3 v3.0.4 // indirect
112125
golang.org/x/crypto v0.45.0 // indirect

go.sum

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@ dario.cat/mergo v1.0.2 h1:85+piFYR1tMbRrLcDwR18y4UKJ3aH1Tbzi24VRW1TK8=
22
dario.cat/mergo v1.0.2/go.mod h1:E/hbnu0NxMFBjpMIE34DRGLWqDy0g5FuKDhCb31ngxA=
33
github.com/AdaLogics/go-fuzz-headers v0.0.0-20230811130428-ced1acdcaa24 h1:bvDV9vkmnHYOMsOr4WLk+Vo07yKIzd94sVoIqshQ4bU=
44
github.com/AdaLogics/go-fuzz-headers v0.0.0-20230811130428-ced1acdcaa24/go.mod h1:8o94RPi1/7XTJvwPpRSzSUedZrtlirdB3r9Z20bi2f8=
5+
github.com/Azure/go-ansiterm v0.0.0-20250102033503-faa5f7b0171c h1:udKWzYgxTojEKWjV8V+WSxDXJ4NFATAsZjh8iIbsQIg=
6+
github.com/Azure/go-ansiterm v0.0.0-20250102033503-faa5f7b0171c/go.mod h1:xomTg63KZ2rFqZQzSB4Vz2SUXa1BpHTVz9L5PTmPC4E=
57
github.com/BurntSushi/toml v1.5.0 h1:W5quZX/G/csjUnuI8SUYlsHs9M38FC7znL0lIO+DvMg=
68
github.com/BurntSushi/toml v1.5.0/go.mod h1:ukJfTF/6rtPPRCnwkur4qwRxa8vTRFBF0uk2lLoLwho=
79
github.com/CycloneDX/cyclonedx-go v0.9.3 h1:Pyk/lwavPz7AaZNvugKFkdWOm93MzaIyWmBwmBo3aUI=
@@ -58,6 +60,8 @@ github.com/containerd/containerd v1.7.29 h1:90fWABQsaN9mJhGkoVnuzEY+o1XDPbg9BTC9
5860
github.com/containerd/containerd v1.7.29/go.mod h1:azUkWcOvHrWvaiUjSQH0fjzuHIwSPg1WL5PshGP4Szs=
5961
github.com/containerd/errdefs v1.0.0 h1:tg5yIfIlQIrxYtu9ajqY42W3lpS19XqdxRQeEwYG8PI=
6062
github.com/containerd/errdefs v1.0.0/go.mod h1:+YBYIdtsnF4Iw6nWZhJcqGSg/dwvV7tyJ/kCkyJ2k+M=
63+
github.com/containerd/errdefs/pkg v0.3.0 h1:9IKJ06FvyNlexW690DXuQNx2KA2cUJXx151Xdx3ZPPE=
64+
github.com/containerd/errdefs/pkg v0.3.0/go.mod h1:NJw6s9HwNuRhnjJhM7pylWwMyAkmCQvQ4GpJHEqRLVk=
6165
github.com/containerd/log v0.1.0 h1:TCJt7ioM2cr/tfR8GPbGf9/VRAX8D2B4PjzCpfX540I=
6266
github.com/containerd/log v0.1.0/go.mod h1:VRRf09a7mHDIRezVKTRCrOq78v577GXq3bSa3EhrzVo=
6367
github.com/containerd/platforms v0.2.1 h1:zvwtM3rz2YHPQsF2CHYM8+KtB5dvhISiXh5ZpSBQv6A=
@@ -84,12 +88,18 @@ github.com/docker/cli v29.0.3+incompatible h1:8J+PZIcF2xLd6h5sHPsp5pvvJA+Sr2wGQx
8488
github.com/docker/cli v29.0.3+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8=
8589
github.com/docker/distribution v2.8.3+incompatible h1:AtKxIZ36LoNK51+Z6RpzLpddBirtxJnzDrHLEKxTAYk=
8690
github.com/docker/distribution v2.8.3+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w=
91+
github.com/docker/docker v28.5.2+incompatible h1:DBX0Y0zAjZbSrm1uzOkdr1onVghKaftjlSWt4AFexzM=
92+
github.com/docker/docker v28.5.2+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk=
8793
github.com/docker/docker-credential-helpers v0.9.3 h1:gAm/VtF9wgqJMoxzT3Gj5p4AqIjCBS4wrsOh9yRqcz8=
8894
github.com/docker/docker-credential-helpers v0.9.3/go.mod h1:x+4Gbw9aGmChi3qTLZj8Dfn0TD20M/fuWy0E5+WDeCo=
95+
github.com/docker/go-connections v0.5.0 h1:USnMq7hx7gwdVZq1L49hLXaFtUdTADjXGp+uj1Br63c=
96+
github.com/docker/go-connections v0.5.0/go.mod h1:ov60Kzw0kKElRwhNs9UlUHAE/F9Fe6GLaXnqyDdmEXc=
8997
github.com/docker/go-events v0.0.0-20190806004212-e31b211e4f1c h1:+pKlWGMw7gf6bQ+oDZB4KHQFypsfjYlq/C4rfL7D3g8=
9098
github.com/docker/go-events v0.0.0-20190806004212-e31b211e4f1c/go.mod h1:Uw6UezgYA44ePAFQYUehOuCzmy5zmg/+nl2ZfMWGkpA=
9199
github.com/docker/go-metrics v0.0.1 h1:AgB/0SvBxihN0X8OR4SjsblXkbMvalQ8cjmtKQ2rQV8=
92100
github.com/docker/go-metrics v0.0.1/go.mod h1:cG1hvH2utMXtqgqqYE9plW6lDxS3/5ayHzueweSI3Vw=
101+
github.com/docker/go-units v0.5.0 h1:69rxXcBk27SvSaaxTtLh/8llcHD8vYHT7WSdRZ/jvr4=
102+
github.com/docker/go-units v0.5.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk=
93103
github.com/dsnet/compress v0.0.2-0.20210315054119-f66993602bf5 h1:iFaUwBSo5Svw6L7HYpRu/0lE3e0BaElwnNO1qkNQxBY=
94104
github.com/dsnet/compress v0.0.2-0.20210315054119-f66993602bf5/go.mod h1:qssHWj60/X5sZFNxpG4HBPDHVqxNm4DfnCKgrbZOT+s=
95105
github.com/dsnet/golib v0.0.0-20171103203638-1ea166775780/go.mod h1:Lj+Z9rebOhdfkVLjJ8T6VcRQv3SXugXy999NBtR9aFY=
@@ -117,6 +127,7 @@ github.com/go-git/go-git-fixtures/v4 v4.3.2-0.20231010084843-55a94097c399 h1:eMj
117127
github.com/go-git/go-git-fixtures/v4 v4.3.2-0.20231010084843-55a94097c399/go.mod h1:1OCfN199q1Jm3HZlxleg+Dw/mwps2Wbk9frAWm+4FII=
118128
github.com/go-git/go-git/v5 v5.16.3 h1:Z8BtvxZ09bYm/yYNgPKCzgWtaRqDTgIKRgIRHBfU6Z8=
119129
github.com/go-git/go-git/v5 v5.16.3/go.mod h1:4Ge4alE/5gPs30F2H1esi2gPd69R0C39lolkucHBOp8=
130+
github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A=
120131
github.com/go-logr/logr v1.4.3 h1:CjnDlHq8ikf6E492q6eKboGOC0T8CDaOvkHCIg8idEI=
121132
github.com/go-logr/logr v1.4.3/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY=
122133
github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag=
@@ -213,6 +224,16 @@ github.com/minio/sha256-simd v1.0.1 h1:6kaan5IFmwTNynnKKpDHe6FWHohJOHhCPchzK49dz
213224
github.com/minio/sha256-simd v1.0.1/go.mod h1:Pz6AKMiUdngCLpeTL/RJY1M9rUuPMYujV5xJjtbRSN8=
214225
github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y=
215226
github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0=
227+
github.com/moby/docker-image-spec v1.3.1 h1:jMKff3w6PgbfSa69GfNg+zN/XLhfXJGnEx3Nl2EsFP0=
228+
github.com/moby/docker-image-spec v1.3.1/go.mod h1:eKmb5VW8vQEh/BAr2yvVNvuiJuY6UIocYsFu/DxxRpo=
229+
github.com/moby/sys/atomicwriter v0.1.0 h1:kw5D/EqkBwsBFi0ss9v1VG3wIkVhzGvLklJ+w3A14Sw=
230+
github.com/moby/sys/atomicwriter v0.1.0/go.mod h1:Ul8oqv2ZMNHOceF643P6FKPXeCmYtlQMvpizfsSoaWs=
231+
github.com/moby/sys/sequential v0.5.0 h1:OPvI35Lzn9K04PBbCLW0g4LcFAJgHsvXsRyewg5lXtc=
232+
github.com/moby/sys/sequential v0.5.0/go.mod h1:tH2cOOs5V9MlPiXcQzRC+eEyab644PWKGRYaaV5ZZlo=
233+
github.com/moby/term v0.5.2 h1:6qk3FJAFDs6i/q3W/pQ97SX192qKfZgGjCQqfCJkgzQ=
234+
github.com/moby/term v0.5.2/go.mod h1:d3djjFCrjnB+fl8NJux+EJzu0msscUP+f8it8hPkFLc=
235+
github.com/morikuni/aec v1.0.0 h1:nP9CBfwrvYnBRgY6qfDQkygYDmYwOilePFkwzv4dU8A=
236+
github.com/morikuni/aec v1.0.0/go.mod h1:BbKIizmSmc5MMPqRYbxO4ZU0S0+P200+tUnFx7PXmsc=
216237
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA=
217238
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ=
218239
github.com/nwaples/rardecode v1.1.3 h1:cWCaZwfM5H7nAD6PyEdcVnczzV8i/JtotnyW/dD9lEc=
@@ -408,6 +429,8 @@ golang.org/x/term v0.37.0/go.mod h1:5pB4lxRNYYVZuTLmy8oR2BH8dflOR+IbTYFD8fi3254=
408429
golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
409430
golang.org/x/text v0.31.0 h1:aC8ghyu4JhP8VojJ2lEHBnochRno1sgL6nEi9WGFGMM=
410431
golang.org/x/text v0.31.0/go.mod h1:tKRAlv61yKIjGGHX/4tP1LTbc13YSec1pxVEWXzfoeM=
432+
golang.org/x/time v0.12.0 h1:ScB/8o8olJvc+CQPWrK3fPZNfh7qgwCrY0zJmoEQLSE=
433+
golang.org/x/time v0.12.0/go.mod h1:CDIdPxbZBQxdj6cxyCIdrNogrJKMJ7pr37NYpMcMDSg=
411434
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
412435
golang.org/x/tools v0.39.0 h1:ik4ho21kwuQln40uelmciQPp9SipgNDdrafrYA4TmQQ=
413436
golang.org/x/tools v0.39.0/go.mod h1:JnefbkDPyD8UU2kI5fuf8ZX4/yUeh9W877ZeBONxUqQ=

0 commit comments

Comments
 (0)