Vibeleaderboard
Index / tool
Visit goharbor.io
Category
Developer Tools
Rank
Pricing
Open Source
Type
TOOL
Builder
goharbor
Latest release
v2.15.2
Date

About

An open source cloud native registry that stores, signs, and scans container images and Helm charts. It extends Docker Distribution with enterprise features like security scanning, access control, replication, and user management for container environments.

What it does

Harbor gives teams a governed home for software artifacts. Administrators divide repositories into projects, assign permissions, connect corporate identity, synchronize content across sites, and expose artifacts through a web portal and APIs. Automated checks can block vulnerable or unsigned images before deployment.

Why it's ranked here

Harbor makes a strong case for organizations running private container infrastructure across teams or locations. Its combination of project-level permissions, LDAP and OpenID Connect integration, policy-driven replication, vulnerability gates, audit logs, garbage collection, and programmable administration covers unusually broad operational ground.

What's good

Replication policies filter by repository, tag, and label, retry failures automatically, and support multi-site deployments. Security controls reach beyond scanning: Harbor can reject vulnerable or unsigned images. The embedded Swagger interface, graphical portal, audit trail, Prometheus metrics, and REST API give operators several practical ways to manage and observe it.

Tradeoffs

This is a multi-service system, not a lightweight registry process. It includes core, job, registry control, database, cache, proxy, portal, and optional scanning or metrics components. Linux installation requires Docker and Compose, while Kubernetes uses a separate chart. The project also warns that its main development branch may be unstable or broken, so operators should consume releases.

How to use it well

Use Harbor when several teams need controlled artifact distribution, corporate authentication, security policy, auditing, or replication between data centers and clouds. Place it near build and runtime environments to reduce image-transfer distance. Prefer signed release installers or the Kubernetes chart. It does not replace container runtimes or orchestration platforms; it supplies artifacts and policy controls to them.

Technical notes+

The Makefile builds separate Go binaries and container images for core, job service, registry control, database migration, and exporting, plus an Angular portal. src/core/main.go initializes Redis-backed caching and sessions, PostgreSQL migrations, authentication providers, scanning, auditing, tracing, metrics, notifications, and graceful shutdown. src/server/server.go mounts service, UI, OCI registry, and versioned API routes. src/jobservice/main.go runs background work through a dedicated runtime, while src/registryctl/main.go wraps registry storage drivers including filesystem, Azure, GCS, S3, Swift, and OSS. src/cmd/exporter/main.go exposes Prometheus collectors, and src/portal/app-swagger-ui/src/index.js renders the administrative API with CSRF handling.

Observed

License
Apache License 2.0
Primary language
Go, with an Angular and TypeScript web portal
Install surface
Release binaries for Docker Compose on Linux, plus a separate Helm chart for Kubernetes
Interfaces
Graphical web portal, REST API, embedded Swagger UI, and OCI registry APIs
Identity support
LDAP, Active Directory, and OpenID Connect
Observability
Audit logs, health checks, tracing initialization, and Prometheus metrics
Packaging structure
Separate core, job service, registry controller, exporter, database migrator, and portal components

Read from README.md, Makefile, src/core/main.go, src/server/server.go, src/jobservice/main.go, src/registryctl/main.go, src/portal/src/main.ts, src/cmd/exporter/main.go, src/lib/metric/server.go, src/jobservice/api/server.go, src/cmd/standalone-db-migrator/main.go, src/portal/src/app/index.ts, src/portal/app-swagger-ui/src/index.js, src/portal/server/controllers/index.ts, src/controller/artifact/manifest/index.go.

What it can do

  • Store container images and Helm charts

    Container images and Helm chartsStored registry artifacts

  • Digitally sign container images

    Container imagesCryptographically signed container images

  • Scan container images for vulnerabilities

    Container imagesVulnerability scan reports

  • Control access to registry resources

    User credentials and permission policiesAuthorized or denied access to container images and charts

  • Replicate container images across registries

    Container images and replication policiesSynchronized container images in target registries

  • Manage user accounts and authentication

    User information and authentication credentialsUser accounts with authentication tokens

Intel on Harbor

More in Intel

Tags

containersregistrydockerkubernetesdevopssecuritycloud-native

Media

Harbor

Comments (0)

No comments yet

Editorially curated, with community endorsements as a secondary signal. Corrections welcome.