diff --git a/Deploy/docker-compose.yml b/Deploy/docker-compose.yml
index 5d2f359b4..69e027efc 100644
--- a/Deploy/docker-compose.yml
+++ b/Deploy/docker-compose.yml
@@ -61,6 +61,8 @@ services:
dockerfile: Dockerfile.job
env_file:
- ./config/jobservice/env
+ volumes:
+ - /data/job_logs:/var/log/jobs
depends_on:
- ui
logging:
diff --git a/migration/README.md b/migration/README.md
index ee1b12dcb..454642c05 100644
--- a/migration/README.md
+++ b/migration/README.md
@@ -6,11 +6,15 @@ This module is for those machine running Harbor's old version, such as 0.1.0. If
**WARNING!!** You must backup your data before migrating
###Installation
-- step 1: change `db_username`, `db_password`, `db_port`, `db_name` in migration.cfg
-- step 2: build image from dockerfile
+- step 1:
+
+ ```
+ cd migration
+ ```
+- step 2: change `db_username`, `db_password`, `db_port`, `db_name` in migration.cfg
+- step 3: build image from dockerfile
+
```
- cd harbor-migration
-
docker build -t migrate-tool .
```
diff --git a/service/cache/cache.go b/service/cache/cache.go
index c7b2c005d..762ea9cda 100644
--- a/service/cache/cache.go
+++ b/service/cache/cache.go
@@ -60,30 +60,33 @@ func RefreshCatalogCache() error {
if err != nil {
return err
}
+ /*
+ repos := []string{}
- repos := []string{}
+ for _, repo := range rs {
+ rc, ok := repositoryClients[repo]
+ if !ok {
+ rc, err = registry.NewRepositoryWithUsername(repo, endpoint, username)
+ if err != nil {
+ log.Errorf("error occurred while initializing repository client used by cache: %s %v", repo, err)
+ continue
+ }
+ repositoryClients[repo] = rc
+ }
+ tags, err := rc.ListTag()
+ if err != nil {
+ log.Errorf("error occurred while list tag for %s: %v", repo, err)
+ continue
+ }
- for _, repo := range rs {
- rc, err := NewRepositoryClient(endpoint, true, username,
- repo, "repository", repo, "pull", "push", "*")
- if err != nil {
- log.Errorf("error occurred while initializing repository client used by cache: %s %v", repo, err)
- continue
+ if len(tags) != 0 {
+ repos = append(repos, repo)
+ log.Debugf("add %s to catalog cache", repo)
+ }
}
+ */
- tags, err := rc.ListTag()
- if err != nil {
- log.Errorf("error occurred while list tag for %s: %v", repo, err)
- continue
- }
-
- if len(tags) != 0 {
- repos = append(repos, repo)
- log.Debugf("add %s to catalog cache", repo)
- }
- }
-
- Cache.Put(catalogKey, repos, 600*time.Second)
+ Cache.Put(catalogKey, rs, 600*time.Second)
return nil
}
diff --git a/static/i18n/locale_en-US.ini b/static/i18n/locale_en-US.ini
new file mode 100644
index 000000000..0b343ed28
--- /dev/null
+++ b/static/i18n/locale_en-US.ini
@@ -0,0 +1,15 @@
+reset_email_hint = Please click this link to reset your password
+reset_email_subject = Reset your password
+
+page_title_index = Harbor
+page_title_dashboard = Dashboard - Harbor
+page_title_account_setting = Account Settings - Harbor
+page_title_reset_password = Reset Password - Harbor
+page_title_change_password = Change Password - Harbor
+page_title_forgot_password = Forgot Password - Harbor
+page_title_project = Project - Harbor
+page_title_repository = Details - Harbor
+page_title_search = Search - Harbor
+page_title_sign_up = Sign Up - Harbor
+page_title_add_new = Add New - Harbor
+page_title_admin_option = Admin Options - Harbor
\ No newline at end of file
diff --git a/static/i18n/locale_zh-CN.ini b/static/i18n/locale_zh-CN.ini
new file mode 100644
index 000000000..b494f74cf
--- /dev/null
+++ b/static/i18n/locale_zh-CN.ini
@@ -0,0 +1,15 @@
+reset_email_hint = 请点击下面的链接进行重置密码操作
+reset_email_subject = 重置您的密码
+
+page_title_index = Harbor
+page_title_dashboard = 消息中心 - Harbor
+page_title_account_setting = 账户设置 - Harbor
+page_title_reset_password = 重置密码 - Harbor
+page_title_change_password = 修改密码 - Harbor
+page_title_forgot_password = 忘记密码 - Harbor
+page_title_project = 项目 - Harbor
+page_title_repository = 明细信息 - Harbor
+page_title_search = 搜索 - Harbor
+page_title_sign_up = 注册 - Harbor
+page_title_add_new = 增加用户 - Harbor
+page_title_admin_option = 管理员选项 - Harbor
\ No newline at end of file
diff --git a/static/resources/js/components/log/list-log.directive.html b/static/resources/js/components/log/list-log.directive.html
index dd101668b..fae521674 100644
--- a/static/resources/js/components/log/list-log.directive.html
+++ b/static/resources/js/components/log/list-log.directive.html
@@ -14,17 +14,26 @@
-
-
-
// 'username' | tr //
// 'repository_name' | tr //
// 'operation' | tr //
// 'timestamp' | tr //
-
-
-
-
//log.username//
//log.repo_name//
//log.operation//
//log.op_time | dateL : 'YYYY-MM-DD HH:mm:ss'//
-
-
-
+
+
+
+
// 'username' | tr //
+
// 'repository_name' | tr //
+
// 'operation' | tr //
+
// 'timestamp' | tr //
+
+
+
+
+
+
+
+
//log.username//
//log.repo_name//
//log.operation//
//log.op_time | dateL : 'YYYY-MM-DD HH:mm:ss'//
+
+
+
+
-
\ No newline at end of file
+
diff --git a/static/resources/js/components/project-member/list-project-member.directive.html b/static/resources/js/components/project-member/list-project-member.directive.html
index 9fda56790..b42b2e922 100644
--- a/static/resources/js/components/project-member/list-project-member.directive.html
+++ b/static/resources/js/components/project-member/list-project-member.directive.html
@@ -13,16 +13,22 @@
-
-
-
-
// 'username' | tr //
// 'role' | tr //
// 'operation' | tr //
-
-
-
-
-
+
+
+
+
+
// 'username' | tr //
// 'role' | tr //
// 'operation' | tr //
+
+
+
+
+
+
+
+
+
+
-
\ No newline at end of file
+
diff --git a/static/resources/js/components/system-management/destination.directive.html b/static/resources/js/components/system-management/destination.directive.html
index aaafe23ef..13b37b487 100644
--- a/static/resources/js/components/system-management/destination.directive.html
+++ b/static/resources/js/components/system-management/destination.directive.html
@@ -11,18 +11,23 @@
-
-
\ No newline at end of file
+
diff --git a/static/resources/js/components/top-repository/top-repository.directive.html b/static/resources/js/components/top-repository/top-repository.directive.html
index 7693dc78f..372aae120 100644
--- a/static/resources/js/components/top-repository/top-repository.directive.html
+++ b/static/resources/js/components/top-repository/top-repository.directive.html
@@ -1,16 +1,24 @@
// 'popular_repositories' | tr //
-
-
-
// 'repository_name' | tr //
// 'count' | tr //
// 'creator' | tr //
-
-
-
-
// 'no_top_repositories' | tr //
-
-
-
//t.name//
//t.count//
//t.creator === '' ? 'N/A' : t.creator //
-
-
-
-
\ No newline at end of file
+
+
+
+
// 'repository_name' | tr //
+
// 'count' | tr //
+
// 'creator' | tr //
+
+
+
+
+
+
+
+
// 'no_top_repositories' | tr //
+
+
+
//t.name//
//t.count//
//t.creator === '' ? 'N/A' : t.creator //
+
+
+
+
+
diff --git a/static/resources/js/components/top-repository/top-repository.directive.js b/static/resources/js/components/top-repository/top-repository.directive.js
index 34896ddd4..549c967c3 100644
--- a/static/resources/js/components/top-repository/top-repository.directive.js
+++ b/static/resources/js/components/top-repository/top-repository.directive.js
@@ -11,7 +11,7 @@
function TopRepositoryController(ListTopRepositoryService) {
var vm = this;
- ListTopRepositoryService(10)
+ ListTopRepositoryService(5)
.success(listTopRepositorySuccess)
.error(listTopRepositoryFailed);
@@ -38,4 +38,4 @@
return directive;
}
-})();
\ No newline at end of file
+})();