1. Images & Charts
  2. harbor-trivy-adapter
harbor-trivy-adapter

harbor-trivy-adapter

Data
Updated 23 hours ago

Harbor-Trivy-Adapter Overview

Secure your stack with a hardened Harbor-Trivy-Adapter image freshly-built by Minimus. Minimus images always include the most up-to-date package version for all packages and dependencies.


Harbor-Trivy-Adapter is the vulnerability scanning component for Harbor. It integrates Trivy as a pluggable scanner, enabling on-demand and policy-driven vulnerability scans for container images stored in Harbor.


Try It Out

Prerequisites

  • A running Kubernetes cluster (v1.21 or higher is recommended)
  • Helm v3.8 or higher for OCI support (Installation instructions)
  • kubectl installed and configured

Step 1: Start Cluster

If you have a cluster to work with, skip this step. Otherwise, start a Minikube cluster. Deployment instructions

Step 2: Add Repository to your Local Client

Add the Helm chart to your local Helm client.

helm repo add harbor https://helm.goharbor.io
helm repo update

Step 3: Create Namespace

Create a namespace:

kubectl create ns harbor

Step 4: Save Values File Locally

Save the file below as values.yaml. This configuration enables the Trivy scanner and points all Harbor images to the Minimus registry:

# Matches the port-forward target in Step 6 so Harbor generates correct URLs
externalURL: http://localhost:18080

nginx:
  image:
    repository: reg.mini.dev/harbor-nginx
    tag: latest

portal:
  image:
    repository: reg.mini.dev/harbor-portal
    tag: latest

core:
  image:
    repository: reg.mini.dev/harbor-core
    tag: latest

jobservice:
  image:
    repository: reg.mini.dev/harbor-jobservice
    tag: latest

registry:
  registry:
    image:
      repository: reg.mini.dev/harbor-registry
      tag: latest
  controller:
    image:
      repository: reg.mini.dev/harbor-registryctl
      tag: latest

database:
  internal:
    image:
      repository: reg.mini.dev/harbor-db
      tag: latest

trivy:
  enabled: true
  image:
    repository: reg.mini.dev/harbor-trivy-adapter
    tag: latest

redis:
  internal:
    image:
      repository: reg.mini.dev/harbor-redis
      tag: latest

metrics:
  enabled: true

exporter:
  image:
    repository: reg.mini.dev/harbor-exporter
    tag: latest

Render the chart locally with the overrides to confirm Minimus images will be deployed:

helm template harbor -f values.yaml harbor/harbor | grep "image:" | sort -u

Step 5: Deploy the Helm Chart

Deploy the Harbor Helm chart with the values.yaml file you saved in the previous step:

helm upgrade --install harbor -f values.yaml harbor/harbor -n harbor

Step 6: Verify Harbor-Trivy-Adapter

Confirm the Trivy adapter pod is running and ready:

kubectl get pods -n harbor -l component=trivy

Port-forward the core service and trigger a scan via the Harbor API:

kubectl port-forward -n harbor svc/harbor-core 18080:80

Run in another terminal to check the scanner is registered:

curl -s -u admin:Harbor12345 http://localhost:18080/api/v2.0/scanners | python -m json.tool

You should see Trivy listed as the default scanner.

Clean Up

helm uninstall harbor -n harbor
kubectl delete ns harbor

Technical Considerations

The Harbor-Trivy-Adapter image provided by Minimus is a slim, security-hardened alternative to the public image from Docker Hub. The images are largely interchangeable, with a few differences as noted below.

Harbor-Trivy-Adapter built by Minimus:

  1. Runs as non-root by default for a security-first approach that protects against privilege escalation attacks.
  2. Drill down on the version specification tab to see the default user, listening ports, entrypoint, volumes, environment variables, etc.

The Payoff

A hardened, minimal image that will remain more secure for the long run and accrue vulnerabilities at a slower rate.


Terms & Info

Trademark

This catalog is published by Minimus. All product names, logos, and marks, other than those belonging to Minimus, shown are owned by their respective rights holders and appear here only to identify the open source software each image contains. Minimus claims no ownership of those marks and implies no affiliation with, endorsement by, certification by, or sponsorship by any rights holder.

Disclaimer

Images are provided "as-is" without warranty of any kind. "Hardened" refers to the security configuration applied at the time of build and does not constitute a guarantee of ongoing security or absence of vulnerabilities. The free tier is provided without support, SLA, or guaranteed patching timelines. Security updates may be applied to paid subscriptions before or instead of free tier images. By pulling or using any image you agree to our Terms of Use.