From 11687b2789c510b360729dab70ae9935704b9188 Mon Sep 17 00:00:00 2001 From: yhua Date: Mon, 5 Sep 2016 15:40:49 +0800 Subject: [PATCH 1/6] add version support in env --- Deploy/prepare | 12 +++++++++++- Deploy/templates/ui/env | 1 + 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/Deploy/prepare b/Deploy/prepare index c77af01..f1db506 100755 --- a/Deploy/prepare +++ b/Deploy/prepare @@ -7,6 +7,7 @@ import string import os import sys import argparse +import commands from io import open if sys.version_info[:3][0] == 2: @@ -57,6 +58,14 @@ token_expiration = rcp.get("configuration", "token_expiration") verify_remote_cert = rcp.get("configuration", "verify_remote_cert") ######## +#Read version form .git +status, output = commands.getstatusoutput('git describe --tags') +if status == 0: + version = output +else: + version = 'UNKNOWN' +####### + ui_secret = ''.join(random.choice(string.ascii_letters+string.digits) for i in range(16)) base_dir = os.path.dirname(__file__) @@ -108,7 +117,8 @@ render(os.path.join(templates_dir, "ui", "env"), use_compressed_js=use_compressed_js, ui_secret=ui_secret, verify_remote_cert=verify_remote_cert, - token_expiration=token_expiration) + token_expiration=token_expiration, + version=version) render(os.path.join(templates_dir, "ui", "app.conf"), ui_conf, diff --git a/Deploy/templates/ui/env b/Deploy/templates/ui/env index fe8f860..c4afba4 100644 --- a/Deploy/templates/ui/env +++ b/Deploy/templates/ui/env @@ -20,3 +20,4 @@ EXT_ENDPOINT=$ui_url TOKEN_URL=http://ui VERIFY_REMOTE_CERT=$verify_remote_cert TOKEN_EXPIRATION=$token_expiration +VERSION=$version From 3195f958ecdfec1e2157147b814b2612178ce55f Mon Sep 17 00:00:00 2001 From: Henry Zhang Date: Thu, 8 Sep 2016 14:53:03 +0800 Subject: [PATCH 2/6] update README --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 6ef8f6d..4ba8b45 100644 --- a/README.md +++ b/README.md @@ -65,7 +65,7 @@ If you are upgrading Harbor from an older version with existing data, you need t For information on how to use Harbor, please take a look at [User Guide](docs/user_guide.md). ### Community -Get connected with Project Harbor's community and sign up with VMware {code} [https://code.vmware.com/join/](https://code.vmware.com/join/) to get invited to VMware {code} Slack group, Channel: #harbor. +Get connected with Project Harbor's community and sign up with VMware {code} [https://code.vmware.com/join/](https://code.vmware.com/join/) to get invited to VMware {code} Slack group, Channel: #harbor. **Email:** harbor at vmware.com . ### 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](https://cla.vmware.com/faq). From d7463a04a470c5bf2fb186b410e21426abc354e5 Mon Sep 17 00:00:00 2001 From: Henry Zhang Date: Thu, 8 Sep 2016 14:57:39 +0800 Subject: [PATCH 3/6] update README --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 4ba8b45..67d94df 100644 --- a/README.md +++ b/README.md @@ -65,7 +65,7 @@ If you are upgrading Harbor from an older version with existing data, you need t For information on how to use Harbor, please take a look at [User Guide](docs/user_guide.md). ### Community -Get connected with Project Harbor's community and sign up with VMware {code} [https://code.vmware.com/join/](https://code.vmware.com/join/) to get invited to VMware {code} Slack group, Channel: #harbor. **Email:** harbor at vmware.com . +Get connected with Project Harbor's community and sign up with VMware {code} [https://code.vmware.com/join/](https://code.vmware.com/join/) to get invited to VMware {code} Slack group, Channel: #harbor. **Email:** harbor @ vmware.com . ### 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](https://cla.vmware.com/faq). From 2fc07a04c6da05bc8eafa2fb2e9e6c0b38d6c7ae Mon Sep 17 00:00:00 2001 From: Henry Zhang Date: Tue, 13 Sep 2016 18:21:21 +0800 Subject: [PATCH 4/6] README --- README.md | 3 +-- docs/README.md | 33 +++++++++++++++++++++++++++++++++ 2 files changed, 34 insertions(+), 2 deletions(-) create mode 100644 docs/README.md diff --git a/README.md b/README.md index 67d94df..e17b4d9 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,6 @@ Project Harbor is an enterprise-class registry server that stores and distribute * **Graphical user portal**: User can easily browse, search repositories and manage projects. * **AD/LDAP support**: Harbor integrates with existing enterprise AD/LDAP for user authentication and management. * **Auditing**: All the operations to the repositories are tracked. -* **Internationalization**: Already localized for English, Chinese, German, Japanese and Russian. More languages can be added. * **RESTful API**: RESTful APIs for most administrative operations, easy to integrate with external systems. * **Easy deployment**: docker compose and offline installer. @@ -91,4 +90,4 @@ This project uses open source components which have additional licensing terms. beego Harbor is powered by Beego. ### About -Project Harbor is initiated by the Advanced Technology Center (ATC), VMware China R&D as a Cloud Application Accelerator (CAA) project. +Project Harbor is initiated by the Advanced Technology Center (ATC), VMware China R&D. diff --git a/docs/README.md b/docs/README.md new file mode 100644 index 0000000..0f0105d --- /dev/null +++ b/docs/README.md @@ -0,0 +1,33 @@ +## Table of Content +### User document +[Installation and Configuration Guide](installation_guide.md) +Read this first! + +[Harbor User Guide](user_guide.md) +How to use Harbor to manage images, projects, replications and users. + +[Configuring HTTPS for Harbor](configure_https.md) +Configure security connection between Harbor and Docker client. + +[Upgrade and Data Migration Guide](migration_guide.md) +Data migration may be needed when upgrading Harbor to a newer version. + +[Deploy Harbor on Kubernetes](kubernetes_deployment.md) +Guide to deploy Harbor on Kubenetes. (maintained by community) + +### Developer document +[Arthicture Overview of Harbor](https://github.com/vmware/harbor/wiki/Architecture-Overview-of-Harbor) +Developers read this first. + +[Harbor API Specs by Swagger](configure_swagger.md) +Use Swagger to find out the specs of Harbor API. + +[Internationalization Guide](developer_guide_i18n.md) +How to add your local language to Harbor. + +[Python SDK](../contrib/sdk/harbor-py) (by community) + +[Deploying Harbor using Docker Machine](../contrib/deploying_using_docker_machine.md) ( by community) + +[Configuring Harbor as a local registry mirror](../contrib/Configure_mirror.md) (by community) + From 44aaba64ce813dbacf669162fb76334b0a07879b Mon Sep 17 00:00:00 2001 From: Henry Zhang Date: Fri, 16 Sep 2016 22:04:36 +0800 Subject: [PATCH 5/6] update docs --- ROADMAP.md | 5 +++-- docs/README.md | 28 ++++++++++++++++++++++++++-- 2 files changed, 29 insertions(+), 4 deletions(-) diff --git a/ROADMAP.md b/ROADMAP.md index ed4e382..263e9d7 100644 --- a/ROADMAP.md +++ b/ROADMAP.md @@ -14,11 +14,12 @@ Please open an issue to track any initiative on the roadmap of Harbor. We will w --- +### 0. Notary -### 1. Image replication between Harbor instances +### 1. Image replication between Harbor instances (Completed) Enable images to be replicated between two or more Harbor instances. This is useful to have multiple registry servers servicing a large cluster of nodes, or have distributed registry instances with identical images. -### 2. Image deletion and garbage collection +### 2. Image deletion and garbage collection (Completed) a) Images can be deleted from UI. The files of deleted images are not removed immediately. b) The files of deleted images are recycled by an administrator during system maintenance(Garbage collection). The registry service must be shut down during the process of garbage collection. diff --git a/docs/README.md b/docs/README.md index 0f0105d..273e3f7 100644 --- a/docs/README.md +++ b/docs/README.md @@ -1,5 +1,7 @@ ## Table of Content -### User document + +### User documents + [Installation and Configuration Guide](installation_guide.md) Read this first! @@ -15,7 +17,8 @@ Data migration may be needed when upgrading Harbor to a newer version. [Deploy Harbor on Kubernetes](kubernetes_deployment.md) Guide to deploy Harbor on Kubenetes. (maintained by community) -### Developer document +### Developer documents + [Arthicture Overview of Harbor](https://github.com/vmware/harbor/wiki/Architecture-Overview-of-Harbor) Developers read this first. @@ -25,9 +28,30 @@ Use Swagger to find out the specs of Harbor API. [Internationalization Guide](developer_guide_i18n.md) How to add your local language to Harbor. + [Python SDK](../contrib/sdk/harbor-py) (by community) [Deploying Harbor using Docker Machine](../contrib/deploying_using_docker_machine.md) ( by community) [Configuring Harbor as a local registry mirror](../contrib/Configure_mirror.md) (by community) +### Articles from the community + +[Remote site replicated Docker Registries with VMware Harbor](http://www.vmtocloud.com/remote-site-replicated-docker-registries-with-vmware-harbor/) + +[Hybrid cloud Docker Registry with VMware Harbor](http://www.vmtocloud.com/hybrid-cloud-docker-registry-with-vmware-harbor/) + +[Harbor Registry Blueprint for vRA](http://www.vmtocloud.com/harbor-registry-blueprint-is-here/) + +[Project Harbor in action](http://cormachogan.com/2016/08/05/project-harbor-action/) + +[Using vSphere docker volume driver to run Project Harbor on VSAN](http://cormachogan.com/2016/07/29/using-vsphere-docker-volume-driver-run-project-harbor-vsan/) + +[Architecture of Harbor: An Open Source Enterprise-class Registry Server](http://www.think-foundry.com/architecture-of-harbor-an-open-source-enterprise-class-registry-server/) + +[Overall Architecture of Harbor Registry](http://www.compare-review-information.com/overall-architecture-of-harbor-registry/) + +[Deploying a Private Secured Docker Registry in 15 Minutes](http://alexanderzeitler.com/articles/deploying-a-private-secured-docker-registry-within-15-minutes/) + +[Docker Private Registry Using Harbor](https://blog.imaginea.com/docker-private-registry-using-harbor-2/) + From e287ee4fe7bdd7d9c6e455b34ed2b5514fd5c559 Mon Sep 17 00:00:00 2001 From: Henry Zhang Date: Fri, 16 Sep 2016 22:17:47 +0800 Subject: [PATCH 6/6] update docs --- ROADMAP.md | 22 +++++++++------------- 1 file changed, 9 insertions(+), 13 deletions(-) diff --git a/ROADMAP.md b/ROADMAP.md index 263e9d7..02ea0f4 100644 --- a/ROADMAP.md +++ b/ROADMAP.md @@ -14,35 +14,31 @@ Please open an issue to track any initiative on the roadmap of Harbor. We will w --- -### 0. Notary +### 1. Notary +The notary feature allows publishers to sign their images offline and to push the signed content to a notary server. This ensures the authenticity of images. -### 1. Image replication between Harbor instances (Completed) +### 2. Image replication between Harbor instances (Completed) Enable images to be replicated between two or more Harbor instances. This is useful to have multiple registry servers servicing a large cluster of nodes, or have distributed registry instances with identical images. -### 2. Image deletion and garbage collection (Completed) +### 3. Image deletion and garbage collection (Completed) a) Images can be deleted from UI. The files of deleted images are not removed immediately. b) The files of deleted images are recycled by an administrator during system maintenance(Garbage collection). The registry service must be shut down during the process of garbage collection. -### 3. Authentication (OAuth2) +### 4. Authentication (OAuth2) In addition to LDAP/AD and local users, OAuth 2.0 can be used to authenticate a user. -### 4. High Availability +### 5. High Availability Support multi-node deployment of Harbor for high availability, scalability and load-balancing purposes. -### 5. Statistics and description for repositories +### 6. Statistics and description for repositories User can add a description to a repository. The access count of a repo can be aggregated and displayed. -### 6. Audit all operations in the system +### 7. Audit all operations in the system Currently only image related operations are logged. Other operations in Harbor, such as user creation/deletion, role changes, password reset, should be tracked as well. -### 7. Migration tool to move from an existing registry to Harbor +### 8. Migration tool to move from an existing registry to Harbor A tool to migrate images from a vanilla registry server to Harbor, without the need to export/import a large amount of data. - - -### 8. Support API versioning -Provide versioning of Harbor's API. -