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

Commit af9ca12

Browse files
authored
Merge pull request #219 from docker/snyk-1.1044.0
dep: bump snyk to v1.1054.0
2 parents 19992b1 + 9d7de7e commit af9ca12

7 files changed

Lines changed: 38 additions & 15 deletions

File tree

cmd/docker-scan/main.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -214,7 +214,7 @@ func runAuthentication(ctx context.Context, dockerCli command.Cli, flags options
214214
func runScan(ctx context.Context, cmd *cobra.Command, dockerCli command.Cli, flags options, args []string) error {
215215
scanProvider, err := configureProvider(ctx, dockerCli, flags, provider.WithAuthConfig(func(hub *registry.IndexInfo) types.AuthConfig {
216216
return command.ResolveAuthConfig(context.Background(), dockerCli, hub)
217-
}))
217+
}), provider.WithVersion(internal.Version))
218218
if len(args) != 1 {
219219
if err := cmd.Usage(); err != nil {
220220
return err

e2e/version_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,7 @@ Provider: %s
123123
}
124124

125125
func getProviderVersion(env string) string {
126-
if runtime.GOOS != "windows" {
126+
if runtime.GOOS == "linux" {
127127
return fmt.Sprintf("Snyk (%s (standalone))", os.Getenv(env))
128128
}
129129
return fmt.Sprintf("Snyk (%s)", os.Getenv(env))

internal/provider/containerizedsnyk.go

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -144,6 +144,7 @@ func (d *dockerSnykProvider) createContainer(token string, containerName string)
144144
"NO_UPDATE_NOTIFIER=true",
145145
"SNYK_CFG_DISABLESUGGESTIONS=true",
146146
"SNYK_INTEGRATION_NAME=DOCKER_DESKTOP",
147+
"SNYK_INTEGRATION_VERSION=" + d.version,
147148
"SNYK_UTM_MEDIUM=Partner",
148149
"SNYK_UTM_SOURCE=Docker",
149150
"SNYK_UTM_CAMPAIGN=Docker-Desktop-2020",
@@ -282,8 +283,12 @@ func (d *dockerSnykProvider) newCommand(envVars []string, arg ...string) (string
282283
arg[index] = "--file=/app/Dockerfile"
283284
}
284285
}
285-
defaultEnvs := []string{"NO_UPDATE_NOTIFIER=true", "SNYK_CFG_DISABLESUGGESTIONS=true",
286-
"SNYK_INTEGRATION_NAME=DOCKER_DESKTOP"}
286+
defaultEnvs := []string{
287+
"NO_UPDATE_NOTIFIER=true",
288+
"SNYK_CFG_DISABLESUGGESTIONS=true",
289+
"SNYK_INTEGRATION_NAME=DOCKER_DESKTOP",
290+
"SNYK_INTEGRATION_VERSION=" + d.version,
291+
}
287292
envVars = append(envVars, defaultEnvs...)
288293

289294
args := strslice.StrSlice{"snyk"}

internal/provider/provider.go

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ type Options struct {
4545
out io.Writer
4646
err io.Writer
4747
path string
48+
version string
4849
}
4950

5051
// NewProvider returns default provider options setup with the give options
@@ -78,15 +79,15 @@ func WithAuthConfig(authResolver func(*registry.IndexInfo) types.AuthConfig) Ops
7879
}
7980
}
8081

81-
//WithContext update the provider with a cancelable context
82+
// WithContext update the provider with a cancelable context
8283
func WithContext(ctx context.Context) Ops {
8384
return func(options *Options) error {
8485
options.context = ctx
8586
return nil
8687
}
8788
}
8889

