[PR #227] [MERGED] feat: cloud load balance pre-works #879

Closed
opened 2026-03-03 01:06:38 +03:00 by kerem · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/certimate-go/certimate/pull/227
Author: @fudiwei
Created: 10/20/2024
Status: Merged
Merged: 10/22/2024
Merged by: @usual2970

Base: mainHead: feat/cloud-load-balance


📝 Commits (10+)

  • 88e6471 feat: support using scm service on deployment to huaweicloud cdn
  • 896b5d3 Merge branch 'main' into feat/cloud-load-balance
  • 8d41a9a Merge branch 'main' into feat/cloud-load-balance
  • f0e7fe6 clean code
  • 3a213dc feat: do not use region from access when deploy to huaweicloud cdn
  • 560d21c refactor: optimize code
  • f6a3f4e refactor: optimize code
  • fc55e37 chore: git keep /ui/dist
  • f168bd9 feat: add huaweicloud elb uploader
  • a4fc8df feat: add tencentcloud ssl uploader

📊 Changes

63 files changed (+3582 additions, -2550 deletions)

View changed files

📝 .gitignore (+3 -1)
📝 README.md (+2 -2)
📝 README_EN.md (+3 -4)
📝 go.mod (+5 -4)
📝 go.sum (+29 -4)
📝 internal/applicant/huaweicloud.go (+6 -1)
📝 internal/deployer/huaweicloud_cdn.go (+87 -31)
📝 internal/domain/domains.go (+70 -7)
internal/pkg/core/uploader/uploader.go (+27 -0)
internal/pkg/core/uploader/uploader_aliyun_cas.go (+164 -0)
internal/pkg/core/uploader/uploader_huaweicloud_elb.go (+159 -0)
internal/pkg/core/uploader/uploader_huaweicloud_scm.go (+167 -0)
internal/pkg/core/uploader/uploader_tencentcloud_ssl.go (+91 -0)
internal/pkg/utils/cast/cast.go (+25 -0)
internal/pkg/utils/x509/x509.go (+48 -0)
ui/dist/.gitkeep (+1 -0)
📝 ui/public/imgs/providers/httpreq.svg (+2 -28)
📝 ui/public/imgs/providers/pdns.svg (+1 -1)
📝 ui/src/components/certimate/AccessAliyunForm.tsx (+95 -97)
📝 ui/src/components/certimate/AccessAwsForm.tsx (+125 -127)

...and 43 more files

📄 Description

此 PR 包含以下内容变更:

  • feat: 新增 Uploader(“上传者”)的抽象业务逻辑,并实现了基于阿里云 CAS、腾讯云 SSL、华为云 SCM、华为云 ELB 等云厂商的 Uploader。
  • refactor: 拆分了原 /ui/src/components/certimate/DeployList.tsx 组件,便于后续扩展业务逻辑。
  • refactor: 优化代码。

【备注】

关于 Uploader

很多云厂商的在部署到负载均衡等服务时,其提供的接口不支持直接传入证书 PEM 内容,而是需要先通过其提供的证书管理服务上传自定义证书、取得一个证书 ID,并在后续部署流程时使用该证书 ID。

虽然目前也可以在 Deployer 中实现此部分逻辑,但对于在将同一张证书同时部署到同一厂商的多个服务的场景下,可能存在将相同证书反复上传多次的问题。

为解决该问题、也为了简化 Deployer 中关于“上传证书”这部分的逻辑,因此单独抽象出了 Uploader 这一业务逻辑。该部分逻辑的相关代码辑位于 /internal/pkg/core/uploader/ 目录下。


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/certimate-go/certimate/pull/227 **Author:** [@fudiwei](https://github.com/fudiwei) **Created:** 10/20/2024 **Status:** ✅ Merged **Merged:** 10/22/2024 **Merged by:** [@usual2970](https://github.com/usual2970) **Base:** `main` ← **Head:** `feat/cloud-load-balance` --- ### 📝 Commits (10+) - [`88e6471`](https://github.com/certimate-go/certimate/commit/88e64717cd277107517d345b934162767efdfae6) feat: support using scm service on deployment to huaweicloud cdn - [`896b5d3`](https://github.com/certimate-go/certimate/commit/896b5d3a1355f4c06113b033e65f2f2b2cf363bf) Merge branch 'main' into feat/cloud-load-balance - [`8d41a9a`](https://github.com/certimate-go/certimate/commit/8d41a9aae70caccd4078178e4289eebf509c5ff5) Merge branch 'main' into feat/cloud-load-balance - [`f0e7fe6`](https://github.com/certimate-go/certimate/commit/f0e7fe695da987efa7b267935796d19435cbb941) clean code - [`3a213dc`](https://github.com/certimate-go/certimate/commit/3a213dc9c3d047542033eda972870fb79365df5f) feat: do not use region from access when deploy to huaweicloud cdn - [`560d21c`](https://github.com/certimate-go/certimate/commit/560d21c85400e3e0a5dec60a3b3b22ed371565b8) refactor: optimize code - [`f6a3f4e`](https://github.com/certimate-go/certimate/commit/f6a3f4edfacb319721ab3075c2d81fbbe8dc30be) refactor: optimize code - [`fc55e37`](https://github.com/certimate-go/certimate/commit/fc55e374549e79d157c761b42dc3deb6971408d1) chore: git keep /ui/dist - [`f168bd9`](https://github.com/certimate-go/certimate/commit/f168bd903d03f2e4a05dd3d60f4e4a2d3a841b3a) feat: add huaweicloud elb uploader - [`a4fc8df`](https://github.com/certimate-go/certimate/commit/a4fc8dfc567e0b01848c381bc67dda5958391d0e) feat: add tencentcloud ssl uploader ### 📊 Changes **63 files changed** (+3582 additions, -2550 deletions) <details> <summary>View changed files</summary> 📝 `.gitignore` (+3 -1) 📝 `README.md` (+2 -2) 📝 `README_EN.md` (+3 -4) 📝 `go.mod` (+5 -4) 📝 `go.sum` (+29 -4) 📝 `internal/applicant/huaweicloud.go` (+6 -1) 📝 `internal/deployer/huaweicloud_cdn.go` (+87 -31) 📝 `internal/domain/domains.go` (+70 -7) ➕ `internal/pkg/core/uploader/uploader.go` (+27 -0) ➕ `internal/pkg/core/uploader/uploader_aliyun_cas.go` (+164 -0) ➕ `internal/pkg/core/uploader/uploader_huaweicloud_elb.go` (+159 -0) ➕ `internal/pkg/core/uploader/uploader_huaweicloud_scm.go` (+167 -0) ➕ `internal/pkg/core/uploader/uploader_tencentcloud_ssl.go` (+91 -0) ➕ `internal/pkg/utils/cast/cast.go` (+25 -0) ➕ `internal/pkg/utils/x509/x509.go` (+48 -0) ➕ `ui/dist/.gitkeep` (+1 -0) 📝 `ui/public/imgs/providers/httpreq.svg` (+2 -28) 📝 `ui/public/imgs/providers/pdns.svg` (+1 -1) 📝 `ui/src/components/certimate/AccessAliyunForm.tsx` (+95 -97) 📝 `ui/src/components/certimate/AccessAwsForm.tsx` (+125 -127) _...and 43 more files_ </details> ### 📄 Description 此 PR 包含以下内容变更: - **feat**: 新增 Uploader(“上传者”)的抽象业务逻辑,并实现了基于阿里云 CAS、腾讯云 SSL、华为云 SCM、华为云 ELB 等云厂商的 Uploader。 - **refactor**: 拆分了原 `/ui/src/components/certimate/DeployList.tsx` 组件,便于后续扩展业务逻辑。 - **refactor**: 优化代码。 --- ### 【备注】 #### 关于 Uploader 很多云厂商的在部署到负载均衡等服务时,其提供的接口不支持直接传入证书 PEM 内容,而是需要先通过其提供的证书管理服务上传自定义证书、取得一个证书 ID,并在后续部署流程时使用该证书 ID。 虽然目前也可以在 Deployer 中实现此部分逻辑,但对于在将同一张证书同时部署到同一厂商的多个服务的场景下,可能存在将相同证书反复上传多次的问题。 为解决该问题、也为了简化 Deployer 中关于“上传证书”这部分的逻辑,因此单独抽象出了 Uploader 这一业务逻辑。该部分逻辑的相关代码辑位于 `/internal/pkg/core/uploader/` 目录下。 --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
kerem 2026-03-03 01:06:38 +03:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/certimate#879
No description provided.