Harbor

Harbor est un registre conteneur open source et de confiance pour le cloud natif, qui stocke, signe et analyse les images conteneurs et les charts Helm. Initialement développé par VMware, Harbor est désormais un projet gradué de la Cloud Native Computing Foundation (CNCF). Il étend le projet open source Docker Distribution en ajoutant les fonctionnalités de sécurité, de gestion d’identité et de politiques dont les entreprises ont besoin en production.

Présentation

Harbor a été créé par VMware en 2016 pour fournir un registre conteneur de qualité entreprise. Il a été donné à la CNCF en 2018 comme projet sandbox, est devenu projet incubé en 2019, et a obtenu le statut de projet gradué en 2020. La version stable actuelle est v2.15.2 (juin 2026). Harbor est largement utilisé comme registre conteneur privé dans les environnements Kubernetes, offrant des fonctionnalités absentes du registre Docker de base : analyse de vulnérabilités, RBAC, signature d’images, réplication et journalisation d’audit.

Fonctionnalités principales

  • Registre cloud natif : Supporte les images conteneurs (OCI/Docker) et les charts Helm comme artefacts de première classe
  • Contrôle d’accès basé sur les rôles (RBAC) : Permissions par projet avec rôles utilisateur, mainteneur, admin de projet et admin système
  • Réplication par politiques : Réplication d’images et charts entre instances Harbor avec filtres par tag/dépôt/label. Supporte la réplication vers et depuis Docker Hub, Amazon ECR, Azure ACR, Google GCR, etc.
  • Analyse de vulnérabilités : Intégration native avec Trivy et Clair pour l’analyse des images contre les bases de données CVE. Blocage par politique des images vulnérables
  • Signature d’images (Notary) : Support Docker Content Trust via Notary pour l’authenticité et la provenance. Peut imposer des politiques empêchant le déploiement d’images non signées
  • Authentification OIDC et LDAP/AD : Intégration d’identité entreprise avec OpenID Connect, LDAP et Active Directory
  • Garbage collection : Nettoyage automatisé des blobs et manifests non référencés
  • Journalisation d’audit : Piste d’audit complète de toutes les opérations (push, pull, delete, scan)
  • API RESTful avec Swagger : API complète pour les opérations d’administration et les intégrations
  • Dépôt de charts Helm : Stockage et distribution natifs de charts Helm aux côtés des images conteneurs
  • Gestion des quotas : Quotas de stockage et limites par projet
  • Portail graphique : Interface web pour parcourir, rechercher et gérer les projets et dépôts
  • Multiples backends de stockage : Système de fichiers local, S3, Azure Blob, GCS, OBS, COS, etc.
  • Tags immuables : Empêche l’écrasement d’images taguées pour la sécurité de la chaîne d’approvisionnement

Stack technique

  • Langage : Go (backend), Angular (frontend)
  • Base de données : PostgreSQL
  • Noyau du registre : Docker Distribution (implémentation de référence open source)
  • Scanners de vulnérabilités : Trivy (par défaut), Clair (optionnel)
  • Signature : Notary v1 (Docker Content Trust)
  • Architecture : Microservices avec reverse proxy (NGINX), serveur API principal, service de jobs et registre
  • Déploiement : Docker Compose, Helm chart pour Kubernetes, Harbor Operator
  • API : API RESTful avec Swagger UI intégré

Licence

Harbor est entièrement open source sous Apache License 2.0. Il n’existe pas d’édition commerciale ni de niveau entreprise. Toutes les fonctionnalités sont disponibles dans la version open source. Harbor est un projet gradué de la CNCF, garantissant une gouvernance indépendante des fournisseurs.

Tarification

Edition Coût Notes
Harbor (OSS) Gratuit Toutes les fonctionnalités incluses. Support communautaire via Slack, GitHub et listes de diffusion.

Harbor est 100 % gratuit et open source. Il n’existe pas d’édition payante.

Auto-hébergement

Oui, Harbor est conçu pour l’auto-hébergement et est entièrement gratuit. Il peut être déployé via Docker Compose sur un serveur unique, ou sur Kubernetes avec le Helm chart officiel ou le Harbor Operator. Harbor fonctionne sur n’importe quelle infrastructure Linux avec Docker et Docker Compose (ou Kubernetes). Il supporte de multiples backends de stockage incluant le système de fichiers local, le stockage objet S3-compatible, Azure Blob Storage et Google Cloud Storage.

Ressources officielles

Liens connexes