harbor-helm  by goharbor

Helm chart for deploying Harbor in a Kubernetes cluster

created 7 years ago
1,328 stars

Top 30.9% on sourcepulse

GitHubView on GitHub
Project Summary

This Helm chart provides a comprehensive deployment solution for Harbor, an open-source container image registry, within a Kubernetes cluster. It is designed for DevOps engineers and Kubernetes administrators seeking to manage and secure container images. The chart offers extensive customization for networking, persistence, security, and component configurations, enabling robust and scalable Harbor deployments.

How It Works

The chart leverages Helm, a package manager for Kubernetes, to define and deploy Harbor. It orchestrates the creation of necessary Kubernetes resources such as Deployments, Services, StatefulSets, PersistentVolumeClaims, and Ingresses. The configuration is highly modular, allowing users to tailor aspects like service exposure (Ingress, NodePort, LoadBalancer), data persistence (local volumes, cloud storage), internal TLS, and component-specific settings (core, registry, jobservice, Trivy scanner).

Quick Start & Requirements

  • Installation: helm install my-release harbor/harbor
  • Prerequisites: Kubernetes cluster 1.20+, Helm v3.2.0+
  • Configuration: Customize values.yaml or use --set flags for parameters like expose.type, persistence.imageChartStorage.type, and externalURL.
  • Documentation: Refer to the official Harbor Helm chart documentation for detailed configuration options and best practices.

Highlighted Details

  • Supports multiple service exposure methods: Ingress, ClusterIP, NodePort, and LoadBalancer.
  • Offers flexible persistence options, including dynamic provisioning via StorageClass, existing PVCs, and external cloud storage (S3, GCS, Azure, Swift, OSS) for images and charts.
  • Integrates Trivy for vulnerability scanning, with configurable scan types and severity levels.
  • Provides options for internal TLS management (auto-generation or using existing secrets) and external URL configuration.

Maintenance & Community

This chart is part of the GoHarbor project, a community-driven initiative. Development activity and community support can be found on the GoHarbor GitHub repository and associated channels.

Licensing & Compatibility

The chart itself is typically distributed under a permissive license (e.g., Apache 2.0), but the underlying Harbor components are subject to their own licenses. Compatibility for commercial use depends on the specific Harbor components and their licenses.

Limitations & Caveats

The master branch is noted as being under heavy development; stable versions are recommended. The chart's default image tags (dev) may not be suitable for production environments, requiring explicit version pinning. Advanced configurations, especially around TLS and external storage, require careful attention to detail.

Health Check
Last commit

3 days ago

Responsiveness

Inactive

Pull Requests (30d)
6
Issues (30d)
6
Star History
55 stars in the last 90 days

Explore Similar Projects

Feedback? Help us improve.