From 48df949c3020f2f12a6b6d89261536620d61617d Mon Sep 17 00:00:00 2001 From: Daniel Pacak Date: Thu, 26 Mar 2020 12:22:28 +0100 Subject: [PATCH] feat(trivy): Return Trivy DB update timestamp in /api/v1/metadata response (#11285) Resolves: #11284 Signed-off-by: Daniel Pacak --- Makefile | 4 ++-- .../compile-guide.md | 1 + .../scanner-metadata.component.ts | 18 +++++++++++++++--- src/portal/src/lib/utils/utils.ts | 1 + 4 files changed, 19 insertions(+), 5 deletions(-) diff --git a/Makefile b/Makefile index 6c59f00a5..875754a6b 100644 --- a/Makefile +++ b/Makefile @@ -103,8 +103,8 @@ NOTARYVERSION=v0.6.1 CLAIRVERSION=v2.1.1 NOTARYMIGRATEVERSION=v3.5.4 CLAIRADAPTERVERSION=v1.0.1 -TRIVYVERSION=v0.5.2 -TRIVYADAPTERVERSION=v0.5.0 +TRIVYVERSION=v0.5.3 +TRIVYADAPTERVERSION=v0.7.0 # version of chartmuseum CHARTMUSEUMVERSION=v0.9.0 diff --git a/docs/1.10/build-customize-contribute/compile-guide.md b/docs/1.10/build-customize-contribute/compile-guide.md index 2a0dc22ac..bcb4fdab0 100644 --- a/docs/1.10/build-customize-contribute/compile-guide.md +++ b/docs/1.10/build-customize-contribute/compile-guide.md @@ -114,6 +114,7 @@ The `Makefile` contains these configurable parameters: | COMPILETAG | Compile model flag, default: compile_normal (local golang build) | | NOTARYFLAG | Notary mode flag, default: false | | CLAIRFLAG | Clair mode flag, default: false | +| TRIVYFLAG | Trivy mode flag, default: false | | HTTPPROXY | NPM http proxy for Clarity UI builder | | REGISTRYSERVER | Remote registry server IP address | | REGISTRYUSER | Remote registry server user name | diff --git a/src/portal/src/app/config/scanner/scanner-metadata/scanner-metadata.component.ts b/src/portal/src/app/config/scanner/scanner-metadata/scanner-metadata.component.ts index 3c16feb46..362361a60 100644 --- a/src/portal/src/app/config/scanner/scanner-metadata/scanner-metadata.component.ts +++ b/src/portal/src/app/config/scanner/scanner-metadata/scanner-metadata.component.ts @@ -8,7 +8,7 @@ import { ScannerMetadata } from "../scanner-metadata"; import { DatePipe } from "@angular/common"; import { TranslateService } from "@ngx-translate/core"; import { ErrorHandler } from "../../../../lib/utils/error-handler"; -import { DATABASE_UPDATED_PROPERTY } from "../../../../lib/utils/utils"; +import {DATABASE_NEXT_UPDATE_PROPERTY, DATABASE_UPDATED_PROPERTY} from "../../../../lib/utils/utils"; @Component({ selector: 'scanner-metadata', @@ -34,14 +34,26 @@ export class ScannerMetadataComponent implements OnInit { }); } parseDate(item: any): string { - if (item && item.value && item.key === DATABASE_UPDATED_PROPERTY) { + if (this.hasValue(item) && this.hasDateValue(item)) { return new DatePipe(this.translate.currentLang).transform(item.value, 'short'); } - if (item && item.value) { + if (this.hasValue(item)) { return item.value; } return ''; } + hasValue(item: any): boolean { + return item && item.value; + } + hasDateValue(item: any): boolean { + switch (item.key) { + case DATABASE_UPDATED_PROPERTY: + case DATABASE_NEXT_UPDATE_PROPERTY: + return true; + default: + return false; + } + } toString(arr: string[]) { if (arr && arr.length > 0) { return "[" + arr.join(" , ") + "]"; diff --git a/src/portal/src/lib/utils/utils.ts b/src/portal/src/lib/utils/utils.ts index ef829a521..eac62db43 100644 --- a/src/portal/src/lib/utils/utils.ts +++ b/src/portal/src/lib/utils/utils.ts @@ -245,6 +245,7 @@ export const DEFAULT_SUPPORTED_MIME_TYPE = "application/vnd.scanner.adapter.vuln * the property name of vulnerability database updated time */ export const DATABASE_UPDATED_PROPERTY = "harbor.scanner-adapter/vulnerability-database-updated-at"; +export const DATABASE_NEXT_UPDATE_PROPERTY = "harbor.scanner-adapter/vulnerability-database-next-update-at"; /** * The state of vulnerability scanning