[PR #956] [MERGED] New providers #1089

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

📋 Pull Request Information

Original PR: https://github.com/certimate-go/certimate/pull/956
Author: @fudiwei
Created: 9/8/2025
Status: Merged
Merged: 9/8/2025
Merged by: @fudiwei

Base: nextHead: dev


📝 Commits (9)

📊 Changes

71 files changed (+2153 additions, -1203 deletions)

View changed files

📝 internal/certapply/config.go (+19 -0)
📝 internal/certdeploy/deployers/sp_tencentcloud_cdn.go (+5 -4)
📝 internal/certdeploy/deployers/sp_tencentcloud_ecdn.go (+5 -4)
📝 internal/certdeploy/deployers/sp_volcengine_cdn.go (+1 -0)
📝 internal/certdeploy/deployers/sp_volcengine_live.go (+1 -0)
📝 internal/domain/access.go (+9 -0)
📝 internal/domain/provider.go (+4 -0)
📝 internal/domain/workflow.go (+4 -4)
📝 internal/workflow/engine/executor_bizmonitor.go (+1 -4)
📝 internal/workflow/engine/executor_bizupload.go (+127 -7)
📝 migrations/1756296000_cm0.4.0_migrate.go (+30 -2)
📝 pkg/core/ssl-deployer/providers/azure-keyvault/azure_keyvault.go (+1 -1)
pkg/core/ssl-deployer/providers/tencentcloud-cdn/consts.go (+10 -0)
📝 pkg/core/ssl-deployer/providers/tencentcloud-cdn/tencentcloud_cdn.go (+88 -13)
pkg/core/ssl-deployer/providers/tencentcloud-ecdn/consts.go (+10 -0)
📝 pkg/core/ssl-deployer/providers/tencentcloud-ecdn/tencentcloud_ecdn.go (+84 -10)
pkg/core/ssl-deployer/providers/volcengine-cdn/consts.go (+10 -0)
📝 pkg/core/ssl-deployer/providers/volcengine-cdn/volcengine_cdn.go (+131 -36)
pkg/core/ssl-deployer/providers/volcengine-live/consts.go (+8 -0)
📝 pkg/core/ssl-deployer/providers/volcengine-live/volcengine_live.go (+90 -45)

...and 51 more files

📄 Description

该 PR 包含以下内容变更:

  • feat: 新增证书颁发机构:GlobalSign Atlas。
  • feat: 新增证书颁发机构:Sectigo。
  • feat: 统一部署时的各提供商的域名匹配模式(见 BREAKING CHANGES)。
  • feat: 上传证书支持从本地路径或 URL 中读取。
  • chore: 升级 npm 第三方依赖项。

BREAKING CHANGES

域名匹配模式

在之前的版本中,由于各贡献者实现的部署提供商没有统一规范,在某些支持泛解析的云服务中,如果在部署节点中输入一个开头为 * 的域名(即泛域名),会产生三种不同的行为逻辑:

  1. 精确匹配,只部署到泛解析站点。即 *.example.com 只会匹配 *.example.com 这一个站点。
  2. 通配符匹配,部署到所有匹配该泛域名的站点。即 *.example.com 会匹配 www.example.comimage.example.com 等多个站点。
  3. 根据证书自动匹配,部署到所有匹配所属证书的站点。证书可能是一张多域名证书(例如同时包含 www.foo.comwww.bar.comwww.baz.com),即使用户只输入了 *.foo.com,也会匹配到 www.foo.comwww.bar.comwww.baz.com 等多个站点。

这在使用时会给用户造成歧义。为了避免不必要的困扰,现在统一泛域名默认的行为逻辑为“精确匹配”

以下部署提供商会受到影响:

  • tencentcloud-cdn:腾讯云 CDN,原行为逻辑是“根据证书自动匹配”。
  • tencentcloud-ecdn:腾讯云 ECDN,原行为逻辑为是“根据证书自动匹配”。
  • volcengine-cdn:火山引擎 CDN,原行为逻辑是“通配符匹配”。
  • volcengine-live:火山引擎 Live,原行为逻辑是“通配符匹配”。

与此同时,我们为这些部署提供商在部署节点中额外提供了“域名匹配模式”这一配置项,你仍可以手动修改它的值为“通配符匹配”或“根据证书自动匹配”,来保持与之前版本相同的行为逻辑。

在未来的版本迭代中,我们会逐步为每个部署提供商都引入“域名匹配模式”这一配置项。


🔄 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/956 **Author:** [@fudiwei](https://github.com/fudiwei) **Created:** 9/8/2025 **Status:** ✅ Merged **Merged:** 9/8/2025 **Merged by:** [@fudiwei](https://github.com/fudiwei) **Base:** `next` ← **Head:** `dev` --- ### 📝 Commits (9) - [`7f51a06`](https://github.com/certimate-go/certimate/commit/7f51a0615a03ba7edbb4bc8bcf438f8ee398fe4e) refactor(ui): clean code - [`d2f4117`](https://github.com/certimate-go/certimate/commit/d2f4117f6fcedb041ed6dd2b9116c9c1c6a2bf5a) feat(ui): enhance CAProviderSelect - [`3ab95db`](https://github.com/certimate-go/certimate/commit/3ab95db2f31ddc4d283a0e3d81daf9b504bb81e2) feat: new ca provider: globalsign atlas - [`92211ab`](https://github.com/certimate-go/certimate/commit/92211ab6936e4a58ab202499110dc29c457fb43d) feat: new ca provider: sectigo - [`531840e`](https://github.com/certimate-go/certimate/commit/531840e59aa26ed34a35caa6bcccf12076aba954) chore(deps): upgrade npm dependencies - [`5f27509`](https://github.com/certimate-go/certimate/commit/5f27509b54bdde2f20203d9a0e290d68aadd77bf) feat: standardize domain match patterns on deployment - [`cfe3f6c`](https://github.com/certimate-go/certimate/commit/cfe3f6cc013b5804fd2c844b1caf4157514dcddc) refactor: clean code - [`32cd10d`](https://github.com/certimate-go/certimate/commit/32cd10d06c988826edafd04b81505e66dbdf2fe1) feat: support uploading certificates from local paths or urls - [`ee1ecec`](https://github.com/certimate-go/certimate/commit/ee1ececb18b966207ba6d1364166909892022f90) Merge branch 'dev' of https://github.com/fudiwei/certimate into dev ### 📊 Changes **71 files changed** (+2153 additions, -1203 deletions) <details> <summary>View changed files</summary> 📝 `internal/certapply/config.go` (+19 -0) 📝 `internal/certdeploy/deployers/sp_tencentcloud_cdn.go` (+5 -4) 📝 `internal/certdeploy/deployers/sp_tencentcloud_ecdn.go` (+5 -4) 📝 `internal/certdeploy/deployers/sp_volcengine_cdn.go` (+1 -0) 📝 `internal/certdeploy/deployers/sp_volcengine_live.go` (+1 -0) 📝 `internal/domain/access.go` (+9 -0) 📝 `internal/domain/provider.go` (+4 -0) 📝 `internal/domain/workflow.go` (+4 -4) 📝 `internal/workflow/engine/executor_bizmonitor.go` (+1 -4) 📝 `internal/workflow/engine/executor_bizupload.go` (+127 -7) 📝 `migrations/1756296000_cm0.4.0_migrate.go` (+30 -2) 📝 `pkg/core/ssl-deployer/providers/azure-keyvault/azure_keyvault.go` (+1 -1) ➕ `pkg/core/ssl-deployer/providers/tencentcloud-cdn/consts.go` (+10 -0) 📝 `pkg/core/ssl-deployer/providers/tencentcloud-cdn/tencentcloud_cdn.go` (+88 -13) ➕ `pkg/core/ssl-deployer/providers/tencentcloud-ecdn/consts.go` (+10 -0) 📝 `pkg/core/ssl-deployer/providers/tencentcloud-ecdn/tencentcloud_ecdn.go` (+84 -10) ➕ `pkg/core/ssl-deployer/providers/volcengine-cdn/consts.go` (+10 -0) 📝 `pkg/core/ssl-deployer/providers/volcengine-cdn/volcengine_cdn.go` (+131 -36) ➕ `pkg/core/ssl-deployer/providers/volcengine-live/consts.go` (+8 -0) 📝 `pkg/core/ssl-deployer/providers/volcengine-live/volcengine_live.go` (+90 -45) _...and 51 more files_ </details> ### 📄 Description 该 PR 包含以下内容变更: - **feat**: 新增证书颁发机构:GlobalSign Atlas。 - **feat**: 新增证书颁发机构:Sectigo。 - **feat**: 统一部署时的各提供商的域名匹配模式(见 BREAKING CHANGES)。 - **feat**: 上传证书支持从本地路径或 URL 中读取。 - **chore**: 升级 npm 第三方依赖项。 --- ## BREAKING CHANGES ### 域名匹配模式 在之前的版本中,由于各贡献者实现的部署提供商没有统一规范,在某些支持泛解析的云服务中,如果在部署节点中输入一个开头为 `*` 的域名(即泛域名),会产生三种不同的行为逻辑: 1. 精确匹配,只部署到泛解析站点。即 `*.example.com` 只会匹配 `*.example.com` 这一个站点。 2. 通配符匹配,部署到所有匹配该泛域名的站点。即 `*.example.com` 会匹配 `www.example.com`、`image.example.com` 等多个站点。 3. 根据证书自动匹配,部署到所有匹配所属证书的站点。证书可能是一张多域名证书(例如同时包含 `www.foo.com`、`www.bar.com`、`www.baz.com`),即使用户只输入了 `*.foo.com`,也会匹配到 `www.foo.com`、`www.bar.com`、`www.baz.com` 等多个站点。 这在使用时会给用户造成歧义。为了避免不必要的困扰,现在**统一泛域名默认的行为逻辑为“精确匹配”**。 以下部署提供商会受到影响: - `tencentcloud-cdn`:腾讯云 CDN,原行为逻辑是“根据证书自动匹配”。 - `tencentcloud-ecdn`:腾讯云 ECDN,原行为逻辑为是“根据证书自动匹配”。 - `volcengine-cdn`:火山引擎 CDN,原行为逻辑是“通配符匹配”。 - `volcengine-live`:火山引擎 Live,原行为逻辑是“通配符匹配”。 与此同时,我们为这些部署提供商在部署节点中额外提供了“域名匹配模式”这一配置项,你仍可以手动修改它的值为“通配符匹配”或“根据证书自动匹配”,来保持与之前版本相同的行为逻辑。 在未来的版本迭代中,我们会逐步为每个部署提供商都引入“域名匹配模式”这一配置项。 --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
kerem 2026-03-03 01:07: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#1089
No description provided.