harbor

module
v1.8.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 17, 2019 License: Apache-2.0

README

Harbor

Build Status Coverage Status Go Report Card CII Best Practices Codacy Badge Nightly Status


notificationCommunity Meeting
The Harbor Project holds bi-weekly community calls, to join them and watch previous meeting notes and recordings, please see meeting schedule.

Welcome to join below Harbor community events and meet with project maintainers and users:

May 20-24, 2019, KubeCon EU, Barcelona: Harbor Community Reception, Intro and Deep-dive sessions.

June 24-26, 2019, KubeCon Shanghai: Harbor community meetup, Harbor session.

Note: The master branch may be in an unstable or even broken state during development. Please use releases instead of the master branch in order to get stable binaries.

Harbor

Harbor is an an open source trusted cloud native registry project that stores, signs, and scans content. Harbor extends the open source Docker Distribution by adding the functionalities usually required by users such as security, identity and management. Having a registry closer to the build and run environment can improve the image transfer efficiency. Harbor supports replication of images between registries, and also offers advanced security features such as user management, access control and activity auditing.

Harbor is hosted by the Cloud Native Computing Foundation (CNCF). If you are an organization that wants to help shape the evolution of cloud native technologies, consider joining the CNCF. For details about who's involved and how Harbor plays a role, read the CNCF announcement.

Features

  • Cloud native registry: With support for both container images and Helm charts, Harbor serves as registry for cloud native environments like container runtimes and orchestration platforms.
  • Role based access control: Users and repositories are organized via 'projects' and a user can have different permission for images under a project.
  • Policy based image replication: Images can be replicated (synchronized) between multiple registry instances based on policies with multiple filters (repository, tag and label). Harbor will auto-retry to replicate if it encounters any errors. Great for load balancing, high availability, multi-datacenter, hybrid and multi-cloud scenarios.
  • Vulnerability Scanning: Harbor scans images regularly and warns users of vulnerabilities.
  • LDAP/AD support: Harbor integrates with existing enterprise LDAP/AD for user authentication and management, and supports importing LDAP groups into Harbor and assigning proper project roles to them.
  • Image deletion & garbage collection: Images can be deleted and their space can be recycled.
  • Notary: Image authenticity can be ensured.
  • Graphical user portal: User can easily browse, search repositories and manage projects.
  • Auditing: All the operations to the repositories are tracked.
  • RESTful API: RESTful APIs for most administrative operations, easy to integrate with external systems.
  • Easy deployment: Provide both an online and offline installer.

Install & Run

System requirements:

On a Linux host: docker 17.03.0-ce+ and docker-compose 1.18.0+ .

Download binaries of Harbor release and follow Installation & Configuration Guide to install Harbor.

If you want to deploy Harbor on Kubernetes, please use the Harbor chart.

Refer to User Guide for more details on how to use Harbor.

Community

Additional Tools

Tools layered on top of Harbor and contributed by community.

  • Harbor.Tagd
    • Automates the process of cleaning up old tags from your Harbor container registries.
    • Lead by @nlowe from HylandSoftware.

Demos

  • Live Demo - A demo environment with the latest Harbor stable build installed. For additional information please refer to this page.
  • Video Demos - Demos for Harbor features and continuously updated.

Partners and Users

For a list of users, please refer to ADOPTERS.md.

License

Harbor is available under the Apache 2 license.

This project uses open source components which have additional licensing terms. The official docker images and licensing terms for these open source components can be found at the following locations:

Directories

Path Synopsis
src
common/config/metadata
Package metadata define config related metadata
Package metadata define config related metadata
common/config/store
Package store is only used in the internal implement of manager, not a public api.
Package store is only used in the internal implement of manager, not a public api.
common/config/store/driver
Package driver provide the implementation of config driver used in CfgManager
Package driver provide the implementation of config driver used in CfgManager
core/config
Package config provide config for core api and other modules Before accessing user settings, need to call Load() For system settings, no need to call Load()
Package config provide config for core api and other modules Before accessing user settings, need to call Load() For system settings, no need to call Load()
core/utils
Package utils contains methods to support security, cache, and webhook functions.
Package utils contains methods to support security, cache, and webhook functions.
jobservice/common/utils
Package utils provides reusable and sharable utilities for other packages and components.
Package utils provides reusable and sharable utilities for other packages and components.
jobservice/config
Package config provides functions to handle the configurations of job service.
Package config provides functions to handle the configurations of job service.
jobservice/core
Package core provides the main job operation interface and components.
Package core provides the main job operation interface and components.
jobservice/errs
Package errs define some system errors with specified types.
Package errs define some system errors with specified types.
jobservice/tests
Package tests provide test utilities
Package tests provide test utilities
tests
apitests/apilib
Package apilib These APIs provide services for manipulating Harbor project.
Package apilib These APIs provide services for manipulating Harbor project.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL