From 908a4914c7e5e23ec1a6bd96879bb0d30173005c Mon Sep 17 00:00:00 2001 From: Michel Meyer Date: Wed, 27 Sep 2023 15:17:11 +0200 Subject: [PATCH] feat(db): allow passing registry options (#5226) * feat(db): allow passing registry options Signed-off-by: Michel Meyer * feat(db): pass cli registry options to javaDB --------- Signed-off-by: Michel Meyer --- pkg/commands/artifact/run.go | 2 +- pkg/fanal/analyzer/analyzer_test.go | 2 +- .../analyzer/language/java/jar/jar_test.go | 2 +- pkg/javadb/client.go | 24 +++++++++---------- 4 files changed, 15 insertions(+), 15 deletions(-) diff --git a/pkg/commands/artifact/run.go b/pkg/commands/artifact/run.go index 29e02f042d..5baa61787a 100644 --- a/pkg/commands/artifact/run.go +++ b/pkg/commands/artifact/run.go @@ -329,7 +329,7 @@ func (r *runner) initJavaDB(opts flag.Options) error { // Update the Java DB noProgress := opts.Quiet || opts.NoProgress - javadb.Init(opts.CacheDir, opts.JavaDBRepository, opts.SkipJavaDBUpdate, noProgress, opts.Insecure) + javadb.Init(opts.CacheDir, opts.JavaDBRepository, opts.SkipJavaDBUpdate, noProgress, opts.RegistryOpts()) if opts.DownloadJavaDBOnly { if err := javadb.Update(); err != nil { return xerrors.Errorf("Java DB error: %w", err) diff --git a/pkg/fanal/analyzer/analyzer_test.go b/pkg/fanal/analyzer/analyzer_test.go index 15a2c7da36..d35dfd0c62 100644 --- a/pkg/fanal/analyzer/analyzer_test.go +++ b/pkg/fanal/analyzer/analyzer_test.go @@ -614,7 +614,7 @@ func TestAnalyzerGroup_PostAnalyze(t *testing.T) { if tt.analyzerType == analyzer.TypeJar { // init java-trivy-db with skip update - javadb.Init("./language/java/jar/testdata", "ghcr.io/aquasecurity/trivy-java-db", true, false, false) + javadb.Init("./language/java/jar/testdata", "ghcr.io/aquasecurity/trivy-java-db", true, false, types.RegistryOptions{Insecure: false}) } ctx := context.Background() diff --git a/pkg/fanal/analyzer/language/java/jar/jar_test.go b/pkg/fanal/analyzer/language/java/jar/jar_test.go index 63742a3d4f..f198c7beb0 100644 --- a/pkg/fanal/analyzer/language/java/jar/jar_test.go +++ b/pkg/fanal/analyzer/language/java/jar/jar_test.go @@ -130,7 +130,7 @@ func Test_javaLibraryAnalyzer_Analyze(t *testing.T) { for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { // init java-trivy-db with skip update - javadb.Init("testdata", defaultJavaDBRepository, true, false, false) + javadb.Init("testdata", defaultJavaDBRepository, true, false, types.RegistryOptions{Insecure: false}) a := javaLibraryAnalyzer{slow: true} ctx := context.Background() diff --git a/pkg/javadb/client.go b/pkg/javadb/client.go index 78fe32ac03..5da8534277 100644 --- a/pkg/javadb/client.go +++ b/pkg/javadb/client.go @@ -26,11 +26,11 @@ const ( var updater *Updater type Updater struct { - repo string - dbDir string - skip bool - quiet bool - insecure bool + repo string + dbDir string + skip bool + quiet bool + registryOption ftypes.RegistryOptions } func (u *Updater) Update() error { @@ -54,7 +54,7 @@ func (u *Updater) Update() error { // TODO: support remote options var a *oci.Artifact - if a, err = oci.NewArtifact(u.repo, u.quiet, ftypes.RegistryOptions{Insecure: u.insecure}); err != nil { + if a, err = oci.NewArtifact(u.repo, u.quiet, u.registryOption); err != nil { return xerrors.Errorf("oci error: %w", err) } if err = a.Download(context.Background(), dbDir, oci.DownloadOption{MediaType: mediaType}); err != nil { @@ -79,13 +79,13 @@ func (u *Updater) Update() error { return nil } -func Init(cacheDir string, javaDBRepository string, skip, quiet, insecure bool) { +func Init(cacheDir string, javaDBRepository string, skip, quiet bool, registryOption ftypes.RegistryOptions) { updater = &Updater{ - repo: fmt.Sprintf("%s:%d", javaDBRepository, db.SchemaVersion), - dbDir: filepath.Join(cacheDir, "java-db"), - skip: skip, - quiet: quiet, - insecure: insecure, + repo: fmt.Sprintf("%s:%d", javaDBRepository, db.SchemaVersion), + dbDir: filepath.Join(cacheDir, "java-db"), + skip: skip, + quiet: quiet, + registryOption: registryOption, } }