Harbor
Harbor is an open-source registry for container images and other Open Container Initiative artifacts. It adds access control, security checks, replication, and lifecycle management around the storage used by build and deployment systems.
itCloud native tools and technologies | OpenSkills.info
Course pathWalk it in order
Look it upDip in anytime
Go furtherLeaves this page
Don't Panic
Don't Panic — Harbor
A container registry is a warehouse for container images and other artifacts. Build systems put things in; deployment systems take things out. Without any governance layer, that handoff is a crowd of unnamed people pushing and pulling from the same shelf. Harbor is the open-source registry that adds project boundaries, access control, vulnerability scanning, artifact signing, replication, and lifecycle policy on top of the standard OCI registry protocol.
The problem it solves is that a bare registry stores content but makes no decisions about who may push, who may pull, which artifacts carry known risk, or what should be deleted when it is no longer needed. Before Harbor, teams that needed those controls either bolted them together from separate tools or asked a cloud provider to handle it. Harbor bundles them into a single self-hosted service with a consistent API and web portal.
Everything else hangs off one idea: the project. A Harbor project is a namespace that groups repositories and applies its own access roles, scanning policy, retention rules, and quotas. If you understand that the project is the authorization boundary, the rest of the architecture makes sense. A robot account is a non-human identity scoped to one project. Tag immutability prevents a release tag from being overwritten by a later push. Garbage collection reclaims storage from blobs that no manifest references. None of these features is complicated in isolation; the difficulty is keeping them aligned so that a change in one area does not silently undermine another.
The thing that surprises most newcomers is that scanning and signing answer different questions. A vulnerability scan tells you what a scanner recognizes in the artifact's dependencies. Artifact signing with Cosign or Notation binds a digest to a trust policy. A clean scan does not make a signature unnecessary, and a valid signature does not mean the scan is clean. Teams that treat either one as sufficient discover the gap when an incident requires both provenance and vulnerability evidence.
If you are evaluating whether Harbor fits, read the Landscape tab for the market around self-hosted and cloud-managed registries. The Cheatsheet tab is the dense reference you will reach for when configuring projects, scanner adapters, or replication rules. The Quiz tab tests whether the mental model actually stuck. And the Timeline tab traces the decisions that turned a VMware internal project into a CNCF-graduated registry.
Where this skill leads
Relevant careers
See how this topic contributes to broader role-level skill maps.
Sources
- https://goharbor.io/docs/main/
Supports
- Harbor v2.15 documentation scope and current operational categories
- Installation, administration, project, and contributor learning path
- https://github.com/goharbor/harbor
Supports
- Harbor as an open-source cloud-native registry that stores, signs, and scans content
- Distribution foundation, role-based access, replication, audit, portal, API, and deployment features
- Harbor project release and security resources
- https://github.com/goharbor/harbor/wiki/Architecture-Overview-of-Harbor
Supports
- OCI artifact support and registry client interactions
- Proxy, core, token service, registry, job service, portal, PostgreSQL, Redis, and storage responsibilities
- Authentication, authorization, token issuance, scanning, replication, and artifact metadata flow
- https://goharbor.io/docs/main/install-config/
Supports
- Docker Compose and Helm deployment paths
- HTTPS, configuration, lifecycle, and troubleshooting responsibilities
- https://goharbor.io/docs/main/install-config/configure-yml-file/
Supports
- Hostname, HTTPS, storage backend, external PostgreSQL, external Redis, job worker, metrics, tracing, and logging configuration
- Relationship between Harbor components and external dependencies
- https://goharbor.io/docs/main/install-config/harbor-ha-helm/
Supports
- Multiple replicas for stateless Harbor components
- Highly available ingress, PostgreSQL, Redis, and shared persistent or object storage requirements
- Helm deployment model for Harbor on Kubernetes
- https://goharbor.io/docs/main/working-with-projects/create-projects/
Supports
- Projects as repository groups and role-based access boundaries
- Public and private project pull behavior
- Requirement to create a project before pushing an image
- https://goharbor.io/docs/main/working-with-projects/project-configuration/
Supports
- Public and private project configuration
- Scan-on-push and vulnerability-severity pull prevention
- Project build-history and security settings
- https://goharbor.io/docs/main/working-with-projects/project-configuration/create-robot-accounts/
Supports
- Project robot accounts for non-human OCI client and API automation
- Project scope, permissions, expiration, secret export, refresh, and interface restrictions
- Difference between project and system robot accounts
- https://goharbor.io/docs/main/working-with-projects/working-with-oci/
Supports
- Harbor workflows for OCI artifacts including OCI Helm charts and user-defined artifacts
- https://goharbor.io/docs/main/working-with-projects/working-with-images/create-tag-immutability-rules/
Supports
- Difference between movable tags and stable digests
- Project-level immutability rules and protected artifact behavior
- Immutability across push, retag, delete, and replication operations
- https://goharbor.io/docs/main/working-with-projects/working-with-images/create-tag-retention-rules/
Supports
- Repository, quantity, age, pull, and tag retention criteria
- Retention dry runs, schedules, rule behavior, and irreversible execution warning
- Interaction among artifact tags, retention, and quotas
- https://goharbor.io/docs/main/administration/vulnerability-scanning/
Supports
- Manual, bulk, and scheduled vulnerability scans
- Multiple scanner adapters and variation among vulnerability data and severity
- Vulnerability report export and offline vulnerability-data import
- https://goharbor.io/docs/main/working-with-projects/working-with-images/sign-images/
Supports
- Harbor integration with Cosign and Notation
- Artifact signatures as accessories and project content-trust enforcement
- Signing and verification workflow for artifact digests
- https://goharbor.io/docs/main/administration/configuring-replication/create-replication-endpoints/
Supports
- Remote registry provider, URL, credential, certificate, and connection configuration
- Least-privilege and trusted-upstream considerations
- Harbor and supported non-Harbor replication endpoints
- https://goharbor.io/docs/main/administration/configuring-replication/create-replication-rules/
Supports
- Push and pull replication, filters, destination namespace, and override behavior
- Manual, scheduled, and event-based triggers
- Replication execution and concurrency controls
- https://goharbor.io/docs/main/administration/configure-proxy-cache/
Supports
- Pull-triggered retrieval and caching of upstream registry content
- Trusted endpoint, least-privilege credential, and proxy project retention guidance
- Difference between proxy caching and explicit replication
- https://goharbor.io/docs/main/administration/garbage-collection/
Supports
- Artifact deletion not immediately freeing storage
- Removal of blobs no longer referenced by manifests
- Dry run, scheduling, execution history, and task behavior
- https://goharbor.io/docs/main/administration/
Supports
- Authentication, quotas, replication, scanning, metrics, tracing, audit, cleanup, backup, and upgrade responsibilities
- Harbor system administrator operating scope
- https://goharbor.io/docs/main/administration/audit-log/
Supports
- Audit records for artifact, user, configuration, project, and robot actions
- Audit querying, forwarding, and database storage choices
- https://goharbor.io/docs/main/administration/upgrade/
Supports
- Version-specific upgrade and migration planning
- Database schema migration and backup requirements
- https://github.com/sindresorhus/awesome
Supports
- Required starting point for awesome-list discovery
- Discovery of the Linux Containers and DevSecOps awesome lists
- https://github.com/Friz-zy/awesome-linux-containers
Supports
- Curated discovery of Skopeo, go-containerregistry, Buildah, and umoci
- Placement of those tools in the container image and registry ecosystem
- https://github.com/JakobTheDev/awesome-devsecops
Supports
- Curated discovery of Trivy, Sigstore, and Syft
- Placement of scanning, signing, and software bill of materials tools in DevSecOps
- https://github.com/podman-container-tools/skopeo
Supports
- Daemonless inspection, copying, deletion, and synchronization of registry images
- Remote registry authentication and OCI image support
- https://github.com/google/go-containerregistry
Supports
- Go libraries for container image and registry operations
- crane as a command-line tool for remote images and registries
- https://buildah.io/
Supports
- Building OCI container images without a full container runtime or daemon
- Current project release and learning resources
- https://umo.ci/
Supports
- OCI image layout modification, unpacking, repacking, tagging, configuration, and cleanup
- Command-line stability and quick-start documentation
- https://trivy.dev/docs/latest/getting-started/
Supports
- Container image vulnerability scanning
- Filesystem and Kubernetes scanning for vulnerabilities, secrets, and misconfigurations
- https://docs.sigstore.dev/
Supports
- Cosign signing and verification for container images and other artifacts
- Identity-based short-lived certificates and transparency-log evidence
- https://oss.anchore.com/docs/guides/sbom/
Supports
- Software bill of materials generation from images, registries, directories, files, and archives
- SPDX, CycloneDX, native JSON, and attestation workflows
- https://www.cncf.io/reports/harbor-project-journey-report
Supports
- Harbor created at VMware China in 2014, first commit February 1 2016
- CNCF acceptance July 31 2018, incubating November 14 2018, graduated June 15 2020
- Contributor growth, geographic diversity, and development velocity milestones
- https://www.cncf.io/projects/harbor
Supports
- CNCF Sandbox, Incubating, and Graduated dates
- Harbor classification as an open source trusted cloud native registry
- https://endoflife.date/harbor
Supports
- Release dates for Harbor 1.9 through 2.15 series
- Support window and upgrade policy documentation
- https://github.com/goharbor/harbor/releases
Supports
- Detailed release notes and changelogs for each Harbor version
- Component updates, bug fixes, and feature additions per release
- https://kanywst.github.io/cncf-atlas/tools/harbor/history
Supports
- Harbor history as first open-source registry to reach CNCF Graduated
- First CNCF Graduated project originating in China
- https://appsecsanta.com/harbor
Supports
- Trivy as default scanner since Harbor v2.2 replacing Clair
- SBOM generation in v2.11, OCI Distribution Spec v1.1.0 support
- Harbor operational limitations and comparison with managed registries
- https://goharbor.io/blog/harbor-2.11/
Supports
- SBOM generation and management features in Harbor 2.11
- OCI Distribution Specification v1.1.0 support
- VolcEngine registry integration
- https://hub.docker.com/
Supports
- Docker Hub as the largest public container image library
- Rate limiting and hosting model for public and private repositories
- https://aws.amazon.com/ecr/
Supports
- AWS managed OCI registry with IAM integration
- ECS and EKS pull optimization and lifecycle policies
- https://cloud.google.com/artifact-registry
Supports
- Google Cloud universal artifact service for OCI, Maven, npm, PyPI
- GKE integration and multi-format support
- https://azure.microsoft.com/en-us/products/container-registry
Supports
- Azure managed registry with ACR Tasks for image building
- Premium tier geo-replication and content trust features
- https://jfrog.com/artifactory/
Supports
- Universal repository manager covering 30-plus package formats
- Enterprise artifact governance across multiple content types
- https://docs.github.com/en/packages/working-with-a-github-packages-registry/working-with-the-container-registry
Supports
- GitHub Container Registry integration with Actions and repository permissions
- Code-platform native container image hosting
- https://docs.gitlab.com/ee/user/packages/container_registry/
Supports
- GitLab built-in container registry alongside source control and CI
- Repository-level access and image lifecycle management
- https://www.quay.io/
Supports
- Red Hat container registry focused on image scanning and security
- Open-core model with community and enterprise editions
- https://distribution.github.io/distribution/
Supports
- Docker Distribution registry implementation that Harbor wraps
- Low-level OCI push and pull without organizational governance
