This is an automated email from the ASF dual-hosted git repository. zhaoqingran pushed a change to branch fix-collector-build in repository https://gitbox.apache.org/repos/asf/hertzbeat.git
from 78ff82e24 [bugfix] fix collector docker build error add 50dd262fb [doc] update deploy doc (#2796) add bff75757d [Task][OSPP] HertzBeat Official Template Marketplace (#2641) add 4373ab23f [improve] improve the way Ai is entered and requested (#2762) add 9d71c1d40 Merge branch 'master' into fix-collector-build No new revisions were added by this update. Summary of changes: .../help/template-marketplace-img/asset-detail.png | Bin 0 -> 71288 bytes .../template-marketplace-img/asset-upgrade.png | Bin 0 -> 74938 bytes .../help/template-marketplace-img/detail-faq.png | Bin 0 -> 56070 bytes .../help/template-marketplace-img/detail-info.png | Bin 0 -> 47310 bytes .../template-marketplace-img/detail-version.png | Bin 0 -> 77009 bytes .../help/template-marketplace-img/download.png | Bin 0 -> 74619 bytes .../help/template-marketplace-img/email-login.png | Bin 0 -> 64255 bytes .../hover-window-guest.png | Bin 0 -> 8228 bytes .../template-marketplace-img/hover-window-user.png | Bin 0 -> 9233 bytes .../template-marketplace-img/search-category.png | Bin 0 -> 104852 bytes .../help/template-marketplace-img/search-name.png | Bin 0 -> 74388 bytes home/docs/help/template-marketplace-img/search.png | Bin 0 -> 96501 bytes home/docs/help/template-marketplace-img/share.png | Bin 0 -> 63412 bytes .../docs/help/template-marketplace-img/sign-up.png | Bin 0 -> 56882 bytes .../template-marketplace-img/user-center-asset.png | Bin 0 -> 88469 bytes .../user-center-star-detail.png | Bin 0 -> 51963 bytes .../template-marketplace-img/user-center-star.png | Bin 0 -> 107015 bytes .../user-center-upload.png | Bin 0 -> 182357 bytes home/docs/help/template_marketplace.md | 152 ++ home/docs/start/baota-deploy.md | 24 +- home/docs/start/docker-compose-deploy.md | 2 +- .../current/start/docker-compose-deploy.md | 2 +- home/sidebars.json | 8 +- .../static/img/docs/start/install-to-aapanel-1.png | Bin 0 -> 85377 bytes .../static/img/docs/start/install-to-aapanel-2.png | Bin 0 -> 72798 bytes .../static/img/docs/start/install-to-aapanel-3.png | Bin 0 -> 24363 bytes .../hertzbeat/manager/controller/AiController.java | 14 +- .../manager/pojo/dto/AiControllerRequestParam.java | 32 + .../manager/controller/AiControllerTest.java | 11 +- .../hertzbeat-template-hub-web-app}/.editorconfig | 0 .../hertzbeat-template-hub-web-app/.gitignore | 42 + .../hertzbeat-template-hub-web-app/.prettierrc.js | 31 + .../hertzbeat-template-hub-web-app/README.md | 27 + .../hertzbeat-template-hub-web-app/angular.json | 186 ++ .../hertzbeat-template-hub-web-app}/ng-alain.json | 0 .../hertzbeat-template-hub-web-app/package.json | 66 + .../hertzbeat-template-hub-web-app/proxy.conf.json | 8 + .../public}/favicon.ico | Bin .../src/app/app.component.html | 20 + .../src/app/app.component.ts | 40 + .../src/app/app.config.ts | 46 + .../src/app/app.module.ts | 55 + .../src/app/core/core.module.ts | 31 + .../src/app/core/guard/detect-auth-guard.ts | 50 + .../src/app/core/index.ts | 21 + .../app/core/interceptor/default.interceptor.ts | 223 ++ .../src/app/core/module-import-guard.ts | 24 + .../src/app/global-config.module.ts | 49 + .../src/app/layout/blank/blank.component.ts | 29 + .../src/app/layout/layout.module.ts | 80 + .../src/app/layout/market/market.component.html | 227 ++ .../src/app/layout/market/market.component.ts | 76 + .../src/app/pojo/Message.ts | 0 .../app/routes/home-page/home-page.component.html | 125 ++ .../app/routes/home-page/home-page.component.less | 40 + .../app/routes/home-page/home-page.component.ts | 64 + .../src/app/routes/login/login.component.html | 66 + .../src/app/routes/login/login.component.less | 18 + .../src/app/routes/login/login.component.ts | 80 + .../src/app/routes/market/market-routing.module.ts | 37 + .../src/app/routes/market/market.module.ts | 74 + .../template-detail/template-detail.component.html | 277 +++ .../template-detail/template-detail.component.less | 18 + .../template-detail/template-detail.component.ts | 210 ++ .../template-list/template-list.component.html | 229 ++ .../template-list/template-list.component.less | 60 + .../template-list/template-list.component.ts | 270 +++ .../src/app/routes/routes-routing.module.ts | 40 + .../src/app/routes/routes.module.ts | 58 + .../src/app/routes/sign-up/sign-up.component.html | 75 + .../src/app/routes/sign-up/sign-up.component.less | 18 + .../src/app/routes/sign-up/sign-up.component.ts | 79 + .../assets-detail/assets-detail.component.html | 349 +++ .../assets-detail/assets-detail.component.less | 18 + .../assets-detail/assets-detail.component.ts | 302 +++ .../user-assets/user-assets.component.html | 192 ++ .../user-assets/user-assets.component.less | 18 + .../user-assets/user-assets.component.ts | 231 ++ .../user-center/user-center-routing.module.ts | 41 + .../app/routes/user-center/user-center.module.ts | 82 + .../user-center/user-star/user-star.component.html | 208 ++ .../user-center/user-star/user-star.component.less | 18 + .../user-center/user-star/user-star.component.ts | 226 ++ .../user-upload/user-upload.component.html | 169 ++ .../user-upload/user-upload.component.less | 18 + .../user-upload/user-upload.component.ts | 211 ++ .../src/app/service/auth.service.ts | 60 + .../src/app/service/category.service.ts | 57 + .../src/app/service/data.service.ts | 35 + .../src/app/service/local-storage.service.ts | 63 + .../src/app/service/star.service.ts | 58 + .../src/app/service/template.service.ts | 166 ++ .../src/app/service/version.service.ts | 55 + .../src/app/shared/constants.ts | 22 + .../src/assets/css/style.css | 2324 ++++++++++++++++++++ .../src/assets/svg/1-img.svg | 1 + .../src/assets/svg/2-img.svg | 1 + .../src/assets/svg/3-img.svg | 1 + .../src/assets/svg/4-img.svg | 1 + .../src/assets/svg/5-img.svg | 1 + .../src/assets/svg/6-img.svg | 1 + .../src/assets/svg/brand.svg | 24 + .../src/assets/svg/brand_white.svg | 24 + .../src/assets/svg/breadcrumb.svg | 226 ++ .../src/assets/svg/cancel-star.svg | 24 + .../src/assets/svg/circle.svg | 1463 ++++++++++++ .../src/assets/svg/detail.svg | 36 + .../src/assets/svg/download.svg | 40 + .../src/assets/svg/email.svg | 34 + .../src/assets/svg/github.svg | 34 + .../src/assets/svg/hand.svg | 68 + .../src/assets/svg/home-1.svg | 83 + .../src/assets/svg/home-2.svg | 102 + .../src/assets/svg/home-3.svg | 72 + .../src/assets/svg/home-page-bg.svg | 1657 ++++++++++++++ .../src/assets/svg/i18n.svg | 51 + .../src/assets/svg/logo.svg | 22 + .../src/assets/svg/logo_white.svg | 22 + .../src/assets/svg/mysql-img.svg | 68 + .../src/assets/svg/star.svg | 24 + .../src/assets/svg/title-line.svg | 38 + .../src/assets/svg/upload-bg.svg | 1598 ++++++++++++++ .../src/assets/svg/user-center.svg | 40 + .../src/environments/environment.prod.ts | 29 + .../src/environments/environment.ts | 42 + .../src/favicon.ico | Bin .../hertzbeat-template-hub-web-app/src/index.html | 42 + .../hertzbeat-template-hub-web-app/src/main.ts | 59 + .../hertzbeat-template-hub-web-app/src/styles.css | 21 + .../tsconfig.app.json | 13 + .../hertzbeat-template-hub-web-app/tsconfig.json | 43 + .../tsconfig.spec.json | 13 + .../hertzbeat-template-hub/.gitignore | 33 + .../hertzbeat-template-hub/README.md | 2 + .../hertzbeat-template-hub/apiTest/category.http | 38 + .../hertzbeat-template-hub/apiTest/share.http | 22 + .../hertzbeat-template-hub/apiTest/star.http | 39 + .../hertzbeat-template-hub/apiTest/template.http | 56 + .../hertzbeat-template-hub/apiTest/user.http | 44 + .../hertzbeat-template-hub/apiTest/version.http | 25 + .../hertzbeat-template-hub/pom.xml | 187 ++ .../hertzbeat-template-hub/sql/auth_resource.sql | 43 + .../hertzbeat-template-hub/sql/auth_role.sql | 34 + .../sql/auth_role_resource_bind.sql | 31 + .../hertzbeat-template-hub/sql/auth_user.sql | 43 + .../sql/auth_user_role_bind.sql | 37 + .../hertzbeat-template-hub/sql/category.sql | 36 + .../hertzbeat-template-hub/sql/star.sql | 28 + .../hertzbeat-template-hub/sql/tag.sql | 29 + .../hertzbeat-template-hub/sql/template.sql | 46 + .../hertzbeat-template-hub/sql/template_tag.sql | 27 + .../hertzbeat-template-hub/sql/version.sql | 40 + .../HertzbeatTemplateHubApplication.java | 32 + .../templatehub/config/FileStorageConfig.java | 56 + .../templatehub/constants/CommonConstants.java | 375 ++++ .../templatehub/controller/AccountController.java | 134 ++ .../templatehub/controller/CategoryController.java | 119 + .../templatehub/controller/ResourceController.java | 109 + .../templatehub/controller/RoleController.java | 154 ++ .../templatehub/controller/ShareController.java | 89 + .../templatehub/controller/StarController.java | 113 + .../templatehub/controller/TagController.java | 35 + .../templatehub/controller/TemplateController.java | 409 ++++ .../controller/TemplateTagController.java | 35 + .../templatehub/controller/TokenStorage.java | 78 + .../templatehub/controller/UserController.java | 93 + .../templatehub/controller/VersionController.java | 113 + .../templatehub/exception/CommonError.java | 35 + .../exception/GlobalExceptionHandler.java | 57 + .../exception/HertzbeatTemplateHubException.java | 31 + .../templatehub/exception/RestErrorResponse.java | 32 + .../templatehub/model/DO/AuthResourceDO.java | 71 + .../hertzbeat/templatehub/model/DO/AuthRoleDO.java | 64 + .../model/DO/AuthRoleResourceBindDO.java | 55 + .../hertzbeat/templatehub/model/DO/AuthUserDO.java | 73 + .../templatehub/model/DO/AuthUserRoleBindDO.java | 55 + .../hertzbeat/templatehub/model/DO/CategoryDO.java | 57 + .../hertzbeat/templatehub/model/DO/StarDO.java | 53 + .../hertzbeat/templatehub/model/DO/TagDO.java | 56 + .../hertzbeat/templatehub/model/DO/TemplateDO.java | 84 + .../templatehub/model/DO/TemplateTagDO.java | 50 + .../hertzbeat/templatehub/model/DO/VersionDO.java | 70 + .../hertzbeat/templatehub/model/VO/TemplateVO.java | 63 + .../templatehub/model/dao/AuthResourceDao.java | 81 + .../templatehub/model/dao/AuthRoleDao.java | 44 + .../model/dao/AuthRoleResourceBindDao.java | 53 + .../templatehub/model/dao/AuthUserDao.java | 50 + .../templatehub/model/dao/AuthUserRoleBindDao.java | 51 + .../templatehub/model/dao/CategoryDao.java | 41 + .../hertzbeat/templatehub/model/dao/StarDao.java | 42 + .../templatehub/model/dao/TemplateDao.java | 146 ++ .../templatehub/model/dao/VersionDao.java | 73 + .../hertzbeat/templatehub/model/dto/LoginDto.java | 64 + .../hertzbeat/templatehub/model/dto/Message.java | 97 + .../model/dto/RefreshTokenResponse.java | 40 + .../hertzbeat/templatehub/model/dto/SignUpDto.java | 55 + .../templatehub/model/dto/TemplateDto.java | 48 + .../hertzbeat/templatehub/model/dto/TokenDto.java | 41 + .../templatehub/model/entity/Category.java | 57 + .../hertzbeat/templatehub/model/entity/Star.java | 56 + .../hertzbeat/templatehub/model/entity/Tag.java | 56 + .../templatehub/model/entity/Template.java | 84 + .../templatehub/model/entity/TemplateTag.java | 50 + .../hertzbeat/templatehub/model/entity/User.java | 57 + .../templatehub/model/entity/Version.java | 69 + .../templatehub/service/AccountService.java | 99 + .../templatehub/service/CategoryService.java | 36 + .../templatehub/service/FileStorageService.java | 30 + .../templatehub/service/ResourceService.java | 86 + .../hertzbeat/templatehub/service/RoleService.java | 105 + .../hertzbeat/templatehub/service/StarService.java | 35 + .../hertzbeat/templatehub/service/TagService.java | 22 + .../templatehub/service/TemplateService.java | 106 + .../templatehub/service/TemplateTagService.java | 22 + .../hertzbeat/templatehub/service/UserService.java | 22 + .../templatehub/service/VersionService.java | 45 + .../service/impl/AccountServiceImpl.java | 216 ++ .../service/impl/CategoryServiceImpl.java | 97 + .../service/impl/DataConflictException.java | 31 + .../service/impl/LocalFileStorageServiceImpl.java | 80 + .../service/impl/MinIOFileStorageServiceImpl.java | 176 ++ .../service/impl/ResourceServiceImpl.java | 109 + .../templatehub/service/impl/RoleServiceImpl.java | 149 ++ .../templatehub/service/impl/StarServiceImpl.java | 86 + .../templatehub/service/impl/TagServiceImpl.java | 28 + .../service/impl/TemplateServiceImpl.java | 375 ++++ .../service/impl/TemplateTagServiceImpl.java | 28 + .../templatehub/service/impl/UserServiceImpl.java | 28 + .../service/impl/VersionServiceImpl.java | 172 ++ .../sureness/SurenessFilterExample.java | 224 ++ .../processor/RefreshExpiredTokenException.java | 31 + .../sureness/provider/DatabaseAccountProvider.java | 42 + .../provider/DatabasePathTreeProvider.java | 55 + .../hertzbeat/templatehub/util/Base62Util.java | 71 + .../hertzbeat/templatehub/util/Base64Util.java | 42 + .../hertzbeat/templatehub/util/JsonUtil.java | 122 + .../hertzbeat/templatehub/util/ResponseUtil.java | 79 + .../src/main/resources/application.yml | 65 + .../src/main/resources/sureness.yml | 29 + .../HertzbeatTemplateDOHubApplicationTests.java | 30 + .../HertzbeatTemplateHubApplicationTests.java | 30 + .../templatehub/config/FileStorageConfigTest.java | 34 + .../controller/CategoryControllerTest.java | 160 ++ .../controller/CategoryDOControllerTest.java | 160 ++ .../controller/ShareControllerTest.java | 130 ++ .../templatehub/controller/StarControllerTest.java | 178 ++ .../controller/StarDOControllerTest.java | 164 ++ .../controller/TemplateControllerTest.java | 143 ++ .../controller/TemplateDOControllerTest.java | 143 ++ .../controller/VersionControllerTest.java | 174 ++ .../controller/VersionDOControllerTest.java | 160 ++ .../exception/GlobalExceptionHandlerTest.java | 82 + .../templatehub/model/dao/CategoryDODaoTest.java | 60 + .../templatehub/model/dao/CategoryDaoTest.java | 68 + .../templatehub/model/dao/StarDODaoTest.java | 27 + .../templatehub/model/dao/StarDaoTest.java | 29 + .../templatehub/model/dao/TemplateDODaoTest.java | 151 ++ .../templatehub/model/dao/TemplateDaoTest.java | 153 ++ .../templatehub/model/dao/VersionDODaoTest.java | 59 + .../templatehub/model/dao/VersionDaoTest.java | 61 + .../templatehub/service/CategoryDOServiceTest.java | 141 ++ .../templatehub/service/CategoryServiceTest.java | 141 ++ .../templatehub/service/StarDOServiceTest.java | 126 ++ .../templatehub/service/StarServiceTest.java | 124 ++ .../templatehub/service/TemplateDOServiceTest.java | 204 ++ .../templatehub/service/TemplateServiceTest.java | 204 ++ .../templatehub/service/VersionDOServiceTest.java | 167 ++ .../templatehub/service/VersionServiceTest.java | 229 ++ .../hertzbeat/templatehub/util/Base62UtilTest.java | 71 + .../hertzbeat/templatehub/util/Base64UtilTest.java | 50 + .../src/test/resources/test-data.sql | 16 + 271 files changed, 25987 insertions(+), 25 deletions(-) create mode 100644 home/docs/help/template-marketplace-img/asset-detail.png create mode 100644 home/docs/help/template-marketplace-img/asset-upgrade.png create mode 100644 home/docs/help/template-marketplace-img/detail-faq.png create mode 100644 home/docs/help/template-marketplace-img/detail-info.png create mode 100644 home/docs/help/template-marketplace-img/detail-version.png create mode 100644 home/docs/help/template-marketplace-img/download.png create mode 100644 home/docs/help/template-marketplace-img/email-login.png create mode 100644 home/docs/help/template-marketplace-img/hover-window-guest.png create mode 100644 home/docs/help/template-marketplace-img/hover-window-user.png create mode 100644 home/docs/help/template-marketplace-img/search-category.png create mode 100644 home/docs/help/template-marketplace-img/search-name.png create mode 100644 home/docs/help/template-marketplace-img/search.png create mode 100644 home/docs/help/template-marketplace-img/share.png create mode 100644 home/docs/help/template-marketplace-img/sign-up.png create mode 100644 home/docs/help/template-marketplace-img/user-center-asset.png create mode 100644 home/docs/help/template-marketplace-img/user-center-star-detail.png create mode 100644 home/docs/help/template-marketplace-img/user-center-star.png create mode 100644 home/docs/help/template-marketplace-img/user-center-upload.png create mode 100644 home/docs/help/template_marketplace.md create mode 100644 home/static/img/docs/start/install-to-aapanel-1.png create mode 100644 home/static/img/docs/start/install-to-aapanel-2.png create mode 100644 home/static/img/docs/start/install-to-aapanel-3.png create mode 100644 manager/src/main/java/org/apache/hertzbeat/manager/pojo/dto/AiControllerRequestParam.java copy {web-app => template-marketplace/hertzbeat-template-hub-web-app}/.editorconfig (100%) create mode 100644 template-marketplace/hertzbeat-template-hub-web-app/.gitignore create mode 100644 template-marketplace/hertzbeat-template-hub-web-app/.prettierrc.js create mode 100644 template-marketplace/hertzbeat-template-hub-web-app/README.md create mode 100644 template-marketplace/hertzbeat-template-hub-web-app/angular.json copy {web-app => template-marketplace/hertzbeat-template-hub-web-app}/ng-alain.json (100%) create mode 100644 template-marketplace/hertzbeat-template-hub-web-app/package.json create mode 100644 template-marketplace/hertzbeat-template-hub-web-app/proxy.conf.json copy {web-app/src => template-marketplace/hertzbeat-template-hub-web-app/public}/favicon.ico (100%) create mode 100644 template-marketplace/hertzbeat-template-hub-web-app/src/app/app.component.html create mode 100644 template-marketplace/hertzbeat-template-hub-web-app/src/app/app.component.ts create mode 100644 template-marketplace/hertzbeat-template-hub-web-app/src/app/app.config.ts create mode 100644 template-marketplace/hertzbeat-template-hub-web-app/src/app/app.module.ts create mode 100644 template-marketplace/hertzbeat-template-hub-web-app/src/app/core/core.module.ts create mode 100644 template-marketplace/hertzbeat-template-hub-web-app/src/app/core/guard/detect-auth-guard.ts create mode 100644 template-marketplace/hertzbeat-template-hub-web-app/src/app/core/index.ts create mode 100644 template-marketplace/hertzbeat-template-hub-web-app/src/app/core/interceptor/default.interceptor.ts create mode 100644 template-marketplace/hertzbeat-template-hub-web-app/src/app/core/module-import-guard.ts create mode 100644 template-marketplace/hertzbeat-template-hub-web-app/src/app/global-config.module.ts create mode 100644 template-marketplace/hertzbeat-template-hub-web-app/src/app/layout/blank/blank.component.ts create mode 100644 template-marketplace/hertzbeat-template-hub-web-app/src/app/layout/layout.module.ts create mode 100644 template-marketplace/hertzbeat-template-hub-web-app/src/app/layout/market/market.component.html create mode 100644 template-marketplace/hertzbeat-template-hub-web-app/src/app/layout/market/market.component.ts copy {web-app => template-marketplace/hertzbeat-template-hub-web-app}/src/app/pojo/Message.ts (100%) create mode 100644 template-marketplace/hertzbeat-template-hub-web-app/src/app/routes/home-page/home-page.component.html create mode 100644 template-marketplace/hertzbeat-template-hub-web-app/src/app/routes/home-page/home-page.component.less create mode 100644 template-marketplace/hertzbeat-template-hub-web-app/src/app/routes/home-page/home-page.component.ts create mode 100644 template-marketplace/hertzbeat-template-hub-web-app/src/app/routes/login/login.component.html create mode 100644 template-marketplace/hertzbeat-template-hub-web-app/src/app/routes/login/login.component.less create mode 100644 template-marketplace/hertzbeat-template-hub-web-app/src/app/routes/login/login.component.ts create mode 100644 template-marketplace/hertzbeat-template-hub-web-app/src/app/routes/market/market-routing.module.ts create mode 100644 template-marketplace/hertzbeat-template-hub-web-app/src/app/routes/market/market.module.ts create mode 100644 template-marketplace/hertzbeat-template-hub-web-app/src/app/routes/market/template-detail/template-detail.component.html create mode 100644 template-marketplace/hertzbeat-template-hub-web-app/src/app/routes/market/template-detail/template-detail.component.less create mode 100644 template-marketplace/hertzbeat-template-hub-web-app/src/app/routes/market/template-detail/template-detail.component.ts create mode 100644 template-marketplace/hertzbeat-template-hub-web-app/src/app/routes/market/template-list/template-list.component.html create mode 100644 template-marketplace/hertzbeat-template-hub-web-app/src/app/routes/market/template-list/template-list.component.less create mode 100644 template-marketplace/hertzbeat-template-hub-web-app/src/app/routes/market/template-list/template-list.component.ts create mode 100644 template-marketplace/hertzbeat-template-hub-web-app/src/app/routes/routes-routing.module.ts create mode 100644 template-marketplace/hertzbeat-template-hub-web-app/src/app/routes/routes.module.ts create mode 100644 template-marketplace/hertzbeat-template-hub-web-app/src/app/routes/sign-up/sign-up.component.html create mode 100644 template-marketplace/hertzbeat-template-hub-web-app/src/app/routes/sign-up/sign-up.component.less create mode 100644 template-marketplace/hertzbeat-template-hub-web-app/src/app/routes/sign-up/sign-up.component.ts create mode 100644 template-marketplace/hertzbeat-template-hub-web-app/src/app/routes/user-center/assets-detail/assets-detail.component.html create mode 100644 template-marketplace/hertzbeat-template-hub-web-app/src/app/routes/user-center/assets-detail/assets-detail.component.less create mode 100644 template-marketplace/hertzbeat-template-hub-web-app/src/app/routes/user-center/assets-detail/assets-detail.component.ts create mode 100644 template-marketplace/hertzbeat-template-hub-web-app/src/app/routes/user-center/user-assets/user-assets.component.html create mode 100644 template-marketplace/hertzbeat-template-hub-web-app/src/app/routes/user-center/user-assets/user-assets.component.less create mode 100644 template-marketplace/hertzbeat-template-hub-web-app/src/app/routes/user-center/user-assets/user-assets.component.ts create mode 100644 template-marketplace/hertzbeat-template-hub-web-app/src/app/routes/user-center/user-center-routing.module.ts create mode 100644 template-marketplace/hertzbeat-template-hub-web-app/src/app/routes/user-center/user-center.module.ts create mode 100644 template-marketplace/hertzbeat-template-hub-web-app/src/app/routes/user-center/user-star/user-star.component.html create mode 100644 template-marketplace/hertzbeat-template-hub-web-app/src/app/routes/user-center/user-star/user-star.component.less create mode 100644 template-marketplace/hertzbeat-template-hub-web-app/src/app/routes/user-center/user-star/user-star.component.ts create mode 100644 template-marketplace/hertzbeat-template-hub-web-app/src/app/routes/user-center/user-upload/user-upload.component.html create mode 100644 template-marketplace/hertzbeat-template-hub-web-app/src/app/routes/user-center/user-upload/user-upload.component.less create mode 100644 template-marketplace/hertzbeat-template-hub-web-app/src/app/routes/user-center/user-upload/user-upload.component.ts create mode 100644 template-marketplace/hertzbeat-template-hub-web-app/src/app/service/auth.service.ts create mode 100644 template-marketplace/hertzbeat-template-hub-web-app/src/app/service/category.service.ts create mode 100644 template-marketplace/hertzbeat-template-hub-web-app/src/app/service/data.service.ts create mode 100644 template-marketplace/hertzbeat-template-hub-web-app/src/app/service/local-storage.service.ts create mode 100644 template-marketplace/hertzbeat-template-hub-web-app/src/app/service/star.service.ts create mode 100644 template-marketplace/hertzbeat-template-hub-web-app/src/app/service/template.service.ts create mode 100644 template-marketplace/hertzbeat-template-hub-web-app/src/app/service/version.service.ts create mode 100644 template-marketplace/hertzbeat-template-hub-web-app/src/app/shared/constants.ts create mode 100644 template-marketplace/hertzbeat-template-hub-web-app/src/assets/css/style.css create mode 100644 template-marketplace/hertzbeat-template-hub-web-app/src/assets/svg/1-img.svg create mode 100644 template-marketplace/hertzbeat-template-hub-web-app/src/assets/svg/2-img.svg create mode 100644 template-marketplace/hertzbeat-template-hub-web-app/src/assets/svg/3-img.svg create mode 100644 template-marketplace/hertzbeat-template-hub-web-app/src/assets/svg/4-img.svg create mode 100644 template-marketplace/hertzbeat-template-hub-web-app/src/assets/svg/5-img.svg create mode 100644 template-marketplace/hertzbeat-template-hub-web-app/src/assets/svg/6-img.svg create mode 100644 template-marketplace/hertzbeat-template-hub-web-app/src/assets/svg/brand.svg create mode 100644 template-marketplace/hertzbeat-template-hub-web-app/src/assets/svg/brand_white.svg create mode 100644 template-marketplace/hertzbeat-template-hub-web-app/src/assets/svg/breadcrumb.svg create mode 100644 template-marketplace/hertzbeat-template-hub-web-app/src/assets/svg/cancel-star.svg create mode 100644 template-marketplace/hertzbeat-template-hub-web-app/src/assets/svg/circle.svg create mode 100644 template-marketplace/hertzbeat-template-hub-web-app/src/assets/svg/detail.svg create mode 100644 template-marketplace/hertzbeat-template-hub-web-app/src/assets/svg/download.svg create mode 100644 template-marketplace/hertzbeat-template-hub-web-app/src/assets/svg/email.svg create mode 100644 template-marketplace/hertzbeat-template-hub-web-app/src/assets/svg/github.svg create mode 100644 template-marketplace/hertzbeat-template-hub-web-app/src/assets/svg/hand.svg create mode 100644 template-marketplace/hertzbeat-template-hub-web-app/src/assets/svg/home-1.svg create mode 100644 template-marketplace/hertzbeat-template-hub-web-app/src/assets/svg/home-2.svg create mode 100644 template-marketplace/hertzbeat-template-hub-web-app/src/assets/svg/home-3.svg create mode 100644 template-marketplace/hertzbeat-template-hub-web-app/src/assets/svg/home-page-bg.svg create mode 100644 template-marketplace/hertzbeat-template-hub-web-app/src/assets/svg/i18n.svg create mode 100644 template-marketplace/hertzbeat-template-hub-web-app/src/assets/svg/logo.svg create mode 100644 template-marketplace/hertzbeat-template-hub-web-app/src/assets/svg/logo_white.svg create mode 100644 template-marketplace/hertzbeat-template-hub-web-app/src/assets/svg/mysql-img.svg create mode 100644 template-marketplace/hertzbeat-template-hub-web-app/src/assets/svg/star.svg create mode 100644 template-marketplace/hertzbeat-template-hub-web-app/src/assets/svg/title-line.svg create mode 100644 template-marketplace/hertzbeat-template-hub-web-app/src/assets/svg/upload-bg.svg create mode 100644 template-marketplace/hertzbeat-template-hub-web-app/src/assets/svg/user-center.svg create mode 100644 template-marketplace/hertzbeat-template-hub-web-app/src/environments/environment.prod.ts create mode 100644 template-marketplace/hertzbeat-template-hub-web-app/src/environments/environment.ts copy {web-app => template-marketplace/hertzbeat-template-hub-web-app}/src/favicon.ico (100%) create mode 100644 template-marketplace/hertzbeat-template-hub-web-app/src/index.html create mode 100644 template-marketplace/hertzbeat-template-hub-web-app/src/main.ts create mode 100644 template-marketplace/hertzbeat-template-hub-web-app/src/styles.css create mode 100644 template-marketplace/hertzbeat-template-hub-web-app/tsconfig.app.json create mode 100644 template-marketplace/hertzbeat-template-hub-web-app/tsconfig.json create mode 100644 template-marketplace/hertzbeat-template-hub-web-app/tsconfig.spec.json create mode 100644 template-marketplace/hertzbeat-template-hub/.gitignore create mode 100644 template-marketplace/hertzbeat-template-hub/README.md create mode 100644 template-marketplace/hertzbeat-template-hub/apiTest/category.http create mode 100644 template-marketplace/hertzbeat-template-hub/apiTest/share.http create mode 100644 template-marketplace/hertzbeat-template-hub/apiTest/star.http create mode 100644 template-marketplace/hertzbeat-template-hub/apiTest/template.http create mode 100644 template-marketplace/hertzbeat-template-hub/apiTest/user.http create mode 100644 template-marketplace/hertzbeat-template-hub/apiTest/version.http create mode 100644 template-marketplace/hertzbeat-template-hub/pom.xml create mode 100644 template-marketplace/hertzbeat-template-hub/sql/auth_resource.sql create mode 100644 template-marketplace/hertzbeat-template-hub/sql/auth_role.sql create mode 100644 template-marketplace/hertzbeat-template-hub/sql/auth_role_resource_bind.sql create mode 100644 template-marketplace/hertzbeat-template-hub/sql/auth_user.sql create mode 100644 template-marketplace/hertzbeat-template-hub/sql/auth_user_role_bind.sql create mode 100644 template-marketplace/hertzbeat-template-hub/sql/category.sql create mode 100644 template-marketplace/hertzbeat-template-hub/sql/star.sql create mode 100644 template-marketplace/hertzbeat-template-hub/sql/tag.sql create mode 100644 template-marketplace/hertzbeat-template-hub/sql/template.sql create mode 100644 template-marketplace/hertzbeat-template-hub/sql/template_tag.sql create mode 100644 template-marketplace/hertzbeat-template-hub/sql/version.sql create mode 100644 template-marketplace/hertzbeat-template-hub/src/main/java/org/apache/hertzbeat/templatehub/HertzbeatTemplateHubApplication.java create mode 100644 template-marketplace/hertzbeat-template-hub/src/main/java/org/apache/hertzbeat/templatehub/config/FileStorageConfig.java create mode 100644 template-marketplace/hertzbeat-template-hub/src/main/java/org/apache/hertzbeat/templatehub/constants/CommonConstants.java create mode 100644 template-marketplace/hertzbeat-template-hub/src/main/java/org/apache/hertzbeat/templatehub/controller/AccountController.java create mode 100644 template-marketplace/hertzbeat-template-hub/src/main/java/org/apache/hertzbeat/templatehub/controller/CategoryController.java create mode 100644 template-marketplace/hertzbeat-template-hub/src/main/java/org/apache/hertzbeat/templatehub/controller/ResourceController.java create mode 100644 template-marketplace/hertzbeat-template-hub/src/main/java/org/apache/hertzbeat/templatehub/controller/RoleController.java create mode 100644 template-marketplace/hertzbeat-template-hub/src/main/java/org/apache/hertzbeat/templatehub/controller/ShareController.java create mode 100644 template-marketplace/hertzbeat-template-hub/src/main/java/org/apache/hertzbeat/templatehub/controller/StarController.java create mode 100644 template-marketplace/hertzbeat-template-hub/src/main/java/org/apache/hertzbeat/templatehub/controller/TagController.java create mode 100644 template-marketplace/hertzbeat-template-hub/src/main/java/org/apache/hertzbeat/templatehub/controller/TemplateController.java create mode 100644 template-marketplace/hertzbeat-template-hub/src/main/java/org/apache/hertzbeat/templatehub/controller/TemplateTagController.java create mode 100644 template-marketplace/hertzbeat-template-hub/src/main/java/org/apache/hertzbeat/templatehub/controller/TokenStorage.java create mode 100644 template-marketplace/hertzbeat-template-hub/src/main/java/org/apache/hertzbeat/templatehub/controller/UserController.java create mode 100644 template-marketplace/hertzbeat-template-hub/src/main/java/org/apache/hertzbeat/templatehub/controller/VersionController.java create mode 100644 template-marketplace/hertzbeat-template-hub/src/main/java/org/apache/hertzbeat/templatehub/exception/CommonError.java create mode 100644 template-marketplace/hertzbeat-template-hub/src/main/java/org/apache/hertzbeat/templatehub/exception/GlobalExceptionHandler.java create mode 100644 template-marketplace/hertzbeat-template-hub/src/main/java/org/apache/hertzbeat/templatehub/exception/HertzbeatTemplateHubException.java create mode 100644 template-marketplace/hertzbeat-template-hub/src/main/java/org/apache/hertzbeat/templatehub/exception/RestErrorResponse.java create mode 100644 template-marketplace/hertzbeat-template-hub/src/main/java/org/apache/hertzbeat/templatehub/model/DO/AuthResourceDO.java create mode 100644 template-marketplace/hertzbeat-template-hub/src/main/java/org/apache/hertzbeat/templatehub/model/DO/AuthRoleDO.java create mode 100644 template-marketplace/hertzbeat-template-hub/src/main/java/org/apache/hertzbeat/templatehub/model/DO/AuthRoleResourceBindDO.java create mode 100644 template-marketplace/hertzbeat-template-hub/src/main/java/org/apache/hertzbeat/templatehub/model/DO/AuthUserDO.java create mode 100644 template-marketplace/hertzbeat-template-hub/src/main/java/org/apache/hertzbeat/templatehub/model/DO/AuthUserRoleBindDO.java create mode 100644 template-marketplace/hertzbeat-template-hub/src/main/java/org/apache/hertzbeat/templatehub/model/DO/CategoryDO.java create mode 100644 template-marketplace/hertzbeat-template-hub/src/main/java/org/apache/hertzbeat/templatehub/model/DO/StarDO.java create mode 100644 template-marketplace/hertzbeat-template-hub/src/main/java/org/apache/hertzbeat/templatehub/model/DO/TagDO.java create mode 100644 template-marketplace/hertzbeat-template-hub/src/main/java/org/apache/hertzbeat/templatehub/model/DO/TemplateDO.java create mode 100644 template-marketplace/hertzbeat-template-hub/src/main/java/org/apache/hertzbeat/templatehub/model/DO/TemplateTagDO.java create mode 100644 template-marketplace/hertzbeat-template-hub/src/main/java/org/apache/hertzbeat/templatehub/model/DO/VersionDO.java create mode 100644 template-marketplace/hertzbeat-template-hub/src/main/java/org/apache/hertzbeat/templatehub/model/VO/TemplateVO.java create mode 100644 template-marketplace/hertzbeat-template-hub/src/main/java/org/apache/hertzbeat/templatehub/model/dao/AuthResourceDao.java create mode 100644 template-marketplace/hertzbeat-template-hub/src/main/java/org/apache/hertzbeat/templatehub/model/dao/AuthRoleDao.java create mode 100644 template-marketplace/hertzbeat-template-hub/src/main/java/org/apache/hertzbeat/templatehub/model/dao/AuthRoleResourceBindDao.java create mode 100644 template-marketplace/hertzbeat-template-hub/src/main/java/org/apache/hertzbeat/templatehub/model/dao/AuthUserDao.java create mode 100644 template-marketplace/hertzbeat-template-hub/src/main/java/org/apache/hertzbeat/templatehub/model/dao/AuthUserRoleBindDao.java create mode 100644 template-marketplace/hertzbeat-template-hub/src/main/java/org/apache/hertzbeat/templatehub/model/dao/CategoryDao.java create mode 100644 template-marketplace/hertzbeat-template-hub/src/main/java/org/apache/hertzbeat/templatehub/model/dao/StarDao.java create mode 100644 template-marketplace/hertzbeat-template-hub/src/main/java/org/apache/hertzbeat/templatehub/model/dao/TemplateDao.java create mode 100644 template-marketplace/hertzbeat-template-hub/src/main/java/org/apache/hertzbeat/templatehub/model/dao/VersionDao.java create mode 100644 template-marketplace/hertzbeat-template-hub/src/main/java/org/apache/hertzbeat/templatehub/model/dto/LoginDto.java create mode 100644 template-marketplace/hertzbeat-template-hub/src/main/java/org/apache/hertzbeat/templatehub/model/dto/Message.java create mode 100644 template-marketplace/hertzbeat-template-hub/src/main/java/org/apache/hertzbeat/templatehub/model/dto/RefreshTokenResponse.java create mode 100644 template-marketplace/hertzbeat-template-hub/src/main/java/org/apache/hertzbeat/templatehub/model/dto/SignUpDto.java create mode 100644 template-marketplace/hertzbeat-template-hub/src/main/java/org/apache/hertzbeat/templatehub/model/dto/TemplateDto.java create mode 100644 template-marketplace/hertzbeat-template-hub/src/main/java/org/apache/hertzbeat/templatehub/model/dto/TokenDto.java create mode 100644 template-marketplace/hertzbeat-template-hub/src/main/java/org/apache/hertzbeat/templatehub/model/entity/Category.java create mode 100644 template-marketplace/hertzbeat-template-hub/src/main/java/org/apache/hertzbeat/templatehub/model/entity/Star.java create mode 100644 template-marketplace/hertzbeat-template-hub/src/main/java/org/apache/hertzbeat/templatehub/model/entity/Tag.java create mode 100644 template-marketplace/hertzbeat-template-hub/src/main/java/org/apache/hertzbeat/templatehub/model/entity/Template.java create mode 100644 template-marketplace/hertzbeat-template-hub/src/main/java/org/apache/hertzbeat/templatehub/model/entity/TemplateTag.java create mode 100644 template-marketplace/hertzbeat-template-hub/src/main/java/org/apache/hertzbeat/templatehub/model/entity/User.java create mode 100644 template-marketplace/hertzbeat-template-hub/src/main/java/org/apache/hertzbeat/templatehub/model/entity/Version.java create mode 100644 template-marketplace/hertzbeat-template-hub/src/main/java/org/apache/hertzbeat/templatehub/service/AccountService.java create mode 100644 template-marketplace/hertzbeat-template-hub/src/main/java/org/apache/hertzbeat/templatehub/service/CategoryService.java create mode 100644 template-marketplace/hertzbeat-template-hub/src/main/java/org/apache/hertzbeat/templatehub/service/FileStorageService.java create mode 100644 template-marketplace/hertzbeat-template-hub/src/main/java/org/apache/hertzbeat/templatehub/service/ResourceService.java create mode 100644 template-marketplace/hertzbeat-template-hub/src/main/java/org/apache/hertzbeat/templatehub/service/RoleService.java create mode 100644 template-marketplace/hertzbeat-template-hub/src/main/java/org/apache/hertzbeat/templatehub/service/StarService.java create mode 100644 template-marketplace/hertzbeat-template-hub/src/main/java/org/apache/hertzbeat/templatehub/service/TagService.java create mode 100644 template-marketplace/hertzbeat-template-hub/src/main/java/org/apache/hertzbeat/templatehub/service/TemplateService.java create mode 100644 template-marketplace/hertzbeat-template-hub/src/main/java/org/apache/hertzbeat/templatehub/service/TemplateTagService.java create mode 100644 template-marketplace/hertzbeat-template-hub/src/main/java/org/apache/hertzbeat/templatehub/service/UserService.java create mode 100644 template-marketplace/hertzbeat-template-hub/src/main/java/org/apache/hertzbeat/templatehub/service/VersionService.java create mode 100644 template-marketplace/hertzbeat-template-hub/src/main/java/org/apache/hertzbeat/templatehub/service/impl/AccountServiceImpl.java create mode 100644 template-marketplace/hertzbeat-template-hub/src/main/java/org/apache/hertzbeat/templatehub/service/impl/CategoryServiceImpl.java create mode 100644 template-marketplace/hertzbeat-template-hub/src/main/java/org/apache/hertzbeat/templatehub/service/impl/DataConflictException.java create mode 100644 template-marketplace/hertzbeat-template-hub/src/main/java/org/apache/hertzbeat/templatehub/service/impl/LocalFileStorageServiceImpl.java create mode 100644 template-marketplace/hertzbeat-template-hub/src/main/java/org/apache/hertzbeat/templatehub/service/impl/MinIOFileStorageServiceImpl.java create mode 100644 template-marketplace/hertzbeat-template-hub/src/main/java/org/apache/hertzbeat/templatehub/service/impl/ResourceServiceImpl.java create mode 100644 template-marketplace/hertzbeat-template-hub/src/main/java/org/apache/hertzbeat/templatehub/service/impl/RoleServiceImpl.java create mode 100644 template-marketplace/hertzbeat-template-hub/src/main/java/org/apache/hertzbeat/templatehub/service/impl/StarServiceImpl.java create mode 100644 template-marketplace/hertzbeat-template-hub/src/main/java/org/apache/hertzbeat/templatehub/service/impl/TagServiceImpl.java create mode 100644 template-marketplace/hertzbeat-template-hub/src/main/java/org/apache/hertzbeat/templatehub/service/impl/TemplateServiceImpl.java create mode 100644 template-marketplace/hertzbeat-template-hub/src/main/java/org/apache/hertzbeat/templatehub/service/impl/TemplateTagServiceImpl.java create mode 100644 template-marketplace/hertzbeat-template-hub/src/main/java/org/apache/hertzbeat/templatehub/service/impl/UserServiceImpl.java create mode 100644 template-marketplace/hertzbeat-template-hub/src/main/java/org/apache/hertzbeat/templatehub/service/impl/VersionServiceImpl.java create mode 100644 template-marketplace/hertzbeat-template-hub/src/main/java/org/apache/hertzbeat/templatehub/sureness/SurenessFilterExample.java create mode 100644 template-marketplace/hertzbeat-template-hub/src/main/java/org/apache/hertzbeat/templatehub/sureness/processor/RefreshExpiredTokenException.java create mode 100644 template-marketplace/hertzbeat-template-hub/src/main/java/org/apache/hertzbeat/templatehub/sureness/provider/DatabaseAccountProvider.java create mode 100644 template-marketplace/hertzbeat-template-hub/src/main/java/org/apache/hertzbeat/templatehub/sureness/provider/DatabasePathTreeProvider.java create mode 100644 template-marketplace/hertzbeat-template-hub/src/main/java/org/apache/hertzbeat/templatehub/util/Base62Util.java create mode 100644 template-marketplace/hertzbeat-template-hub/src/main/java/org/apache/hertzbeat/templatehub/util/Base64Util.java create mode 100644 template-marketplace/hertzbeat-template-hub/src/main/java/org/apache/hertzbeat/templatehub/util/JsonUtil.java create mode 100644 template-marketplace/hertzbeat-template-hub/src/main/java/org/apache/hertzbeat/templatehub/util/ResponseUtil.java create mode 100644 template-marketplace/hertzbeat-template-hub/src/main/resources/application.yml create mode 100644 template-marketplace/hertzbeat-template-hub/src/main/resources/sureness.yml create mode 100644 template-marketplace/hertzbeat-template-hub/src/test/java/org/apache/hertzbeat/templatehub/HertzbeatTemplateDOHubApplicationTests.java create mode 100644 template-marketplace/hertzbeat-template-hub/src/test/java/org/apache/hertzbeat/templatehub/HertzbeatTemplateHubApplicationTests.java create mode 100644 template-marketplace/hertzbeat-template-hub/src/test/java/org/apache/hertzbeat/templatehub/config/FileStorageConfigTest.java create mode 100644 template-marketplace/hertzbeat-template-hub/src/test/java/org/apache/hertzbeat/templatehub/controller/CategoryControllerTest.java create mode 100644 template-marketplace/hertzbeat-template-hub/src/test/java/org/apache/hertzbeat/templatehub/controller/CategoryDOControllerTest.java create mode 100644 template-marketplace/hertzbeat-template-hub/src/test/java/org/apache/hertzbeat/templatehub/controller/ShareControllerTest.java create mode 100644 template-marketplace/hertzbeat-template-hub/src/test/java/org/apache/hertzbeat/templatehub/controller/StarControllerTest.java create mode 100644 template-marketplace/hertzbeat-template-hub/src/test/java/org/apache/hertzbeat/templatehub/controller/StarDOControllerTest.java create mode 100644 template-marketplace/hertzbeat-template-hub/src/test/java/org/apache/hertzbeat/templatehub/controller/TemplateControllerTest.java create mode 100644 template-marketplace/hertzbeat-template-hub/src/test/java/org/apache/hertzbeat/templatehub/controller/TemplateDOControllerTest.java create mode 100644 template-marketplace/hertzbeat-template-hub/src/test/java/org/apache/hertzbeat/templatehub/controller/VersionControllerTest.java create mode 100644 template-marketplace/hertzbeat-template-hub/src/test/java/org/apache/hertzbeat/templatehub/controller/VersionDOControllerTest.java create mode 100644 template-marketplace/hertzbeat-template-hub/src/test/java/org/apache/hertzbeat/templatehub/exception/GlobalExceptionHandlerTest.java create mode 100644 template-marketplace/hertzbeat-template-hub/src/test/java/org/apache/hertzbeat/templatehub/model/dao/CategoryDODaoTest.java create mode 100644 template-marketplace/hertzbeat-template-hub/src/test/java/org/apache/hertzbeat/templatehub/model/dao/CategoryDaoTest.java create mode 100644 template-marketplace/hertzbeat-template-hub/src/test/java/org/apache/hertzbeat/templatehub/model/dao/StarDODaoTest.java create mode 100644 template-marketplace/hertzbeat-template-hub/src/test/java/org/apache/hertzbeat/templatehub/model/dao/StarDaoTest.java create mode 100644 template-marketplace/hertzbeat-template-hub/src/test/java/org/apache/hertzbeat/templatehub/model/dao/TemplateDODaoTest.java create mode 100644 template-marketplace/hertzbeat-template-hub/src/test/java/org/apache/hertzbeat/templatehub/model/dao/TemplateDaoTest.java create mode 100644 template-marketplace/hertzbeat-template-hub/src/test/java/org/apache/hertzbeat/templatehub/model/dao/VersionDODaoTest.java create mode 100644 template-marketplace/hertzbeat-template-hub/src/test/java/org/apache/hertzbeat/templatehub/model/dao/VersionDaoTest.java create mode 100644 template-marketplace/hertzbeat-template-hub/src/test/java/org/apache/hertzbeat/templatehub/service/CategoryDOServiceTest.java create mode 100644 template-marketplace/hertzbeat-template-hub/src/test/java/org/apache/hertzbeat/templatehub/service/CategoryServiceTest.java create mode 100644 template-marketplace/hertzbeat-template-hub/src/test/java/org/apache/hertzbeat/templatehub/service/StarDOServiceTest.java create mode 100644 template-marketplace/hertzbeat-template-hub/src/test/java/org/apache/hertzbeat/templatehub/service/StarServiceTest.java create mode 100644 template-marketplace/hertzbeat-template-hub/src/test/java/org/apache/hertzbeat/templatehub/service/TemplateDOServiceTest.java create mode 100644 template-marketplace/hertzbeat-template-hub/src/test/java/org/apache/hertzbeat/templatehub/service/TemplateServiceTest.java create mode 100644 template-marketplace/hertzbeat-template-hub/src/test/java/org/apache/hertzbeat/templatehub/service/VersionDOServiceTest.java create mode 100644 template-marketplace/hertzbeat-template-hub/src/test/java/org/apache/hertzbeat/templatehub/service/VersionServiceTest.java create mode 100644 template-marketplace/hertzbeat-template-hub/src/test/java/org/apache/hertzbeat/templatehub/util/Base62UtilTest.java create mode 100644 template-marketplace/hertzbeat-template-hub/src/test/java/org/apache/hertzbeat/templatehub/util/Base64UtilTest.java create mode 100644 template-marketplace/hertzbeat-template-hub/src/test/resources/test-data.sql --------------------------------------------------------------------- To unsubscribe, e-mail: notifications-unsubscr...@hertzbeat.apache.org For additional commands, e-mail: notifications-h...@hertzbeat.apache.org