89-
//WithStreams sets the out and err streams to be used by commands
90+
// WithStreams sets the out and err streams to be used by commands
9091
func WithStreams(out, err io.Writer) Ops {
9192
return func(options *Options) error {
9293
options.out = out
@@ -184,6 +185,14 @@ func WithExperimental() Ops {
184185
}
185186
}
186187

188+
// WithVersion set the version of the scan cli plugin to the provider
189+
func WithVersion(version string) Ops {
190+
return func(provider *Options) error {
191+
provider.version = version
192+
return nil
193+
}
194+
}
195+
187196
func getToken(opts Options) (string, error) {
188197
if opts.auth.Username == "" {
189198
return "", fmt.Errorf(`You need to be logged in to Docker Hub to use the scan feature.

internal/provider/snyk.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,9 @@ func (s *snykProvider) newCommand(arg ...string) *exec.Cmd {
112112
cmd.Env = append(os.Environ(),
113113
"NO_UPDATE_NOTIFIER=true",
114114
"SNYK_CFG_DISABLESUGGESTIONS=true",
115-
"SNYK_INTEGRATION_NAME=DOCKER_DESKTOP")
115+
"SNYK_INTEGRATION_NAME=DOCKER_DESKTOP",
116+
"SNYK_INTEGRATION_VERSION="+s.version,
117+
)
116118
return cmd
117119
}
118120

internal/provider/snyk_test.go

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,8 @@ var (
3535
)
3636

3737
const (
38-
snykToken = "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee"
38+
snykToken = "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee"
39+
fakeVersion = "abcd1234"
3940
)
4041

4142
func TestSnykLoginEnvVars(t *testing.T) {
@@ -48,8 +49,10 @@ func TestSnykLoginEnvVars(t *testing.T) {
4849
err := provider.Authenticate(snykToken)
4950
assert.NilError(t, err)
5051

51-
// SNYK_INTEGRATION is always set
52+
// SNYK_INTEGRATION_NAME is always set
5253
assert.Assert(t, strings.Contains(outStream.String(), "SNYK_INTEGRATION_NAME=DOCKER_DESKTOP"))
54+
// SNYK_INTEGRATION_VERSION is always set
55+
assert.Assert(t, strings.Contains(outStream.String(), "SNYK_INTEGRATION_VERSION="+fakeVersion))
5356
// NO_UPDATE_NOTIFIER disables node.js automatic update notification in console
5457
assert.Assert(t, strings.Contains(outStream.String(), "NO_UPDATE_NOTIFIER=true"))
5558
// SNYK_CFG_DISABLESUGGESTIONS removes user hints from snyk
@@ -78,8 +81,10 @@ func TestSnykScanEnvVars(t *testing.T) {
7881
err := provider.Scan("image")
7982
assert.NilError(t, err)
8083

81-
// SNYK_INTEGRATION is always set
84+
// SNYK_INTEGRATION_NAME is always set
8285
assert.Assert(t, strings.Contains(outStream.String(), "SNYK_INTEGRATION_NAME=DOCKER_DESKTOP"))
86+
// SNYK_INTEGRATION_VERSION is always set
87+
assert.Assert(t, strings.Contains(outStream.String(), "SNYK_INTEGRATION_VERSION="+fakeVersion))
8388
// NO_UPDATE_NOTIFIER disables node.js automatic update notification in console
8489
assert.Assert(t, strings.Contains(outStream.String(), "NO_UPDATE_NOTIFIER=true"))
8590
// SNYK_CFG_DISABLESUGGESTIONS removes user hints from snyk
@@ -95,7 +100,9 @@ func setupMockSnykBinary(t *testing.T) (Provider, *bytes.Buffer) {
95100

96101
defaultProvider, err := NewProvider(WithContext(context.Background()),
97102
WithPath(snykPath),
98-
WithStreams(outStream, errStream))
103+
WithStreams(outStream, errStream),
104+
WithVersion(fakeVersion),
105+
)
99106
assert.NilError(t, err)
100107
provider, err := NewSnykProvider(
101108
defaultProvider)

vars.mk

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
# Pinned Versions
2-
SNYK_DESKTOP_VERSION=1.1025.0
3-
SNYK_USER_VERSION=1.1025.0
2+
SNYK_DESKTOP_VERSION=1.1054.0
3+
SNYK_USER_VERSION=1.1054.0
44
SNYK_OLD_VERSION=1.382.1
5-
# Digest of the 1.1025.0 snyk/snyk:docker image
6-
SNYK_IMAGE_DIGEST=sha256:b979e1827473ce7675439213a918687ac532481c3370818bce61884735bdb09d
5+
# Digest of the 1.1054.0 snyk/snyk:docker image
6+
SNYK_IMAGE_DIGEST=sha256:81c312b1dd662a492a1cf40e597359dd391653293bd17674f8f60a021d687c58
77
GO_VERSION=1.17.5
88
CLI_VERSION=20.10.11
99
ALPINE_VERSION=3.15.0

0 commit comments

Comments
 (0)