harbor-helm  by goharbor

Helm chart for deploying Harbor in a Kubernetes cluster

Created 7 years ago
1,361 stars

Top 29.6% 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

16 hours ago

Responsiveness

1 week

Pull Requests (30d)
21
Issues (30d)
20
Star History
21 stars in the last 30 days

Explore Similar Projects

Starred by Chip Huyen Chip Huyen(Author of "AI Engineering", "Designing Machine Learning Systems") and Philipp Schmid Philipp Schmid(DevRel at Google DeepMind).

production-stack by vllm-project

1.0%
2k
Reference stack for production vLLM deployment on Kubernetes
Created 8 months ago
Updated 2 days ago
Feedback? Help us improve.