GithubHelp home page GithubHelp logo

vuil / harbor Goto Github PK

View Code? Open in Web Editor NEW

This project forked from goharbor/harbor

0.0 3.0 0.0 29.99 MB

An enterprise-class container registry server based on Docker Distribution

Home Page: http://vmware.github.io/harbor/

License: Other

Makefile 1.56% Shell 1.52% Python 4.86% Smarty 0.27% Go 49.47% JavaScript 28.38% CSS 1.50% HTML 12.43%

harbor's Introduction

Harbor

Build Status Coverage Status

Harbor

Project Harbor is an enterprise-class registry server that stores and distributes Docker images. Harbor extends the open source Docker Distribution by adding the functionalities usually required by an enterprise, such as security, identity and management. As an enterprise private registry, Harbor offers better performance and security. Having a registry closer to the build and run environment improves the image transfer efficiency. Harbor supports the setup of multiple registries and has images replicated between them. In addition, Harbor offers advanced security features, such as user management, access control and activity auditing.

Features

  • 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. Great for load balancing, high availability, multi-datacenter, hybrid and multi-cloud scenarios.
  • LDAP/AD support: Harbor integrates with existing enterprise LDAP/AD for user authentication and management.
  • Image deletion & garbage collection: Images can be deleted and their space can be recycled.
  • 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. Besides, a virtual appliance for vSphere platform (OVA) is available.

Install & Run

System requirements:

On a Linux host: docker 1.10.0+ and docker-compose 1.6.0+ .

On vSphere: vCenter 5.5+ for deployment of Harbor's virtual appliance.

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

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

Community

Slack: Join Harbor's community here: VMware {code}, Channel: #harbor.
Email: harbor@ vmware.com .
WeChat Group: Add WeChat id connect1688 to join WeChat discussion group.
More info on partners and users.

Contribution

We welcome contributions from the community. If you wish to contribute code and you have not signed our contributor license agreement (CLA), our bot will update the issue when you open a pull request. For any questions about the CLA process, please refer to our FAQ. Contact us for any questions: harbor @vmware.com .

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:

harbor's People

Contributors

reasonerjt avatar wknet123 avatar ywk253100 avatar hainingzhang avatar wemeya avatar huay-github avatar saga92 avatar xiahaoshawn avatar wy65701436 avatar erkak avatar hmwenchen avatar perhapszzy avatar rikatz avatar senk avatar alexzeitler avatar redkafei avatar scorpiocph avatar int32bit avatar tobegit3hub avatar vuil avatar feilengcui008 avatar liubin avatar alanwooo avatar nagarjung avatar mengyaz21 avatar xuxinkun avatar supereagle avatar maxwell92 avatar harryge00 avatar fsword avatar

Watchers

James Cloos avatar  avatar  avatar

harbor's Issues

HA: enable restarting of another harbor instance

(if issue is a bug, include steps to repro: env settings, branch/commit, etc, where relevant)

Provide a means to take over the management of the lwraft root_dir / and s3 image bits from a failed harbor instance

Implement authorization via lw oidc

Read project membership and role from oidc token.
Populate said data in etcd if not present already
Sync back updated role information on-demand to the db cache, when a user logs in.

Bug: Unable to add user from browser

(if issue is a bug, include steps to repro: env settings, branch/commit, etc, where relevant)

user-related view breaks if there isn't at least one non-admin user in system
(have not tried if reproduceable on sqlite db backend)

UI updates and changes

sync changes from vmware/harbor, and build new version of UI and see if new features warrant changes to our implementation.
modify UI build to conditionally

  • disable user creation (since this goes through LW now)
  • disable repo replication

Add harbor RPM build target

(if issue is a bug, include steps to repro: env settings, branch/commit, etc, where relevant)

rpm need to handle config, start, update/restart
will be used to install/update on photon OS VM on which harbor is deployed
also

  • bundle schema in rpm
  • include the schema update script

Bug: Log container does not come up

In the AWS environment, the Harbor log container fails to startup which fails the entire deployment. It is a transient issue and is solved by rerunning docker-compose up

QB In support

Implementation of IN for QueryBuilder, SQL and LWRaft

Update implementation for QB

Implement the Update routine for the Query Builder interface. It is to be used to replace the mutators for updating data.

Bug: Issue during harbor restart

(if issue is a bug, include steps to repro: env settings, branch/commit, etc, where relevant)
How was the restart accomplished?
Need more info on this.

Update to use CAS

Use CAS to do conditional write of gid. Check if feature is in lwraft 1.3.0 already.

Map raft responses to proper error types

(if issue is a bug, include steps to repro: env settings, branch/commit, etc, where relevant)

Certain responses (e.g. 400 when object exists) should be considered harmless

Bug: Need to handle GET query param length limit

Join and In calls are susceptible to overflow, while we discuss with lwraft team about relaxing the param length, we need to still have a means to break up any long filters into reasonable chunks

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.