Harbor Helm Chart

Harbor
Analyzed version: 11.0.2

By [riftbit]

Harbor is an an open source trusted cloud native registry project that stores, signs, and scans content

Prometheus, a CNCF project, is a systems and service monitoring system. It collects metrics from configured targets at given intervals, evaluates rule expressions, displays the results, and can trigger alerts if some condition is observed to be true.

This chart bootstraps a Prometheus deployment on a Kubernetes cluster using the Helm package manager.

Latest version: 15.5.3
View GitHub

How to Install the Harbor Helm Chart

Add Chart Repository to Helm

helm repo add riftbit https://charts.riftbit.com/

Install Chart

helm install my-harbor riftbit/harbor --version 11.0.2

Does the Harbor chart contain security gaps?

The chart meets the best practices recommended by the industry.

The chart contains 7 misconfigurations.

The chart meets the best practices recommended by the industry. Find the full list of best practices here.

❌ Ensure each container has a configured CPU request

10 occurrences:

  • metadata.name: release-name-harbor-chartmuseum (kind: Deployment)
  • metadata.name: release-name-harbor-core (kind: Deployment)
  • metadata.name: release-name-harbor-jobservice (kind: Deployment)
  • metadata.name: release-name-harbor-nginx (kind: Deployment)
  • metadata.name: release-name-harbor-notary-server (kind: Deployment)
  • metadata.name: release-name-harbor-notary-signer (kind: Deployment)
  • metadata.name: release-name-harbor-portal (kind: Deployment)
  • metadata.name: release-name-harbor-registry (kind: Deployment)
  • metadata.name: release-name-redis-master (kind: StatefulSet)

💡 Missing property object `requests.cpu` - value should be within the accepted boundaries recommended by the organization

Learn how to fix the issue here

❌ Ensure each container has a configured memory limit

11 occurrences:

  • metadata.name: release-name-harbor-chartmuseum (kind: Deployment)
  • metadata.name: release-name-harbor-core (kind: Deployment)
  • metadata.name: release-name-harbor-jobservice (kind: Deployment)
  • metadata.name: release-name-harbor-nginx (kind: Deployment)
  • metadata.name: release-name-harbor-notary-server (kind: Deployment)
  • metadata.name: release-name-harbor-notary-signer (kind: Deployment)
  • metadata.name: release-name-harbor-portal (kind: Deployment)
  • metadata.name: release-name-harbor-registry (kind: Deployment)
  • metadata.name: release-name-postgresql (kind: StatefulSet)
  • metadata.name: release-name-redis-master (kind: StatefulSet)

💡 Missing property object `limits.memory` - value should be within the accepted boundaries recommended by the organization

Learn how to fix the issue here

❌ Ensure each container has a configured CPU limit

11 occurrences:

  • metadata.name: release-name-harbor-chartmuseum (kind: Deployment)
  • metadata.name: release-name-harbor-core (kind: Deployment)
  • metadata.name: release-name-harbor-jobservice (kind: Deployment)
  • metadata.name: release-name-harbor-nginx (kind: Deployment)
  • metadata.name: release-name-harbor-notary-server (kind: Deployment)
  • metadata.name: release-name-harbor-notary-signer (kind: Deployment)
  • metadata.name: release-name-harbor-portal (kind: Deployment)
  • metadata.name: release-name-harbor-registry (kind: Deployment)
  • metadata.name: release-name-postgresql (kind: StatefulSet)
  • metadata.name: release-name-redis-master (kind: StatefulSet)

💡 Missing property object `limits.cpu` - value should be within the accepted boundaries recommended by the organization

Learn how to fix the issue here

❌ Prevent container security vulnerability (CVE-2021-25741)

36 occurrences:

  • metadata.name: release-name-harbor-chartmuseum (kind: Deployment)
  • metadata.name: release-name-harbor-core (kind: Deployment)
  • metadata.name: release-name-harbor-jobservice (kind: Deployment)
  • metadata.name: release-name-harbor-nginx (kind: Deployment)
  • metadata.name: release-name-harbor-notary-server (kind: Deployment)
  • metadata.name: release-name-harbor-portal (kind: Deployment)
  • metadata.name: release-name-harbor-registry (kind: Deployment)
  • metadata.name: release-name-postgresql (kind: StatefulSet)
  • metadata.name: release-name-redis-master (kind: StatefulSet)

💡 Forbidden property object `subPath` - malicious users can gain access to files & directories outside of the volume

Learn how to fix the issue here

❌ Prevent workload from using the default namespace

2 occurrences:

  • metadata.name: release-name-postgresql (kind: StatefulSet)
  • metadata.name: release-name-redis-master (kind: StatefulSet)

💡 Incorrect value for key `namespace` - use an explicit namespace instead of the default one (`default`)

Learn how to fix the issue here

❌ Prevent ConfigMap security vulnerability (CVE-2021-25742)

14 occurrences:

  • metadata.name: release-name-postgresql-extended-configuration (kind: ConfigMap)
  • metadata.name: release-name-postgresql-init-scripts (kind: ConfigMap)
  • metadata.name: release-name-redis-configuration (kind: ConfigMap)
  • metadata.name: release-name-redis-health (kind: ConfigMap)
  • metadata.name: release-name-redis-scripts (kind: ConfigMap)
  • metadata.name: release-name-harbor-chartmuseum-envvars (kind: ConfigMap)
  • metadata.name: release-name-harbor-core-envvars (kind: ConfigMap)
  • metadata.name: release-name-harbor-core (kind: ConfigMap)
  • metadata.name: release-name-harbor-jobservice-envvars (kind: ConfigMap)
  • metadata.name: release-name-harbor-jobservice (kind: ConfigMap)
  • metadata.name: release-name-harbor-nginx (kind: ConfigMap)
  • metadata.name: release-name-harbor-portal (kind: ConfigMap)
  • metadata.name: release-name-harbor-registry (kind: ConfigMap)
  • metadata.name: release-name-harbor-trivy-envvars (kind: ConfigMap)

💡 Missing property object `allow-snippet-annotations` - set it to "false" to override default behaviour

Learn how to fix the issue here

❌ Ensure each container has a configured memory request

10 occurrences:

  • metadata.name: release-name-harbor-chartmuseum (kind: Deployment)
  • metadata.name: release-name-harbor-core (kind: Deployment)
  • metadata.name: release-name-harbor-jobservice (kind: Deployment)
  • metadata.name: release-name-harbor-nginx (kind: Deployment)
  • metadata.name: release-name-harbor-notary-server (kind: Deployment)
  • metadata.name: release-name-harbor-notary-signer (kind: Deployment)
  • metadata.name: release-name-harbor-portal (kind: Deployment)
  • metadata.name: release-name-harbor-registry (kind: Deployment)
  • metadata.name: release-name-redis-master (kind: StatefulSet)

💡 Missing property object `requests.memory` - value should be within the accepted boundaries recommended by the organization

Learn how to fix the issue here

This is some text inside of a div block.
This is some text inside of a div block.

Reveal misconfigurations within minutes

3 Quick Steps to Get Started