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 @@ -
-
- - +
+
+
+
+ - - - - - + + + + +
// 'name' | tr //// 'endpoint' | tr //// 'creation_time' | tr //// 'actions' | tr //
// 'endpoint' | tr //// 'creation_time' | tr //// 'actions' | tr //
+
+
+ + - + @@ -35,9 +40,11 @@ -

// 'no_destinations' | tr //

// 'no_destinations' | tr //

//r.name//
+
-
//vm.destinations ? vm.destinations.length : 0// // 'items' | tr //
- - \ No newline at end of file + + +
//vm.destinations ? vm.destinations.length : 0// // 'items' | tr //
+ + diff --git a/static/resources/js/components/system-management/replication.directive.html b/static/resources/js/components/system-management/replication.directive.html index c020966c1..18a68ffe0 100644 --- a/static/resources/js/components/system-management/replication.directive.html +++ b/static/resources/js/components/system-management/replication.directive.html @@ -9,47 +9,54 @@ -
+
- - - - - - - - - - - - - - - - - - - - - - - - -
// 'name' | tr //// 'description' | tr //// 'projects' | tr //// 'destination' | tr //// 'start_time' | tr //// 'activation' | tr //// 'actions' | tr //

// 'no_replications' | tr //

//r.name////r.description////r.project_name////r.target_name////r.start_time | dateL : 'YYYY-MM-DD HH:mm:ss'// - // 'enabled' | tr // - // 'disabled' | tr // - -
- - -
-   - -   - -
+
+ + + + + + + + + + +
// 'name' | tr //// 'description' | tr //// 'projects' | tr //// 'destination' | tr //// 'start_time' | tr //// 'activation' | tr //// 'actions' | tr //
+
+
+ + + + + + + + + + + + + + + +

// 'no_replications' | tr //

//r.name////r.description////r.project_name////r.target_name////r.start_time | dateL : 'YYYY-MM-DD HH:mm:ss'// + // 'enabled' | tr // + // 'disabled' | tr // + +
+ + +
+   + +   + +
+
-
-
//vm.replications ? vm.replications.length : 0// // 'items' | tr //
+
+ +
//vm.replications ? vm.replications.length : 0// // 'items' | tr //
- \ 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 @@
- - - - - - - - - - - - -
// '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 +})();