diff --git a/packages/ui/certd-server/metadata/access_dnspod.yaml b/packages/ui/certd-server/metadata/access_dnspod.yaml
new file mode 100644
index 000000000..36c478179
--- /dev/null
+++ b/packages/ui/certd-server/metadata/access_dnspod.yaml
@@ -0,0 +1,38 @@
+name: dnspod
+title: dnspod(已废弃)
+desc: 腾讯云的域名解析接口已迁移到dnspod
+deprecated: dnspod已废弃,请换成腾讯云
+icon: svg:icon-tencentcloud
+input:
+ endpoint:
+ title: 端点
+ component:
+ placeholder: endpoint
+ name: a-auto-complete
+ vModel: value
+ options:
+ - value: https://dnsapi.cn
+ label: 中国站
+ - value: https://api.dnspod.com
+ label: 国际站
+ rules:
+ - required: true
+ message: 该项必填
+ id:
+ title: ID
+ component:
+ placeholder: dnspod token 的 id
+ rules:
+ - required: true
+ message: 该项必填
+ token:
+ title: token
+ component:
+ placeholder: 开放接口token
+ encrypt: true
+ rules:
+ - required: true
+ message: 该项必填
+type: builtIn
+pluginType: access
+scriptFilePath: ../../../plugins/plugin-tencent/access/dnspod-access.js
diff --git a/packages/ui/certd-server/metadata/access_proxmox.yaml b/packages/ui/certd-server/metadata/access_proxmox.yaml
new file mode 100644
index 000000000..7bc9e33cc
--- /dev/null
+++ b/packages/ui/certd-server/metadata/access_proxmox.yaml
@@ -0,0 +1,42 @@
+name: proxmox
+title: proxmox
+desc: ''
+icon: svg:icon-proxmox
+input:
+ host:
+ title: host
+ component:
+ placeholder: IP或域名
+ required: true
+ encrypt: false
+ port:
+ title: 端口
+ component:
+ placeholder: 端口
+ component:
+ name: a-input-number
+ required: true
+ encrypt: false
+ username:
+ title: 用户名
+ component:
+ placeholder: username
+ required: true
+ encrypt: false
+ password:
+ title: 密码
+ component:
+ placeholder: password
+ required: true
+ encrypt: true
+ realm:
+ title: 领域
+ value: pam
+ component:
+ placeholder: pam、pve。默认值 pam
+ helper: pam 或 pve。默认值 pam
+ required: false
+ encrypt: false
+type: builtIn
+pluginType: access
+scriptFilePath: ../../../plugins/plugin-proxmox/access.js
diff --git a/packages/ui/certd-server/metadata/access_rainyun.yaml b/packages/ui/certd-server/metadata/access_rainyun.yaml
new file mode 100644
index 000000000..26b016692
--- /dev/null
+++ b/packages/ui/certd-server/metadata/access_rainyun.yaml
@@ -0,0 +1,24 @@
+name: rainyun
+title: 雨云授权
+desc: https://app.rainyun.com/
+icon: svg:icon-rainyun
+order: 100
+input:
+ apiKey:
+ title: ApiKey
+ component:
+ placeholder: api-key
+ name: a-input
+ vModel: value
+ helper: https://app.rainyun.com/account/settings/api-key
+ encrypt: true
+ required: true
+ testRequest:
+ title: 测试
+ component:
+ name: api-test
+ action: TestRequest
+ helper: 点击测试接口是否正常
+type: builtIn
+pluginType: access
+scriptFilePath: ../../../plugins/plugin-rainyun/access.js
diff --git a/packages/ui/certd-server/metadata/access_ucloud.yaml b/packages/ui/certd-server/metadata/access_ucloud.yaml
new file mode 100644
index 000000000..463c2c32f
--- /dev/null
+++ b/packages/ui/certd-server/metadata/access_ucloud.yaml
@@ -0,0 +1,36 @@
+name: ucloud
+title: UCloud授权
+icon: svg:icon-ucloud
+desc: 优刻得授权
+input:
+ projectId:
+ title: 项目Id
+ component:
+ placeholder: 项目Id
+ helper: '[项目管理](https://console.ucloud.cn/uaccount/iam/project_manage)项目ID列获取'
+ required: true
+ encrypt: false
+ publicKey:
+ title: 公钥
+ component:
+ placeholder: 公钥
+ helper: '[Api管理](https://console.ucloud.cn/uaccount/api_manage)获取'
+ required: true
+ encrypt: false
+ privateKey:
+ title: 私钥
+ component:
+ name: a-input-password
+ vModel: value
+ placeholder: 私钥
+ required: true
+ encrypt: true
+ testRequest:
+ title: 测试
+ component:
+ name: api-test
+ action: TestRequest
+ helper: 点击测试接口是否正常
+type: builtIn
+pluginType: access
+scriptFilePath: ../../../plugins/plugin-ucloud/access.js
diff --git a/packages/ui/certd-server/metadata/access_upyun.yaml b/packages/ui/certd-server/metadata/access_upyun.yaml
new file mode 100644
index 000000000..345995267
--- /dev/null
+++ b/packages/ui/certd-server/metadata/access_upyun.yaml
@@ -0,0 +1,19 @@
+name: upyun
+title: 又拍云
+desc: ''
+icon: svg:icon-upyun
+input:
+ username:
+ title: 账号
+ component:
+ placeholder: 又拍云账号
+ required: true
+ password:
+ title: 密码
+ component:
+ placeholder: 又拍云密码
+ required: true
+ encrypt: true
+type: builtIn
+pluginType: access
+scriptFilePath: ../../../plugins/plugin-upyun/access.js
diff --git a/packages/ui/certd-server/metadata/access_volcengine.yaml b/packages/ui/certd-server/metadata/access_volcengine.yaml
new file mode 100644
index 000000000..7e3227c7f
--- /dev/null
+++ b/packages/ui/certd-server/metadata/access_volcengine.yaml
@@ -0,0 +1,21 @@
+name: volcengine
+title: 火山引擎
+desc: ''
+icon: svg:icon-volcengine
+order: 1
+input:
+ accessKeyId:
+ title: AccessKeyID
+ component:
+ placeholder: AccessKeyID
+ helper: '[获取密钥](https://console.volcengine.com/iam/keymanage/)'
+ required: true
+ secretAccessKey:
+ title: SecretAccessKey
+ component:
+ placeholder: SecretAccessKey
+ required: true
+ encrypt: true
+type: builtIn
+pluginType: access
+scriptFilePath: ../../../plugins/plugin-volcengine/access.js
diff --git a/packages/ui/certd-server/metadata/access_wangsu.yaml b/packages/ui/certd-server/metadata/access_wangsu.yaml
new file mode 100644
index 000000000..3a0b8ba54
--- /dev/null
+++ b/packages/ui/certd-server/metadata/access_wangsu.yaml
@@ -0,0 +1,33 @@
+name: wangsu
+title: 网宿授权
+desc: ''
+icon: svg:icon-wangsu
+input:
+ accessKeyId:
+ title: accessKeyId
+ component:
+ placeholder: accessKeyId
+ component:
+ name: a-input
+ vModel: value
+ helper: '[点击前往获取AccessKey](https://console.wangsu.com/account/accessKey?rsr=ws)'
+ encrypt: false
+ required: true
+ accessKeySecret:
+ title: accessKeySecret
+ component:
+ placeholder: accessKeySecret
+ component:
+ name: a-input
+ vModel: value
+ encrypt: true
+ required: true
+ testRequest:
+ title: 测试
+ component:
+ name: api-test
+ action: TestRequest
+ helper: 点击测试接口是否正常
+type: builtIn
+pluginType: access
+scriptFilePath: ../../../plugins/plugin-wangsu/access.js
diff --git a/packages/ui/certd-server/metadata/access_west.yaml b/packages/ui/certd-server/metadata/access_west.yaml
new file mode 100644
index 000000000..c15231976
--- /dev/null
+++ b/packages/ui/certd-server/metadata/access_west.yaml
@@ -0,0 +1,87 @@
+name: west
+title: 西部数码授权
+desc: ''
+icon: tabler:map-west
+input:
+ scope:
+ title: 权限范围
+ component:
+ name: a-select
+ vModel: value
+ options:
+ - value: account
+ label: 账户级别,对所有域名都有权限管理
+ - value: domain
+ label: 域名级别,仅能管理单个域名
+ helper: 选择权限范围
+ required: true
+ username:
+ title: 账号
+ helper: 你的登录账号
+ encrypt: false
+ required: false
+ mergeScript: |2-
+
+ return {
+ show:ctx.compute(({form})=>{
+ return form.access.scope === 'account'
+ })
+ }
+
+ apikey:
+ title: ApiKey
+ component:
+ placeholder: 账户级别的key,对整个账户都有管理权限
+ helper: |-
+ 账户级别的key,对整个账户都有管理权限
+ 前往[API接口配置](https://www.west.cn/manager/API/APIconfig.asp),手动设置“api连接密码”
+ encrypt: true
+ required: false
+ mergeScript: |2-
+
+ return {
+ show:ctx.compute(({form})=>{
+ return form.access.scope === 'account'
+ })
+ }
+
+ apidomainkey:
+ title: apidomainkey
+ component:
+ placeholder: 域名级别的key,仅对单个域名有权限
+ helper: |-
+ 域名级别的key,仅对单个域名有权限。
+ 前往[西部数据域名管理](https://www.west.cn/manager/domain/),点击域名,右上方点击ApiKey获取密钥
+ encrypt: true
+ required: false
+ mergeScript: |2-
+
+ return {
+ show:ctx.compute(({form})=>{
+ return form.access.scope === 'domain'
+ })
+ }
+
+ domain:
+ title: 域名
+ component:
+ placeholder: 域名级别的key对应的域名
+ encrypt: false
+ required: false
+ mergeScript: |2-
+
+ return {
+ show:ctx.compute(({form})=>{
+ return form.access.scope === 'domain'
+ })
+ }
+
+ testRequest:
+ title: 测试
+ component:
+ name: api-test
+ action: TestRequest
+ helper: 点击测试接口是否正常
+type: builtIn
+pluginType: access
+scriptFilePath: ../../../plugins/plugin-west/access.js
diff --git a/packages/ui/certd-server/metadata/access_woai.yaml b/packages/ui/certd-server/metadata/access_woai.yaml
new file mode 100644
index 000000000..de54f4f01
--- /dev/null
+++ b/packages/ui/certd-server/metadata/access_woai.yaml
@@ -0,0 +1,19 @@
+name: woai
+title: 我爱云授权
+desc: 我爱云CDN
+icon: clarity:plugin-line
+input:
+ username:
+ title: 账号
+ component:
+ placeholder: 我爱云的账号
+ required: true
+ password:
+ title: 密码
+ component:
+ placeholder: 我爱云的密码
+ required: true
+ encrypt: true
+type: builtIn
+pluginType: access
+scriptFilePath: ../../../plugins/plugin-woai/access.js
diff --git a/packages/ui/certd-server/metadata/access_xinnet.yaml b/packages/ui/certd-server/metadata/access_xinnet.yaml
new file mode 100644
index 000000000..c1fdd81f9
--- /dev/null
+++ b/packages/ui/certd-server/metadata/access_xinnet.yaml
@@ -0,0 +1,28 @@
+name: xinnet
+title: 新网授权
+icon: svg:icon-xinnet
+desc: ''
+input:
+ username:
+ title: 用户名
+ component:
+ placeholder: 手机号/用户名
+ required: true
+ encrypt: true
+ password:
+ title: 登录密码
+ component:
+ name: a-input-password
+ vModel: value
+ placeholder: 登录密码
+ required: true
+ encrypt: true
+ testRequest:
+ title: 测试
+ component:
+ name: api-test
+ action: TestRequest
+ helper: 点击测试接口是否正常
+type: builtIn
+pluginType: access
+scriptFilePath: ../../../plugins/plugin-xinnet/access.js
diff --git a/packages/ui/certd-server/metadata/access_xinnetagent.yaml b/packages/ui/certd-server/metadata/access_xinnetagent.yaml
new file mode 100644
index 000000000..d6d94b204
--- /dev/null
+++ b/packages/ui/certd-server/metadata/access_xinnetagent.yaml
@@ -0,0 +1,28 @@
+name: xinnetagent
+title: 新网授权(代理方式)
+icon: svg:icon-xinnet
+desc: ''
+input:
+ agentCode:
+ title: 代理账号
+ component:
+ placeholder: 代理账号,如:agent0001
+ required: true
+ encrypt: false
+ appSecret:
+ title: API密钥
+ component:
+ name: a-input-password
+ vModel: value
+ placeholder: API密钥
+ required: true
+ encrypt: true
+ testRequest:
+ title: 测试
+ component:
+ name: api-test
+ action: TestRequest
+ helper: 点击测试接口是否正常
+type: builtIn
+pluginType: access
+scriptFilePath: ../../../plugins/plugin-xinnet/access-agent.js
diff --git a/packages/ui/certd-server/metadata/access_xinnetconnect.yaml b/packages/ui/certd-server/metadata/access_xinnetconnect.yaml
new file mode 100644
index 000000000..abe912eab
--- /dev/null
+++ b/packages/ui/certd-server/metadata/access_xinnetconnect.yaml
@@ -0,0 +1,23 @@
+name: xinnetconnect
+title: 新网互联授权
+icon: svg:icon-xinnet
+desc: 仅支持代理账号,ip需要加入白名单
+input:
+ username:
+ title: 用户名
+ component:
+ placeholder: 代理用户名,如:agent001
+ help: 新网互联的代理用户名
+ required: true
+ encrypt: false
+ password:
+ title: 密码
+ component:
+ name: a-input-password
+ vModel: value
+ placeholder: 密码
+ required: true
+ encrypt: true
+type: builtIn
+pluginType: access
+scriptFilePath: ../../../plugins/plugin-xinnetconnet/access.js
diff --git a/packages/ui/certd-server/metadata/deploy_DeployCertToMailPlugin.yaml b/packages/ui/certd-server/metadata/deploy_DeployCertToMailPlugin.yaml
new file mode 100644
index 000000000..4dbe6a8b8
--- /dev/null
+++ b/packages/ui/certd-server/metadata/deploy_DeployCertToMailPlugin.yaml
@@ -0,0 +1,47 @@
+showRunStrategy: false
+default:
+ strategy:
+ runStrategy: 1
+name: DeployCertToMailPlugin
+title: 邮件发送证书
+icon: ion:mail-outline
+desc: 通过邮件发送证书
+group: other
+input:
+ cert:
+ title: 域名证书
+ helper: 请选择前置任务输出的域名证书
+ component:
+ name: output-selector
+ from:
+ - ':cert:'
+ required: true
+ order: 0
+ certZip:
+ title: 证书压缩文件
+ helper: 请选择前置任务输出的域名证书压缩文件
+ component:
+ name: output-selector
+ from:
+ - ':certZip:'
+ required: true
+ order: 0
+ email:
+ title: 接收邮箱
+ component:
+ name: EmailSelector
+ vModel: value
+ mode: tags
+ required: true
+ order: 0
+ remark:
+ title: 备注
+ component:
+ name: a-input
+ vModel: value
+ required: false
+ order: 0
+output: {}
+type: builtIn
+pluginType: deploy
+scriptFilePath: ../../../plugins/plugin-other/plugins/plugin-deploy-to-mail.js
diff --git a/packages/ui/certd-server/metadata/deploy_DeployCertToTencentAll.yaml b/packages/ui/certd-server/metadata/deploy_DeployCertToTencentAll.yaml
new file mode 100644
index 000000000..8798ebdf3
--- /dev/null
+++ b/packages/ui/certd-server/metadata/deploy_DeployCertToTencentAll.yaml
@@ -0,0 +1,88 @@
+showRunStrategy: false
+default:
+ strategy:
+ runStrategy: 1
+name: DeployCertToTencentAll
+title: 腾讯云-部署证书到任意云资源
+needPlus: false
+icon: svg:icon-tencentcloud
+group: tencent
+desc: 支持负载均衡、CDN、DDoS、直播、点播、Web应用防火墙、API网关、TEO、容器服务、对象存储、轻应用服务器、云原生微服务、云开发
+input:
+ accessId:
+ title: Access授权
+ helper: access授权
+ component:
+ name: access-selector
+ type: tencent
+ required: true
+ order: 0
+ tencentCertId:
+ title: 证书
+ helper: 请选择"证书申请任务"或“上传证书到腾讯云”前置任务的输出
+ component:
+ name: output-selector
+ from:
+ - ':cert:'
+ - UploadCertToTencent
+ required: true
+ order: 0
+ resourceType:
+ title: 资源类型
+ component:
+ name: a-select
+ vModel: value
+ allowClear: true
+ options:
+ - value: clb
+ label: 负载均衡
+ - value: cdn
+ label: CDN
+ - value: ddos
+ label: DDoS
+ - value: live
+ label: 直播
+ - value: vod
+ label: 点播
+ - value: waf
+ label: Web应用防火墙
+ - value: apigateway
+ label: API网关
+ - value: teo
+ label: TEO
+ - value: tke
+ label: 容器服务
+ - value: cos
+ label: 对象存储
+ - value: lighthouse
+ label: 轻应用服务器
+ - value: tse
+ label: 云原生微服务
+ - value: tcb
+ label: 云开发
+ helper: ''
+ required: true
+ order: 0
+ region:
+ title: Region
+ component:
+ name: a-input
+ vModel: value
+ allowClear: true
+ helper: >-
+ 当云资源类型传入clb、waf、apigateway、cos、lighthouse、tke、tse、tcb
+ 时,公共参数Region必传。[参考文档](https://cloud.tencent.com/document/product/400/91667)
+ order: 0
+ instanceIdList:
+ title: 云资源实例Id列表
+ component:
+ name: a-select
+ vModel: value
+ open: false
+ mode: tags
+ helper: '[参考文档](https://cloud.tencent.com/document/product/400/91667)'
+ order: 0
+output: {}
+type: builtIn
+pluginType: deploy
+scriptFilePath: ../../../plugins/plugin-tencent/plugin/deploy-to-all/index.js
diff --git a/packages/ui/certd-server/metadata/deploy_DeployCertToTencentCDN.yaml b/packages/ui/certd-server/metadata/deploy_DeployCertToTencentCDN.yaml
new file mode 100644
index 000000000..2cce352b9
--- /dev/null
+++ b/packages/ui/certd-server/metadata/deploy_DeployCertToTencentCDN.yaml
@@ -0,0 +1,41 @@
+showRunStrategy: false
+default:
+ strategy:
+ runStrategy: 1
+name: DeployCertToTencentCDN
+title: 腾讯云-部署到CDN(废弃)
+icon: svg:icon-tencentcloud
+group: tencent
+desc: 已废弃,请使用v2版
+input:
+ cert:
+ title: 域名证书
+ helper: 请选择前置任务输出的域名证书
+ component:
+ name: output-selector
+ from:
+ - ':cert:'
+ required: true
+ order: 0
+ accessId:
+ title: Access提供者
+ helper: access 授权
+ component:
+ name: access-selector
+ type: tencent
+ required: true
+ order: 0
+ certName:
+ title: 证书名称
+ helper: 证书上传后将以此参数作为名称前缀
+ order: 0
+ domainName:
+ title: cdn加速域名
+ rules:
+ - required: true
+ message: 该项必填
+ order: 0
+output: {}
+type: builtIn
+pluginType: deploy
+scriptFilePath: ../../../plugins/plugin-tencent/plugin/deploy-to-cdn/index.js
diff --git a/packages/ui/certd-server/metadata/deploy_DeployCertToTencentCLB.yaml b/packages/ui/certd-server/metadata/deploy_DeployCertToTencentCLB.yaml
new file mode 100644
index 000000000..ecdbe0ebe
--- /dev/null
+++ b/packages/ui/certd-server/metadata/deploy_DeployCertToTencentCLB.yaml
@@ -0,0 +1,80 @@
+showRunStrategy: false
+default:
+ strategy:
+ runStrategy: 1
+name: DeployCertToTencentCLB
+title: 腾讯云-部署到CLB
+icon: svg:icon-tencentcloud
+group: tencent
+desc: 暂时只支持单向认证证书,暂时只支持通用负载均衡
+input:
+ region:
+ title: 大区
+ component:
+ name: a-auto-complete
+ vModel: value
+ options:
+ - value: ap-guangzhou
+ - value: ap-beijing
+ - value: ap-chengdu
+ - value: ap-chongqing
+ - value: ap-hongkong
+ - value: ap-jakarta
+ - value: ap-mumbai
+ - value: ap-nanjing
+ - value: ap-seoul
+ - value: ap-shanghai
+ - value: ap-shanghai-fsi
+ - value: ap-shenzhen-fsi
+ - value: ap-singapore
+ - value: ap-tokyo
+ - value: eu-frankfurt
+ - value: na-ashburn
+ - value: na-siliconvalley
+ - value: na-toronto
+ - value: sa-saopaulo
+ required: true
+ order: 0
+ certName:
+ title: 证书名称前缀
+ order: 0
+ loadBalancerId:
+ title: 负载均衡ID
+ helper: 如果没有配置,则根据域名匹配负载均衡下的监听器(根据域名匹配时暂时只支持前100个)
+ required: true
+ order: 0
+ listenerId:
+ title: 监听器ID
+ required: true
+ order: 0
+ domain:
+ title: 域名
+ required: false
+ component:
+ name: a-select
+ vModel: value
+ open: false
+ mode: tags
+ helper: 如果开启了sni,则此项必须填写,未开启,则不要填写
+ order: 0
+ cert:
+ title: 域名证书
+ helper: 请选择前置任务输出的域名证书
+ component:
+ name: output-selector
+ from:
+ - ':cert:'
+ required: true
+ order: 0
+ accessId:
+ title: Access提供者
+ helper: access授权
+ component:
+ name: access-selector
+ type: tencent
+ required: true
+ order: 0
+output: {}
+type: builtIn
+pluginType: deploy
+scriptFilePath: ../../../plugins/plugin-tencent/plugin/deploy-to-clb/index.js
diff --git a/packages/ui/certd-server/metadata/deploy_DeployCertToTencentCosPlugin.yaml b/packages/ui/certd-server/metadata/deploy_DeployCertToTencentCosPlugin.yaml
new file mode 100644
index 000000000..a8a1b6ac6
--- /dev/null
+++ b/packages/ui/certd-server/metadata/deploy_DeployCertToTencentCosPlugin.yaml
@@ -0,0 +1,122 @@
+showRunStrategy: false
+default:
+ strategy:
+ runStrategy: 1
+name: DeployCertToTencentCosPlugin
+title: 腾讯云-部署证书到COS
+needPlus: false
+icon: svg:icon-tencentcloud
+group: tencent
+desc: 部署到腾讯云COS源站域名证书【注意:很不稳定,需要重试很多次偶尔才能成功一次】
+input:
+ accessId:
+ title: Access授权
+ helper: access授权
+ component:
+ name: access-selector
+ type: tencent
+ required: true
+ order: 0
+ bucket:
+ title: 存储桶名称
+ helper: 请输入存储桶名称
+ order: 0
+ region:
+ title: 所在地域
+ helper: 存储桶所在地域
+ component:
+ name: a-auto-complete
+ vModel: value
+ options:
+ - value: ''
+ label: '--------中国大陆地区-------'
+ disabled: true
+ - value: ap-beijing-1
+ label: 北京1区
+ - value: ap-beijing
+ label: 北京
+ - value: ap-nanjing
+ label: 南京
+ - value: ap-shanghai
+ label: 上海
+ - value: ap-guangzhou
+ label: 广州
+ - value: ap-chengdu
+ label: 成都
+ - value: ap-chongqing
+ label: 重庆
+ - value: ap-shenzhen-fsi
+ label: 深圳金融
+ - value: ap-shanghai-fsi
+ label: 上海金融
+ - value: ap-beijing-fsi
+ label: 北京金融
+ - value: ''
+ label: '--------中国香港及境外-------'
+ disabled: true
+ - value: ap-hongkong
+ label: 中国香港
+ - value: ap-singapore
+ label: 新加坡
+ - value: ap-mumbai
+ label: 孟买
+ - value: ap-jakarta
+ label: 雅加达
+ - value: ap-seoul
+ label: 首尔
+ - value: ap-bangkok
+ label: 曼谷
+ - value: ap-tokyo
+ label: 东京
+ - value: na-siliconvalley
+ label: 硅谷
+ - value: na-ashburn
+ label: 弗吉尼亚
+ - value: sa-saopaulo
+ label: 圣保罗
+ - value: eu-frankfurt
+ label: 法兰克福
+ order: 0
+ domains:
+ title: COS域名
+ component:
+ name: remote-select
+ vModel: value
+ mode: tags
+ type: plugin
+ typeName: DeployCertToTencentCosPlugin
+ action: onGetDomainList
+ search: false
+ pager: false
+ watches:
+ - certDomains
+ - accessId
+ - bucket
+ - region
+ required: true
+ mergeScript: |2-
+
+ return {
+ component:{
+ form: ctx.compute(({form})=>{
+ return form
+ })
+ },
+ }
+
+ helper: 请选择域名
+ order: 0
+ cert:
+ title: 域名证书
+ helper: 请选择前置任务输出的域名证书,或者选择前置任务“上传证书到腾讯云”任务的证书ID
+ component:
+ name: output-selector
+ from:
+ - ':cert:'
+ - UploadCertToTencent
+ required: true
+ order: 0
+output: {}
+type: builtIn
+pluginType: deploy
+scriptFilePath: ../../../plugins/plugin-tencent/plugin/deploy-to-cos/index.js
diff --git a/packages/ui/certd-server/metadata/deploy_DeployCertToTencentEO.yaml b/packages/ui/certd-server/metadata/deploy_DeployCertToTencentEO.yaml
new file mode 100644
index 000000000..471bb77fa
--- /dev/null
+++ b/packages/ui/certd-server/metadata/deploy_DeployCertToTencentEO.yaml
@@ -0,0 +1,107 @@
+showRunStrategy: false
+default:
+ strategy:
+ runStrategy: 1
+name: DeployCertToTencentEO
+title: 腾讯云-部署到腾讯云EO
+icon: svg:icon-tencentcloud
+desc: 腾讯云边缘安全加速平台EdgeOne(EO)
+group: tencent
+input:
+ cert:
+ title: 域名证书
+ helper: 请选择前置任务输出的域名证书,或者选择前置任务“上传证书到腾讯云”任务的证书ID
+ component:
+ name: output-selector
+ from:
+ - ':cert:'
+ - UploadCertToTencent
+ required: true
+ order: 0
+ certDomains:
+ title: 当前证书域名
+ component:
+ name: cert-domains-getter
+ mergeScript: |2-
+
+ return {
+ component:{
+ inputKey: ctx.compute(({form})=>{
+ return form.cert
+ }),
+ }
+ }
+
+ template: false
+ required: false
+ order: 0
+ accessId:
+ title: Access提供者
+ helper: access 授权
+ component:
+ name: access-selector
+ type: tencent
+ required: true
+ order: 0
+ zoneId:
+ title: 站点ID
+ component:
+ name: remote-auto-complete
+ vModel: value
+ mode: tags
+ type: plugin
+ action: onGetZoneList
+ search: false
+ pager: false
+ watches:
+ - certDomains
+ - accessId
+ - certDomains
+ - accessId
+ required: true
+ mergeScript: |2-
+
+ return {
+ component:{
+ form: ctx.compute(({form})=>{
+ return form
+ })
+ },
+ }
+
+ helper: 类似于zone-xxxx的字符串,在站点概览页面左上角,或者,站点列表页面站点名称下方
+ order: 0
+ domainNames:
+ title: 加速域名
+ component:
+ name: remote-select
+ vModel: value
+ mode: tags
+ type: plugin
+ action: onGetDomainList
+ search: false
+ pager: false
+ watches:
+ - certDomains
+ - accessId
+ required: true
+ mergeScript: |2-
+
+ return {
+ component:{
+ form: ctx.compute(({form})=>{
+ return form
+ })
+ },
+ }
+
+ helper: 请选择域名或输入域名
+ order: 0
+ certName:
+ title: 证书名称
+ helper: 证书上传后将以此参数作为名称前缀
+ order: 0
+output: {}
+type: builtIn
+pluginType: deploy
+scriptFilePath: ../../../plugins/plugin-tencent/plugin/deploy-to-eo/index.js
diff --git a/packages/ui/certd-server/metadata/deploy_DeployCertToTencentTKEIngress.yaml b/packages/ui/certd-server/metadata/deploy_DeployCertToTencentTKEIngress.yaml
new file mode 100644
index 000000000..71afd0f25
--- /dev/null
+++ b/packages/ui/certd-server/metadata/deploy_DeployCertToTencentTKEIngress.yaml
@@ -0,0 +1,133 @@
+showRunStrategy: false
+default:
+ strategy:
+ runStrategy: 1
+name: DeployCertToTencentTKEIngress
+title: 腾讯云-部署到TKE
+needPlus: false
+icon: svg:icon-tencentcloud
+group: tencent
+desc: |-
+ 修改TKE集群密钥配置,支持Opaque和TLS证书类型。注意:
+ 1. serverless集群请使用K8S部署插件;
+ 2. Opaque类型需要【上传到腾讯云】作为前置任务;
+ 3. ApiServer需要开通公网访问(或者certd可访问),实际上底层仍然是通过KubeClient进行部署
+input:
+ ingressClass:
+ title: ingress证书类型
+ component:
+ name: a-select
+ vModel: value
+ options:
+ - value: nginx
+ label: TLS证书格式(Nginx可用)
+ - value: qcloud
+ label: Opaque格式(CLB可用,原qcloud)
+ helper: clb将部署Opaque类型的证书,nginx类型将部署TLS证书格式
+ required: true
+ order: 0
+ tencentCertId:
+ title: 腾讯云证书id
+ helper: 请选择“上传证书到腾讯云”前置任务的输出
+ component:
+ name: output-selector
+ from: UploadCertToTencent
+ mergeScript: |2-
+
+ return {
+ show: ctx.compute(({form})=>{
+ return form.ingressClass === "qcloud"|| form.ingressClass === "clb"
+ })
+ }
+
+ required: true
+ order: 0
+ cert:
+ title: 域名证书
+ helper: 请选择前置任务输出的域名证书
+ component:
+ name: output-selector
+ from:
+ - ':cert:'
+ mergeScript: |2-
+
+ return {
+ show: ctx.compute(({form})=>{
+ return form.ingressClass === "nginx"
+ })
+ }
+
+ required: true
+ order: 0
+ accessId:
+ title: Access授权
+ helper: access授权
+ component:
+ name: access-selector
+ type: tencent
+ required: true
+ order: 0
+ region:
+ title: 大区
+ value: ap-guangzhou
+ required: true
+ order: 0
+ clusterId:
+ title: 集群ID
+ required: true
+ desc: 例如:cls-6lbj1vee
+ request: true
+ order: 0
+ namespace:
+ title: 集群namespace
+ value: default
+ required: true
+ order: 0
+ secretName:
+ title: 证书的secret名称
+ helper: 集群->配置管理->Secret,复制名称
+ required: true
+ component:
+ name: a-select
+ vModel: value
+ mode: tags
+ open: false
+ order: 0
+ clusterDomain:
+ title: 集群域名
+ helper: |-
+ ApiServer需要开通公网访问,填写`ApiServer公网IP:443`
+ 默认为:[clusterId].ccs.tencent-cloud.com,可能访问不通
+ component:
+ placeholder: xx.xxx.xx.xx:443
+ order: 0
+ ingressName:
+ title: ingress名称
+ required: false
+ helper: 填写之后会自动重启ingress
+ component:
+ name: a-select
+ vModel: value
+ mode: tags
+ open: false
+ order: 0
+ skipTLSVerify:
+ title: 忽略证书校验
+ required: false
+ helper: 是否忽略证书校验
+ component:
+ name: a-switch
+ vModel: checked
+ order: 0
+ createOnNotFound:
+ title: Secret自动创建
+ helper: 如果Secret不存在,则创建
+ value: false
+ component:
+ name: a-switch
+ vModel: checked
+ order: 0
+output: {}
+type: builtIn
+pluginType: deploy
+scriptFilePath: ../../../plugins/plugin-tencent/plugin/deploy-to-tke-ingress/index.js
diff --git a/packages/ui/certd-server/metadata/deploy_ProxmoxUploadCert.yaml b/packages/ui/certd-server/metadata/deploy_ProxmoxUploadCert.yaml
new file mode 100644
index 000000000..a5332a5a6
--- /dev/null
+++ b/packages/ui/certd-server/metadata/deploy_ProxmoxUploadCert.yaml
@@ -0,0 +1,57 @@
+showRunStrategy: false
+default:
+ strategy:
+ runStrategy: 1
+name: ProxmoxUploadCert
+title: Proxmox-上传证书到Proxmox
+icon: svg:icon-proxmox
+group: panel
+needPlus: true
+input:
+ cert:
+ title: 域名证书
+ helper: 请选择前置任务输出的域名证书
+ component:
+ name: output-selector
+ from:
+ - ':cert:'
+ order: 0
+ accessId:
+ title: Proxmox授权
+ component:
+ name: access-selector
+ type: proxmox
+ required: true
+ order: 0
+ nodes:
+ title: 节点
+ component:
+ name: remote-select
+ vModel: value
+ mode: tags
+ type: plugin
+ typeName: ProxmoxUploadCert
+ action: onGetNodeList
+ search: false
+ pager: false
+ watches:
+ - certDomains
+ - accessId
+ - accessId
+ required: true
+ mergeScript: |2-
+
+ return {
+ component:{
+ form: ctx.compute(({form})=>{
+ return form
+ })
+ },
+ }
+
+ helper: 要部署证书的节点
+ order: 0
+output: {}
+type: builtIn
+pluginType: deploy
+scriptFilePath: ../../../plugins/plugin-proxmox/plugins/plugin-upload.js
diff --git a/packages/ui/certd-server/metadata/deploy_QiniuCertUpload.yaml b/packages/ui/certd-server/metadata/deploy_QiniuCertUpload.yaml
new file mode 100644
index 000000000..e272d5101
--- /dev/null
+++ b/packages/ui/certd-server/metadata/deploy_QiniuCertUpload.yaml
@@ -0,0 +1,37 @@
+showRunStrategy: false
+default:
+ strategy:
+ runStrategy: 1
+name: QiniuCertUpload
+title: 七牛云-上传证书到七牛云
+icon: svg:icon-qiniuyun
+group: qiniu
+desc: 上传到七牛云
+input:
+ certName:
+ title: 证书名称
+ helper: 上传后将以此名称作为前缀备注
+ order: 0
+ cert:
+ title: 域名证书
+ helper: 请选择前置任务输出的域名证书
+ component:
+ name: output-selector
+ from:
+ - ':cert:'
+ required: true
+ order: 0
+ accessId:
+ title: Access授权
+ helper: 七牛云授权
+ component:
+ name: access-selector
+ type: qiniu
+ required: true
+ order: 0
+output:
+ qiniuCertId:
+ title: 上传成功后的七牛云CertId
+type: builtIn
+pluginType: deploy
+scriptFilePath: ../../../plugins/plugin-qiniu/plugin/upload-cert/index.js
diff --git a/packages/ui/certd-server/metadata/deploy_QiniuDeployCertToCDN.yaml b/packages/ui/certd-server/metadata/deploy_QiniuDeployCertToCDN.yaml
new file mode 100644
index 000000000..8c2dae715
--- /dev/null
+++ b/packages/ui/certd-server/metadata/deploy_QiniuDeployCertToCDN.yaml
@@ -0,0 +1,78 @@
+showRunStrategy: false
+default:
+ strategy:
+ runStrategy: 1
+name: QiniuDeployCertToCDN
+title: 七牛云-部署证书至CDN/DCDN
+icon: svg:icon-qiniuyun
+group: qiniu
+desc: 自动部署域名证书至七牛云CDN、DCDN
+input:
+ cert:
+ title: 域名证书
+ helper: 请选择前置任务输出的域名证书,或者上传到七牛云的证书id
+ component:
+ name: output-selector
+ from:
+ - ':cert:'
+ - QiniuCertUpload
+ required: true
+ order: 0
+ certDomains:
+ title: 当前证书域名
+ component:
+ name: cert-domains-getter
+ mergeScript: |2-
+
+ return {
+ component:{
+ inputKey: ctx.compute(({form})=>{
+ return form.cert
+ }),
+ }
+ }
+
+ template: false
+ required: false
+ order: 0
+ accessId:
+ title: Access授权
+ helper: 七牛云授权
+ component:
+ name: access-selector
+ type: qiniu
+ required: true
+ order: 0
+ domainName:
+ title: CDN加速域名
+ component:
+ name: remote-select
+ vModel: value
+ mode: tags
+ type: plugin
+ action: onGetDomainList
+ search: false
+ pager: false
+ watches:
+ - certDomains
+ - accessId
+ rules:
+ - type: domains
+ allowDotStart: true
+ required: true
+ mergeScript: |2-
+
+ return {
+ component:{
+ form: ctx.compute(({form})=>{
+ return form
+ })
+ },
+ }
+
+ helper: 你在七牛云上配置的CDN加速域名,比如:certd.handsfree.work
+ order: 0
+output: {}
+type: builtIn
+pluginType: deploy
+scriptFilePath: ../../../plugins/plugin-qiniu/plugin/deploy-to-cdn/index.js
diff --git a/packages/ui/certd-server/metadata/deploy_QnapDeploy.yaml b/packages/ui/certd-server/metadata/deploy_QnapDeploy.yaml
new file mode 100644
index 000000000..93ce32c28
--- /dev/null
+++ b/packages/ui/certd-server/metadata/deploy_QnapDeploy.yaml
@@ -0,0 +1,32 @@
+showRunStrategy: false
+default:
+ strategy:
+ runStrategy: 1
+name: QnapDeploy
+title: 威联通-部署证书到威联通
+icon: svg:icon-qnap
+group: panel
+desc: 部署证书到qnap
+needPlus: true
+input:
+ cert:
+ title: 域名证书
+ helper: 请选择前置任务输出的域名证书
+ component:
+ name: output-selector
+ from:
+ - ':cert:'
+ required: true
+ order: 0
+ accessId:
+ title: ssh登录授权
+ helper: ssh登录授权
+ component:
+ name: access-selector
+ type: ssh
+ required: true
+ order: 0
+output: {}
+type: builtIn
+pluginType: deploy
+scriptFilePath: ../../../plugins/plugin-qnap/plugins/plugin-qnap.js
diff --git a/packages/ui/certd-server/metadata/deploy_RainyunRefreshCert.yaml b/packages/ui/certd-server/metadata/deploy_RainyunRefreshCert.yaml
new file mode 100644
index 000000000..3d94e2318
--- /dev/null
+++ b/packages/ui/certd-server/metadata/deploy_RainyunRefreshCert.yaml
@@ -0,0 +1,73 @@
+showRunStrategy: false
+default:
+ strategy:
+ runStrategy: 1
+name: RainyunRefreshCert
+title: 雨云-更新证书
+desc: app.rainyun.com
+icon: svg:icon-rainyun
+group: cdn
+needPlus: false
+input:
+ cert:
+ title: 域名证书
+ helper: 请选择前置任务输出的域名证书
+ component:
+ name: output-selector
+ from:
+ - ':cert:'
+ order: 0
+ certDomains:
+ title: 当前证书域名
+ component:
+ name: cert-domains-getter
+ mergeScript: |2-
+
+ return {
+ component:{
+ inputKey: ctx.compute(({form})=>{
+ return form.cert
+ }),
+ }
+ }
+
+ template: false
+ required: false
+ order: 0
+ accessId:
+ title: 雨云授权
+ component:
+ name: access-selector
+ type: rainyun
+ required: true
+ order: 0
+ certList:
+ title: 证书Id
+ component:
+ name: remote-select
+ vModel: value
+ mode: tags
+ type: plugin
+ action: onGetCertList
+ search: false
+ pager: false
+ watches:
+ - certDomains
+ - accessId
+ required: true
+ mergeScript: |2-
+
+ return {
+ component:{
+ form: ctx.compute(({form})=>{
+ return form
+ })
+ },
+ }
+
+ helper: 要更新的rainyun证书id
+ order: 0
+output: {}
+type: builtIn
+pluginType: deploy
+scriptFilePath: ../../../plugins/plugin-rainyun/plugins/plugin-refresh-cert.js
diff --git a/packages/ui/certd-server/metadata/deploy_TencentActionInstancesPlugin.yaml b/packages/ui/certd-server/metadata/deploy_TencentActionInstancesPlugin.yaml
new file mode 100644
index 000000000..0499c905b
--- /dev/null
+++ b/packages/ui/certd-server/metadata/deploy_TencentActionInstancesPlugin.yaml
@@ -0,0 +1,137 @@
+showRunStrategy: false
+default:
+ strategy:
+ runStrategy: 0
+name: TencentActionInstancesPlugin
+title: 腾讯云-实例开关机
+icon: svg:icon-tencentcloud
+group: tencent
+desc: 腾讯云实例开关机
+needPlus: false
+input:
+ accessId:
+ title: Access提供者
+ helper: access 授权
+ component:
+ name: access-selector
+ type: tencent
+ required: true
+ order: 0
+ region:
+ title: 所在地域
+ helper: 实例所在地域
+ component:
+ name: a-auto-complete
+ vModel: value
+ options:
+ - value: ''
+ label: '--------中国大陆地区-------'
+ disabled: true
+ - value: ap-beijing-1
+ label: 北京1区
+ - value: ap-beijing
+ label: 北京
+ - value: ap-nanjing
+ label: 南京
+ - value: ap-shanghai
+ label: 上海
+ - value: ap-guangzhou
+ label: 广州
+ - value: ap-chengdu
+ label: 成都
+ - value: ap-chongqing
+ label: 重庆
+ - value: ap-shenzhen-fsi
+ label: 深圳金融
+ - value: ap-shanghai-fsi
+ label: 上海金融
+ - value: ap-beijing-fsi
+ label: 北京金融
+ - value: ''
+ label: '--------中国香港及境外-------'
+ disabled: true
+ - value: ap-hongkong
+ label: 中国香港
+ - value: ap-singapore
+ label: 新加坡
+ - value: ap-mumbai
+ label: 孟买
+ - value: ap-jakarta
+ label: 雅加达
+ - value: ap-seoul
+ label: 首尔
+ - value: ap-bangkok
+ label: 曼谷
+ - value: ap-tokyo
+ label: 东京
+ - value: na-siliconvalley
+ label: 硅谷
+ - value: na-ashburn
+ label: 弗吉尼亚
+ - value: sa-saopaulo
+ label: 圣保罗
+ - value: eu-frankfurt
+ label: 法兰克福
+ required: true
+ order: 0
+ instanceId:
+ title: 实列ID
+ component:
+ name: remote-select
+ vModel: value
+ mode: tags
+ type: plugin
+ typeName: TencentStartInstancesPlugin
+ action: onGetInstanceList
+ search: false
+ pager: false
+ watches:
+ - certDomains
+ - accessId
+ - region
+ required: true
+ mergeScript: |2-
+
+ return {
+ component:{
+ form: ctx.compute(({form})=>{
+ return form
+ })
+ },
+ }
+
+ helper: 请选择实列
+ order: 0
+ action:
+ title: 操作
+ component:
+ name: a-radio-group
+ vModel: value
+ options:
+ - value: start
+ label: 开机
+ - value: stop
+ label: 关机
+ required: true
+ order: 0
+ charging:
+ title: 实例关机不收费
+ value: true
+ component:
+ name: a-switch
+ vModel: checked
+ placeholder: 按量计费实例关机不收费
+ required: false
+ mergeScript: |2-
+
+ return {
+ show: ctx.compute(({form})=>{
+ return form.action === 'stop';
+ })
+ }
+
+ order: 0
+output: {}
+type: builtIn
+pluginType: deploy
+scriptFilePath: ../../../plugins/plugin-tencent/plugin/start-instances/index.js
diff --git a/packages/ui/certd-server/metadata/deploy_TencentDeleteExpiringCert.yaml b/packages/ui/certd-server/metadata/deploy_TencentDeleteExpiringCert.yaml
new file mode 100644
index 000000000..c443d002c
--- /dev/null
+++ b/packages/ui/certd-server/metadata/deploy_TencentDeleteExpiringCert.yaml
@@ -0,0 +1,57 @@
+showRunStrategy: false
+default:
+ strategy:
+ runStrategy: 0
+name: TencentDeleteExpiringCert
+title: 腾讯云-删除即将过期证书
+icon: svg:icon-tencentcloud
+group: tencent
+desc: 仅删除未使用的证书
+needPlus: true
+input:
+ accessId:
+ title: Access提供者
+ helper: access 授权
+ component:
+ name: access-selector
+ type: tencent
+ required: true
+ order: 0
+ searchKey:
+ title: 关键字筛选
+ helper: 仅匹配ID、备注名称、域名包含关键字的证书,可以不填
+ required: false
+ component:
+ name: a-input
+ order: 0
+ maxCount:
+ title: 最大删除数量
+ helper: 单次运行最大删除数量
+ value: 100
+ component:
+ name: a-input-number
+ vModel: value
+ required: true
+ order: 0
+ expiringDays:
+ title: 即将过期天数
+ helper: 仅删除有效期小于此天数的证书
+ value: 18
+ component:
+ name: a-input-number
+ vModel: value
+ required: true
+ order: 0
+ checkTimeout:
+ title: 检查超时时间
+ helper: 检查删除任务结果超时时间,单位分钟
+ value: 10
+ component:
+ name: a-input-number
+ vModel: value
+ required: true
+ order: 0
+output: {}
+type: builtIn
+pluginType: deploy
+scriptFilePath: ../../../plugins/plugin-tencent/plugin/delete-expiring-cert/index.js
diff --git a/packages/ui/certd-server/metadata/deploy_TencentDeployCertToCDNv2.yaml b/packages/ui/certd-server/metadata/deploy_TencentDeployCertToCDNv2.yaml
new file mode 100644
index 000000000..f92d68916
--- /dev/null
+++ b/packages/ui/certd-server/metadata/deploy_TencentDeployCertToCDNv2.yaml
@@ -0,0 +1,76 @@
+showRunStrategy: false
+default:
+ strategy:
+ runStrategy: 1
+name: TencentDeployCertToCDNv2
+title: 腾讯云-部署到CDN-v2
+icon: svg:icon-tencentcloud
+group: tencent
+desc: 推荐使用
+input:
+ cert:
+ title: 域名证书
+ helper: 请选择前置任务输出的域名证书,或者选择前置任务“上传证书到腾讯云”任务的证书ID
+ component:
+ name: output-selector
+ from:
+ - ':cert:'
+ - UploadCertToTencent
+ required: true
+ order: 0
+ certDomains:
+ title: 当前证书域名
+ component:
+ name: cert-domains-getter
+ mergeScript: |2-
+
+ return {
+ component:{
+ inputKey: ctx.compute(({form})=>{
+ return form.cert
+ }),
+ }
+ }
+
+ template: false
+ required: false
+ order: 0
+ accessId:
+ title: Access提供者
+ helper: access 授权
+ component:
+ name: access-selector
+ type: tencent
+ required: true
+ order: 0
+ domains:
+ title: CDN域名
+ component:
+ name: remote-select
+ vModel: value
+ mode: tags
+ type: plugin
+ typeName: TencentDeployCertToCDNv2
+ action: onGetDomainList
+ search: false
+ pager: false
+ watches:
+ - certDomains
+ - accessId
+ required: true
+ mergeScript: |2-
+
+ return {
+ component:{
+ form: ctx.compute(({form})=>{
+ return form
+ })
+ },
+ }
+
+ helper: 请选择域名或输入域名
+ order: 0
+output: {}
+type: builtIn
+pluginType: deploy
+scriptFilePath: ../../../plugins/plugin-tencent/plugin/deploy-to-cdn-v2/index.js
diff --git a/packages/ui/certd-server/metadata/deploy_TencentDeployCertToLive.yaml b/packages/ui/certd-server/metadata/deploy_TencentDeployCertToLive.yaml
new file mode 100644
index 000000000..c8932d398
--- /dev/null
+++ b/packages/ui/certd-server/metadata/deploy_TencentDeployCertToLive.yaml
@@ -0,0 +1,60 @@
+showRunStrategy: false
+default:
+ strategy:
+ runStrategy: 1
+name: TencentDeployCertToLive
+title: 腾讯云-部署到腾讯云直播
+icon: svg:icon-tencentcloud
+desc: https://console.cloud.tencent.com/live/
+group: tencent
+needPlus: false
+input:
+ accessId:
+ title: Access提供者
+ helper: access 授权
+ component:
+ name: access-selector
+ type: tencent
+ required: true
+ order: 0
+ domains:
+ title: 直播域名
+ component:
+ name: remote-select
+ vModel: value
+ mode: tags
+ type: plugin
+ typeName: TencentDeployCertToLive
+ action: onGetDomainList
+ search: false
+ pager: false
+ watches:
+ - certDomains
+ - accessId
+ required: true
+ mergeScript: |2-
+
+ return {
+ component:{
+ form: ctx.compute(({form})=>{
+ return form
+ })
+ },
+ }
+
+ helper: 请选择域名或输入域名
+ order: 0
+ cert:
+ title: 域名证书
+ helper: 请选择前置任务输出的域名证书,或者选择前置任务“上传证书到腾讯云”任务的证书ID
+ component:
+ name: output-selector
+ from:
+ - ':cert:'
+ - UploadCertToTencent
+ required: true
+ order: 0
+output: {}
+type: builtIn
+pluginType: deploy
+scriptFilePath: ../../../plugins/plugin-tencent/plugin/deploy-to-live/index.js
diff --git a/packages/ui/certd-server/metadata/deploy_TencentRefreshCert.yaml b/packages/ui/certd-server/metadata/deploy_TencentRefreshCert.yaml
new file mode 100644
index 000000000..7189d1cbd
--- /dev/null
+++ b/packages/ui/certd-server/metadata/deploy_TencentRefreshCert.yaml
@@ -0,0 +1,86 @@
+showRunStrategy: false
+default:
+ strategy:
+ runStrategy: 1
+name: TencentRefreshCert
+title: 腾讯云-更新证书(Id不变)
+desc: 根据证书id一键更新腾讯云证书并自动部署(Id不变),注意该接口为腾讯云白名单功能,非白名单用户无法使用该功能
+icon: svg:icon-tencentcloud
+group: tencent
+needPlus: false
+input:
+ cert:
+ title: 域名证书
+ helper: 请选择前置任务输出的域名证书
+ component:
+ name: output-selector
+ from:
+ - ':cert:'
+ order: 0
+ certDomains:
+ title: 当前证书域名
+ component:
+ name: cert-domains-getter
+ mergeScript: |2-
+
+ return {
+ component:{
+ inputKey: ctx.compute(({form})=>{
+ return form.cert
+ }),
+ }
+ }
+
+ template: false
+ required: false
+ order: 0
+ accessId:
+ title: 腾讯云授权
+ component:
+ name: access-selector
+ type: tencent
+ required: true
+ order: 0
+ certList:
+ title: 证书Id
+ component:
+ name: remote-select
+ vModel: value
+ mode: tags
+ type: plugin
+ action: onGetCertList
+ search: false
+ pager: false
+ watches:
+ - certDomains
+ - accessId
+ required: true
+ mergeScript: |2-
+
+ return {
+ component:{
+ form: ctx.compute(({form})=>{
+ return form
+ })
+ },
+ }
+
+ helper: 要更新的证书id,如果这里没有,请先给手动绑定一次证书
+ order: 0
+ resourceTypesRegions:
+ title: 资源区域
+ helper: 如果云资源类型区分区域,请选择区域,如果区域在选项中不存在,请手动输入
+ component:
+ name: remote-tree-select
+ vModel: value
+ action: onGetRegionsTree
+ pager: false
+ search: false
+ watches:
+ - certList
+ required: false
+ order: 0
+output: {}
+type: builtIn
+pluginType: deploy
+scriptFilePath: ../../../plugins/plugin-tencent/plugin/refresh-cert/index.js
diff --git a/packages/ui/certd-server/metadata/deploy_UCloudDeployToCDN.yaml b/packages/ui/certd-server/metadata/deploy_UCloudDeployToCDN.yaml
new file mode 100644
index 000000000..22f29e77d
--- /dev/null
+++ b/packages/ui/certd-server/metadata/deploy_UCloudDeployToCDN.yaml
@@ -0,0 +1,74 @@
+showRunStrategy: false
+default:
+ strategy:
+ runStrategy: 1
+name: UCloudDeployToCDN
+title: UCloud-部署到CDN
+desc: 将证书部署到UCloud CDN
+icon: svg:icon-ucloud
+group: ucloud
+needPlus: false
+input:
+ cert:
+ title: 域名证书
+ helper: 请选择前置任务输出的域名证书
+ component:
+ name: output-selector
+ from:
+ - ':cert:'
+ - ':UCloudCertId:'
+ order: 0
+ certDomains:
+ title: 当前证书域名
+ component:
+ name: cert-domains-getter
+ mergeScript: |2-
+
+ return {
+ component:{
+ inputKey: ctx.compute(({form})=>{
+ return form.cert
+ }),
+ }
+ }
+
+ template: false
+ required: false
+ order: 0
+ accessId:
+ title: UCloud授权
+ component:
+ name: access-selector
+ type: ucloud
+ required: true
+ order: 0
+ domainList:
+ title: 域名列表
+ component:
+ name: remote-select
+ vModel: value
+ mode: tags
+ type: plugin
+ action: onGetDomainList
+ search: false
+ pager: false
+ watches:
+ - certDomains
+ - accessId
+ required: true
+ mergeScript: |2-
+
+ return {
+ component:{
+ form: ctx.compute(({form})=>{
+ return form
+ })
+ },
+ }
+
+ helper: 要更新的UCloud域名列表
+ order: 0
+output: {}
+type: builtIn
+pluginType: deploy
+scriptFilePath: ../../../plugins/plugin-ucloud/plugins/plugin-deploy-to-cdn.js
diff --git a/packages/ui/certd-server/metadata/deploy_UCloudDeployToWaf.yaml b/packages/ui/certd-server/metadata/deploy_UCloudDeployToWaf.yaml
new file mode 100644
index 000000000..9fc58edaf
--- /dev/null
+++ b/packages/ui/certd-server/metadata/deploy_UCloudDeployToWaf.yaml
@@ -0,0 +1,73 @@
+showRunStrategy: false
+default:
+ strategy:
+ runStrategy: 1
+name: UCloudDeployToWaf
+title: UCloud-部署到WAF
+desc: 将证书部署到UCloud WAF
+icon: svg:icon-ucloud
+group: ucloud
+needPlus: false
+input:
+ cert:
+ title: 域名证书
+ helper: 请选择前置任务输出的域名证书
+ component:
+ name: output-selector
+ from:
+ - ':cert:'
+ order: 0
+ certDomains:
+ title: 当前证书域名
+ component:
+ name: cert-domains-getter
+ mergeScript: |2-
+
+ return {
+ component:{
+ inputKey: ctx.compute(({form})=>{
+ return form.cert
+ }),
+ }
+ }
+
+ template: false
+ required: false
+ order: 0
+ accessId:
+ title: UCloud授权
+ component:
+ name: access-selector
+ type: ucloud
+ required: true
+ order: 0
+ domainList:
+ title: 域名列表
+ component:
+ name: remote-select
+ vModel: value
+ mode: tags
+ type: plugin
+ action: onGetDomainList
+ search: false
+ pager: false
+ watches:
+ - certDomains
+ - accessId
+ required: true
+ mergeScript: |2-
+
+ return {
+ component:{
+ form: ctx.compute(({form})=>{
+ return form
+ })
+ },
+ }
+
+ helper: 要更新的UCloud域名列表
+ order: 0
+output: {}
+type: builtIn
+pluginType: deploy
+scriptFilePath: ../../../plugins/plugin-ucloud/plugins/plugin-deploy-to-waf.js
diff --git a/packages/ui/certd-server/metadata/deploy_UCloudUploadToUSSL.yaml b/packages/ui/certd-server/metadata/deploy_UCloudUploadToUSSL.yaml
new file mode 100644
index 000000000..fabb2b8fe
--- /dev/null
+++ b/packages/ui/certd-server/metadata/deploy_UCloudUploadToUSSL.yaml
@@ -0,0 +1,33 @@
+showRunStrategy: false
+default:
+ strategy:
+ runStrategy: 1
+name: UCloudUploadToUSSL
+title: UCloud-上传到USSL
+desc: 将证书上传到UCloud USSL
+icon: svg:icon-ucloud
+group: ucloud
+needPlus: false
+input:
+ cert:
+ title: 域名证书
+ helper: 请选择前置任务输出的域名证书
+ component:
+ name: output-selector
+ from:
+ - ':cert:'
+ order: 0
+ accessId:
+ title: UCloud授权
+ component:
+ name: access-selector
+ type: ucloud
+ required: true
+ order: 0
+output:
+ certId:
+ title: 证书ID
+ type: UCloudCertId
+type: builtIn
+pluginType: deploy
+scriptFilePath: ../../../plugins/plugin-ucloud/plugins/plugin-upload-to-ussl.js
diff --git a/packages/ui/certd-server/metadata/deploy_UploadCertToTencent.yaml b/packages/ui/certd-server/metadata/deploy_UploadCertToTencent.yaml
new file mode 100644
index 000000000..28269a95b
--- /dev/null
+++ b/packages/ui/certd-server/metadata/deploy_UploadCertToTencent.yaml
@@ -0,0 +1,33 @@
+showRunStrategy: false
+default:
+ strategy:
+ runStrategy: 1
+name: UploadCertToTencent
+title: 腾讯云-上传证书到腾讯云
+icon: svg:icon-tencentcloud
+desc: 上传成功后输出:tencentCertId
+group: tencent
+input:
+ accessId:
+ title: Access授权
+ helper: access授权
+ component:
+ name: access-selector
+ type: tencent
+ required: true
+ order: 0
+ cert:
+ title: 域名证书
+ helper: 请选择前置任务输出的域名证书
+ component:
+ name: output-selector
+ from:
+ - ':cert:'
+ required: true
+ order: 0
+output:
+ tencentCertId:
+ title: 上传成功后的腾讯云CertId
+type: builtIn
+pluginType: deploy
+scriptFilePath: ../../../plugins/plugin-tencent/plugin/upload-to-tencent/index.js
diff --git a/packages/ui/certd-server/metadata/deploy_UpyunDeployToCdn.yaml b/packages/ui/certd-server/metadata/deploy_UpyunDeployToCdn.yaml
new file mode 100644
index 000000000..aa8bc7953
--- /dev/null
+++ b/packages/ui/certd-server/metadata/deploy_UpyunDeployToCdn.yaml
@@ -0,0 +1,105 @@
+showRunStrategy: false
+default:
+ strategy:
+ runStrategy: 1
+name: UpyunDeployToCdn
+title: 又拍云-部署证书到CDN/USS
+icon: svg:icon-upyun
+desc: 支持又拍云CDN,又拍云云存储USS
+group: cdn
+needPlus: false
+input:
+ cert:
+ title: 域名证书
+ helper: 请选择前置任务输出的域名证书
+ component:
+ name: output-selector
+ from:
+ - ':cert:'
+ order: 0
+ certDomains:
+ title: 当前证书域名
+ component:
+ name: cert-domains-getter
+ mergeScript: |2-
+
+ return {
+ component:{
+ inputKey: ctx.compute(({form})=>{
+ return form.cert
+ }),
+ }
+ }
+
+ template: false
+ required: false
+ order: 0
+ accessId:
+ title: Upyun授权
+ component:
+ name: access-selector
+ type: upyun
+ required: true
+ order: 0
+ cdnList:
+ title: 加速域名
+ component:
+ name: remote-select
+ vModel: value
+ mode: tags
+ type: plugin
+ typeName: UpyunDeployToCdn
+ action: onGetCdnList
+ search: false
+ pager: false
+ watches:
+ - certDomains
+ - accessId
+ - accessId
+ required: true
+ mergeScript: |2-
+
+ return {
+ component:{
+ form: ctx.compute(({form})=>{
+ return form
+ })
+ },
+ }
+
+ helper: 选择加速域名,可以手动输入
+ order: 0
+ forceHttps:
+ title: 强制HTTPS
+ value: keep
+ component:
+ name: a-select
+ vModel: value
+ options:
+ - value: 'true'
+ label: 强制HTTPS
+ - value: 'false'
+ label: 不强制HTTPS
+ - value: keep
+ label: 保持原样
+ required: true
+ order: 0
+ https:
+ title: 开启HTTPS
+ value: 'true'
+ component:
+ name: a-select
+ vModel: value
+ options:
+ - value: 'true'
+ label: 开启HTTPS
+ - value: 'false'
+ label: 关闭HTTPS
+ - value: keep
+ label: 保持原样
+ required: true
+ order: 0
+output: {}
+type: builtIn
+pluginType: deploy
+scriptFilePath: ../../../plugins/plugin-upyun/plugins/plugin-depoy-to-cdn.js
diff --git a/packages/ui/certd-server/metadata/deploy_VolcengineDeployToALB.yaml b/packages/ui/certd-server/metadata/deploy_VolcengineDeployToALB.yaml
new file mode 100644
index 000000000..90177372b
--- /dev/null
+++ b/packages/ui/certd-server/metadata/deploy_VolcengineDeployToALB.yaml
@@ -0,0 +1,101 @@
+showRunStrategy: false
+default:
+ strategy:
+ runStrategy: 1
+name: VolcengineDeployToALB
+title: 火山引擎-部署证书至ALB
+icon: svg:icon-volcengine
+group: volcengine
+desc: 部署至火山引擎应用负载均衡
+input:
+ cert:
+ title: 域名证书
+ helper: 请选择前置任务输出的域名证书
+ component:
+ name: output-selector
+ from:
+ - ':cert:'
+ - VolcengineUploadToCertCenter
+ required: true
+ order: 0
+ certDomains:
+ title: 当前证书域名
+ component:
+ name: cert-domains-getter
+ mergeScript: |2-
+
+ return {
+ component:{
+ inputKey: ctx.compute(({form})=>{
+ return form.cert
+ }),
+ }
+ }
+
+ template: false
+ required: false
+ order: 0
+ accessId:
+ title: Access授权
+ helper: 火山引擎AccessKeyId、AccessKeySecret
+ component:
+ name: access-selector
+ type: volcengine
+ required: true
+ order: 0
+ regionId:
+ title: Region
+ helper: 地区选择
+ component:
+ name: a-select
+ options:
+ - label: 北京
+ value: cn-beijing
+ - label: 上海
+ value: cn-shanghai
+ - label: 广州
+ value: cn-guangzhou
+ - label: 香港
+ value: cn-hongkong
+ - label: 柔佛
+ value: ap-southeast-1
+ - label: 雅加达
+ value: ap-southeast-3
+ value: cn-beijing
+ required: true
+ order: 0
+ listenerList:
+ title: 监听器列表
+ component:
+ name: remote-select
+ vModel: value
+ mode: tags
+ type: plugin
+ action: onGetListenerList
+ search: false
+ pager: false
+ watches:
+ - certDomains
+ - accessId
+ - certDomains
+ - accessId
+ - regionId
+ required: true
+ mergeScript: |2-
+
+ return {
+ component:{
+ form: ctx.compute(({form})=>{
+ return form
+ })
+ },
+ }
+
+ helper: |-
+ 选择要部署证书的监听器
+ 需要在监听器中选择证书中心,进行跨服务访问授权
+ order: 0
+output: {}
+type: builtIn
+pluginType: deploy
+scriptFilePath: ../../../plugins/plugin-volcengine/plugins/plugin-deploy-to-alb.js
diff --git a/packages/ui/certd-server/metadata/deploy_VolcengineDeployToCDN.yaml b/packages/ui/certd-server/metadata/deploy_VolcengineDeployToCDN.yaml
new file mode 100644
index 000000000..71de3da6b
--- /dev/null
+++ b/packages/ui/certd-server/metadata/deploy_VolcengineDeployToCDN.yaml
@@ -0,0 +1,93 @@
+showRunStrategy: false
+default:
+ strategy:
+ runStrategy: 1
+name: VolcengineDeployToCDN
+title: 火山引擎-部署证书至CDN
+icon: svg:icon-volcengine
+group: volcengine
+desc: 支持网页,文件下载,音视频点播
+input:
+ cert:
+ title: 域名证书
+ helper: 请选择前置任务输出的域名证书
+ component:
+ name: output-selector
+ from:
+ - ':cert:'
+ - VolcengineUploadToCertCenter
+ required: true
+ order: 0
+ certDomains:
+ title: 当前证书域名
+ component:
+ name: cert-domains-getter
+ mergeScript: |2-
+
+ return {
+ component:{
+ inputKey: ctx.compute(({form})=>{
+ return form.cert
+ }),
+ }
+ }
+
+ template: false
+ required: false
+ order: 0
+ accessId:
+ title: Access授权
+ helper: 火山引擎AccessKeyId、AccessKeySecret
+ component:
+ name: access-selector
+ type: volcengine
+ required: true
+ order: 0
+ serviceType:
+ title: 服务类型
+ helper: 网页,文件下载,音视频点播
+ component:
+ name: a-select
+ options:
+ - label: 网页
+ value: web
+ - label: 文件下载
+ value: download
+ - label: 音视频点播
+ value: video
+ value: web
+ required: true
+ order: 0
+ domainName:
+ title: CDN加速域名
+ component:
+ name: remote-select
+ vModel: value
+ mode: tags
+ type: plugin
+ action: onGetDomainList
+ search: false
+ pager: false
+ watches:
+ - certDomains
+ - accessId
+ - certDomains
+ - accessId
+ - serviceType
+ required: true
+ mergeScript: |2-
+
+ return {
+ component:{
+ form: ctx.compute(({form})=>{
+ return form
+ })
+ },
+ }
+
+ helper: 你在火山引擎上配置的CDN加速域名,比如:certd.docmirror.cn
+ order: 0
+output: {}
+type: builtIn
+pluginType: deploy
+scriptFilePath: ../../../plugins/plugin-volcengine/plugins/plugin-deploy-to-cdn.js
diff --git a/packages/ui/certd-server/metadata/deploy_VolcengineDeployToCLB.yaml b/packages/ui/certd-server/metadata/deploy_VolcengineDeployToCLB.yaml
new file mode 100644
index 000000000..11460a3ec
--- /dev/null
+++ b/packages/ui/certd-server/metadata/deploy_VolcengineDeployToCLB.yaml
@@ -0,0 +1,111 @@
+showRunStrategy: false
+default:
+ strategy:
+ runStrategy: 1
+name: VolcengineDeployToCLB
+title: 火山引擎-部署证书至CLB
+icon: svg:icon-volcengine
+group: volcengine
+desc: 部署至火山引擎负载均衡
+input:
+ cert:
+ title: 域名证书
+ helper: 请选择前置任务输出的域名证书
+ component:
+ name: output-selector
+ from:
+ - ':cert:'
+ - VolcengineUploadToCertCenter
+ required: true
+ order: 0
+ certDomains:
+ title: 当前证书域名
+ component:
+ name: cert-domains-getter
+ mergeScript: |2-
+
+ return {
+ component:{
+ inputKey: ctx.compute(({form})=>{
+ return form.cert
+ }),
+ }
+ }
+
+ template: false
+ required: false
+ order: 0
+ accessId:
+ title: Access授权
+ helper: 火山引擎AccessKeyId、AccessKeySecret
+ component:
+ name: access-selector
+ type: volcengine
+ required: true
+ order: 0
+ regionId:
+ title: Region
+ helper: 地区选择
+ component:
+ name: a-select
+ options:
+ - label: 北京
+ value: cn-beijing
+ - label: 上海
+ value: cn-shanghai
+ - label: 广州
+ value: cn-guangzhou
+ - label: 深圳
+ value: cn-shenzhen
+ - label: 杭州
+ value: cn-hangzhou
+ - label: 南京
+ value: cn-north-1
+ - label: 青岛
+ value: cn-qingdao
+ - label: 重庆
+ value: cn-chengdu
+ - label: 香港
+ value: cn-hongkong
+ - label: 柔佛
+ value: ap-southeast-1
+ - label: 雅加达
+ value: ap-southeast-3
+ value: cn-beijing
+ required: true
+ order: 0
+ listenerList:
+ title: 监听器列表
+ component:
+ name: remote-select
+ vModel: value
+ mode: tags
+ type: plugin
+ action: onGetListenerList
+ search: false
+ pager: false
+ watches:
+ - certDomains
+ - accessId
+ - certDomains
+ - accessId
+ - regionId
+ required: true
+ mergeScript: |2-
+
+ return {
+ component:{
+ form: ctx.compute(({form})=>{
+ return form
+ })
+ },
+ }
+
+ helper: |-
+ 选择要部署证书的监听器
+ 需要在监听器中选择证书中心,进行跨服务访问授权
+ order: 0
+output: {}
+type: builtIn
+pluginType: deploy
+scriptFilePath: ../../../plugins/plugin-volcengine/plugins/plugin-deploy-to-clb.js
diff --git a/packages/ui/certd-server/metadata/deploy_VolcengineDeployToDCDN.yaml b/packages/ui/certd-server/metadata/deploy_VolcengineDeployToDCDN.yaml
new file mode 100644
index 000000000..c9569c877
--- /dev/null
+++ b/packages/ui/certd-server/metadata/deploy_VolcengineDeployToDCDN.yaml
@@ -0,0 +1,83 @@
+showRunStrategy: false
+default:
+ strategy:
+ runStrategy: 1
+name: VolcengineDeployToDCDN
+title: 火山引擎-部署证书至DCDN
+icon: svg:icon-volcengine
+group: volcengine
+desc: 部署至火山引擎全站加速
+input:
+ cert:
+ title: 域名证书
+ helper: 请选择前置任务输出的域名证书
+ component:
+ name: output-selector
+ from:
+ - ':cert:'
+ required: true
+ order: 0
+ certDomains:
+ title: 当前证书域名
+ component:
+ name: cert-domains-getter
+ mergeScript: |2-
+
+ return {
+ component:{
+ inputKey: ctx.compute(({form})=>{
+ return form.cert
+ }),
+ }
+ }
+
+ template: false
+ required: false
+ order: 0
+ autoMatch:
+ title: 自动匹配
+ helper: 是否根据证书自动匹配合适的DCDN域名进行部署
+ value: false
+ component:
+ name: a-switch
+ type: checked
+ required: true
+ order: 0
+ accessId:
+ title: Access授权
+ helper: 火山引擎AccessKeyId、AccessKeySecret
+ component:
+ name: access-selector
+ type: volcengine
+ required: true
+ order: 0
+ domainList:
+ title: DCDN域名
+ component:
+ name: remote-select
+ vModel: value
+ mode: tags
+ type: plugin
+ action: onGetDomainList
+ search: false
+ pager: false
+ watches:
+ - certDomains
+ - accessId
+ - certDomains
+ - accessId
+ required: true
+ mergeScript: |2-
+
+ return {
+ show: ctx.compute(({form})=>{
+ return !form.autoMatch
+ })
+ }
+
+ helper: 选择要部署证书的DCDN域名
+ order: 0
+output: {}
+type: builtIn
+pluginType: deploy
+scriptFilePath: ../../../plugins/plugin-volcengine/plugins/plugin-deploy-to-dcdn.js
diff --git a/packages/ui/certd-server/metadata/deploy_VolcengineDeployToLive.yaml b/packages/ui/certd-server/metadata/deploy_VolcengineDeployToLive.yaml
new file mode 100644
index 000000000..bbc5944a3
--- /dev/null
+++ b/packages/ui/certd-server/metadata/deploy_VolcengineDeployToLive.yaml
@@ -0,0 +1,76 @@
+showRunStrategy: false
+default:
+ strategy:
+ runStrategy: 1
+name: VolcengineDeployToLive
+title: 火山引擎-部署证书至Live
+icon: svg:icon-volcengine
+group: volcengine
+desc: 部署至火山引擎视频直播
+input:
+ cert:
+ title: 域名证书
+ helper: 请选择前置任务输出的域名证书
+ component:
+ name: output-selector
+ from:
+ - ':cert:'
+ required: true
+ order: 0
+ certDomains:
+ title: 当前证书域名
+ component:
+ name: cert-domains-getter
+ mergeScript: |2-
+
+ return {
+ component:{
+ inputKey: ctx.compute(({form})=>{
+ return form.cert
+ }),
+ }
+ }
+
+ template: false
+ required: false
+ order: 0
+ accessId:
+ title: Access授权
+ helper: 火山引擎AccessKeyId、AccessKeySecret
+ component:
+ name: access-selector
+ type: volcengine
+ required: true
+ order: 0
+ domainList:
+ title: 直播域名
+ component:
+ name: remote-select
+ vModel: value
+ mode: tags
+ type: plugin
+ action: onGetDomainList
+ search: false
+ pager: false
+ watches:
+ - certDomains
+ - accessId
+ - certDomains
+ - accessId
+ required: true
+ mergeScript: |2-
+
+ return {
+ component:{
+ form: ctx.compute(({form})=>{
+ return form
+ })
+ },
+ }
+
+ helper: 选择要部署证书的直播域名
+ order: 0
+output: {}
+type: builtIn
+pluginType: deploy
+scriptFilePath: ../../../plugins/plugin-volcengine/plugins/plugin-deploy-to-live.js
diff --git a/packages/ui/certd-server/metadata/deploy_VolcengineDeployToVOD.yaml b/packages/ui/certd-server/metadata/deploy_VolcengineDeployToVOD.yaml
new file mode 100644
index 000000000..e924836af
--- /dev/null
+++ b/packages/ui/certd-server/metadata/deploy_VolcengineDeployToVOD.yaml
@@ -0,0 +1,85 @@
+showRunStrategy: false
+default:
+ strategy:
+ runStrategy: 1
+name: VolcengineDeployToVOD
+title: 火山引擎-部署证书至VOD
+icon: svg:icon-volcengine
+group: volcengine
+desc: 部署至火山引擎视频点播(暂不可用)
+deprecated: 暂时缺少部署ssl接口
+input:
+ cert:
+ title: 域名证书
+ helper: 请选择前置任务输出的域名证书
+ component:
+ name: output-selector
+ from:
+ - ':cert:'
+ - VolcengineUploadToCertCenter
+ required: true
+ order: 0
+ certDomains:
+ title: 当前证书域名
+ component:
+ name: cert-domains-getter
+ mergeScript: |2-
+
+ return {
+ component:{
+ inputKey: ctx.compute(({form})=>{
+ return form.cert
+ }),
+ }
+ }
+
+ template: false
+ required: false
+ order: 0
+ accessId:
+ title: Access授权
+ helper: 火山引擎AccessKeyId、AccessKeySecret
+ component:
+ name: access-selector
+ type: volcengine
+ required: true
+ order: 0
+ spaceName:
+ title: 空间名称
+ required: true
+ order: 0
+ domainList:
+ title: 点播域名
+ component:
+ name: remote-select
+ vModel: value
+ mode: tags
+ type: plugin
+ action: onGetDomainList
+ search: false
+ pager: false
+ watches:
+ - certDomains
+ - accessId
+ - certDomains
+ - accessId
+ - spaceName
+ required: true
+ mergeScript: |2-
+
+ return {
+ component:{
+ form: ctx.compute(({form})=>{
+ return form
+ })
+ },
+ }
+
+ helper: |-
+ 选择要部署证书的点播域名
+ 需要先在域名管理页面进行证书中心访问授权(即点击去配置SSL证书)
+ order: 0
+output: {}
+type: builtIn
+pluginType: deploy
+scriptFilePath: ../../../plugins/plugin-volcengine/plugins/plugin-deploy-to-vod.js
diff --git a/packages/ui/certd-server/metadata/deploy_VolcengineUploadToCertCenter.yaml b/packages/ui/certd-server/metadata/deploy_VolcengineUploadToCertCenter.yaml
new file mode 100644
index 000000000..6e123f04c
--- /dev/null
+++ b/packages/ui/certd-server/metadata/deploy_VolcengineUploadToCertCenter.yaml
@@ -0,0 +1,50 @@
+showRunStrategy: false
+default:
+ strategy:
+ runStrategy: 1
+name: VolcengineUploadToCertCenter
+title: 火山引擎-上传证书至证书中心
+icon: svg:icon-volcengine
+group: volcengine
+desc: 上传证书至火山引擎证书中心
+input:
+ cert:
+ title: 域名证书
+ helper: 请选择前置任务输出的域名证书
+ component:
+ name: output-selector
+ from:
+ - ':cert:'
+ required: true
+ order: 0
+ certDomains:
+ title: 当前证书域名
+ component:
+ name: cert-domains-getter
+ mergeScript: |2-
+
+ return {
+ component:{
+ inputKey: ctx.compute(({form})=>{
+ return form.cert
+ }),
+ }
+ }
+
+ template: false
+ required: false
+ order: 0
+ accessId:
+ title: Access授权
+ helper: 火山引擎AccessKeyId、AccessKeySecret
+ component:
+ name: access-selector
+ type: volcengine
+ required: true
+ order: 0
+output:
+ volcengineCertId:
+ title: 上传成功后的火山引擎证书Id
+type: builtIn
+pluginType: deploy
+scriptFilePath: ../../../plugins/plugin-volcengine/plugins/plugin-upload-to-cert-center.js
diff --git a/packages/ui/certd-server/metadata/deploy_WaitPlugin.yaml b/packages/ui/certd-server/metadata/deploy_WaitPlugin.yaml
new file mode 100644
index 000000000..803d16b5a
--- /dev/null
+++ b/packages/ui/certd-server/metadata/deploy_WaitPlugin.yaml
@@ -0,0 +1,23 @@
+showRunStrategy: true
+default:
+ strategy:
+ runStrategy: 1
+name: WaitPlugin
+title: 等待
+icon: ri:rest-time-line
+desc: 等待一段时间
+group: other
+input:
+ waitTime:
+ title: 等待时长
+ value: 30
+ component:
+ name: a-input-number
+ vModel: value
+ helper: 单位:秒
+ required: true
+ order: 0
+output: {}
+type: builtIn
+pluginType: deploy
+scriptFilePath: ../../../plugins/plugin-other/plugins/plugin-wait.js
diff --git a/packages/ui/certd-server/metadata/deploy_WangsuRefreshCert.yaml b/packages/ui/certd-server/metadata/deploy_WangsuRefreshCert.yaml
new file mode 100644
index 000000000..112d9a048
--- /dev/null
+++ b/packages/ui/certd-server/metadata/deploy_WangsuRefreshCert.yaml
@@ -0,0 +1,73 @@
+showRunStrategy: false
+default:
+ strategy:
+ runStrategy: 1
+name: WangsuRefreshCert
+title: 网宿-更新证书
+desc: 网宿证书自动更新
+icon: svg:icon-wangsu
+group: cdn
+needPlus: false
+input:
+ cert:
+ title: 域名证书
+ helper: 请选择前置任务输出的域名证书
+ component:
+ name: output-selector
+ from:
+ - ':cert:'
+ order: 0
+ certDomains:
+ title: 当前证书域名
+ component:
+ name: cert-domains-getter
+ mergeScript: |2-
+
+ return {
+ component:{
+ inputKey: ctx.compute(({form})=>{
+ return form.cert
+ }),
+ }
+ }
+
+ template: false
+ required: false
+ order: 0
+ accessId:
+ title: 网宿授权
+ component:
+ name: access-selector
+ type: wangsu
+ required: true
+ order: 0
+ certList:
+ title: 证书Id
+ component:
+ name: remote-select
+ vModel: value
+ mode: tags
+ type: plugin
+ action: onGetCertList
+ search: false
+ pager: false
+ watches:
+ - certDomains
+ - accessId
+ required: true
+ mergeScript: |2-
+
+ return {
+ component:{
+ form: ctx.compute(({form})=>{
+ return form
+ })
+ },
+ }
+
+ helper: 要更新的网宿证书id
+ order: 0
+output: {}
+type: builtIn
+pluginType: deploy
+scriptFilePath: ../../../plugins/plugin-wangsu/plugins/plugin-refresh-cert.js
diff --git a/packages/ui/certd-server/metadata/deploy_WebhookDeployCert.yaml b/packages/ui/certd-server/metadata/deploy_WebhookDeployCert.yaml
new file mode 100644
index 000000000..ad10e9a5d
--- /dev/null
+++ b/packages/ui/certd-server/metadata/deploy_WebhookDeployCert.yaml
@@ -0,0 +1,111 @@
+showRunStrategy: false
+default:
+ strategy:
+ runStrategy: 1
+name: WebhookDeployCert
+title: webhook方式部署证书
+icon: ion:send-sharp
+desc: 调用webhook部署证书
+group: other
+input:
+ cert:
+ title: 域名证书
+ helper: 请选择前置任务输出的域名证书
+ component:
+ name: output-selector
+ from:
+ - ':cert:'
+ required: true
+ order: 0
+ webhook:
+ title: webhook地址
+ component:
+ placeholder: https://xxxxx.com/xxxx
+ col:
+ span: 24
+ required: true
+ order: 0
+ method:
+ title: 请求方式
+ value: POST
+ component:
+ name: a-select
+ placeholder: post/put/get
+ options:
+ - value: POST
+ label: POST
+ - value: PUT
+ label: PUT
+ - value: GET
+ label: GET
+ required: true
+ order: 0
+ contentType:
+ title: ContentType
+ value: application/json
+ component:
+ name: a-auto-complete
+ options:
+ - value: application/json
+ label: application/json
+ - value: application/x-www-form-urlencoded
+ label: application/x-www-form-urlencoded
+ helper: 也可以自定义填写
+ required: true
+ order: 0
+ headers:
+ title: Headers
+ component:
+ name: a-textarea
+ vModel: value
+ rows: 2
+ col:
+ span: 24
+ helper: 一行一个,格式为key=value
+ required: false
+ order: 0
+ template:
+ title: 消息body模版
+ value: |-
+ {
+ "id":"123",
+ "crt":"${crt}",
+ "key":"${key}"
+ }
+ component:
+ name: a-textarea
+ rows: 4
+ col:
+ span: 24
+ helper: >-
+ 根据对应的webhook接口文档,构建一个json对象作为参数(默认值只是一个示例,一般不是正确的参数)
+
+ 变量用${}包裹
+
+ 字符串需要双引号,使用\n换行
+
+ 如果是get方式,将作为query参数拼接到url上
+
+ 变量列表:${domain} 主域名、${domains} 全部域名、${crt} 证书、${key} 私钥、${ic} 中间证书、${one}
+ 一体证书、${der} der证书(base64)、${pfx} pfx证书(base64)、${jks} jks证书(base64)、
+ required: true
+ order: 0
+ skipSslVerify:
+ title: 忽略证书校验
+ value: false
+ component:
+ name: a-switch
+ vModel: checked
+ required: false
+ order: 0
+ successStr:
+ title: 成功判定
+ helper: 返回结果中包含此字符串则表示部署成功,不填则仅通过statusCode判定
+ component:
+ name: a-input
+ placeholder: 例如: status:"success"
+ order: 0
+output: {}
+type: builtIn
+pluginType: deploy
+scriptFilePath: ../../../plugins/plugin-other/plugins/plugin-webhook.js
diff --git a/packages/ui/certd-server/metadata/deploy_WestDeployToVhost.yaml b/packages/ui/certd-server/metadata/deploy_WestDeployToVhost.yaml
new file mode 100644
index 000000000..a299e7edb
--- /dev/null
+++ b/packages/ui/certd-server/metadata/deploy_WestDeployToVhost.yaml
@@ -0,0 +1,73 @@
+showRunStrategy: false
+default:
+ strategy:
+ runStrategy: 1
+name: WestDeployToVhost
+title: 西数-部署到虚拟主机
+desc: 西部数码部署证书到虚拟主机
+icon: svg:icon-lucky
+group: cdn
+needPlus: false
+input:
+ cert:
+ title: 域名证书
+ helper: 请选择前置任务输出的域名证书
+ component:
+ name: output-selector
+ from:
+ - ':cert:'
+ order: 0
+ certDomains:
+ title: 当前证书域名
+ component:
+ name: cert-domains-getter
+ mergeScript: |2-
+
+ return {
+ component:{
+ inputKey: ctx.compute(({form})=>{
+ return form.cert
+ }),
+ }
+ }
+
+ template: false
+ required: false
+ order: 0
+ accessId:
+ title: 西数授权
+ component:
+ name: access-selector
+ type: west
+ required: true
+ order: 0
+ vhostList:
+ title: 虚拟主机列表
+ component:
+ name: remote-select
+ vModel: value
+ mode: tags
+ type: plugin
+ action: onGetVhostList
+ search: false
+ pager: false
+ watches:
+ - certDomains
+ - accessId
+ required: true
+ mergeScript: |2-
+
+ return {
+ component:{
+ form: ctx.compute(({form})=>{
+ return form
+ })
+ },
+ }
+
+ helper: 虚拟主机列表
+ order: 0
+output: {}
+type: builtIn
+pluginType: deploy
+scriptFilePath: ../../../plugins/plugin-west/plugins/deploy-to-vhost.js
diff --git a/packages/ui/certd-server/metadata/deploy_WoaiCDN.yaml b/packages/ui/certd-server/metadata/deploy_WoaiCDN.yaml
new file mode 100644
index 000000000..5b7e10301
--- /dev/null
+++ b/packages/ui/certd-server/metadata/deploy_WoaiCDN.yaml
@@ -0,0 +1,45 @@
+showRunStrategy: false
+default:
+ strategy:
+ runStrategy: 1
+name: WoaiCDN
+title: 我爱云-部署证书到我爱云CDN
+desc: 部署证书到我爱云CDN
+icon: clarity:plugin-line
+group: cdn
+input:
+ baseApi:
+ title: 接口地址(可留空)
+ helper: 请填写我爱云的地址, 默认为 [API](https://console.edeg.ttzi.cn) 末尾请不要携带`/`
+ component:
+ name: a-input
+ required: false
+ order: 0
+ certId:
+ title: 证书ID
+ helper: 请填写 [证书列表](https://console.edge.ttzi.cn/site/certificate) 中的证书的ID
+ component:
+ name: a-input
+ required: true
+ order: 0
+ cert:
+ title: 域名证书
+ helper: 请选择前置任务输出的域名证书
+ component:
+ name: output-selector
+ from:
+ - ':cert:'
+ required: true
+ order: 0
+ accessId:
+ title: Access授权
+ helper: 我爱云的用户、密码授权
+ component:
+ name: access-selector
+ type: woai
+ required: true
+ order: 0
+output: {}
+type: builtIn
+pluginType: deploy
+scriptFilePath: ../../../plugins/plugin-woai/plugins/plugin-deploy-to-cdn.js
diff --git a/packages/ui/certd-server/metadata/dnsProvider_dnspod.yaml b/packages/ui/certd-server/metadata/dnsProvider_dnspod.yaml
new file mode 100644
index 000000000..e1945801c
--- /dev/null
+++ b/packages/ui/certd-server/metadata/dnsProvider_dnspod.yaml
@@ -0,0 +1,9 @@
+name: dnspod
+title: dnspod(已过时,请尽快换成腾讯云)
+desc: 已废弃,请尽快换成腾讯云类型
+accessType: dnspod
+deprecated: dnspod已废弃,请换成腾讯云
+icon: svg:icon-tencentcloud
+type: builtIn
+pluginType: dnsProvider
+scriptFilePath: ../../../plugins/plugin-tencent/dns-provider/dnspod-dns-provider.js
diff --git a/packages/ui/certd-server/metadata/dnsProvider_rainyun.yaml b/packages/ui/certd-server/metadata/dnsProvider_rainyun.yaml
new file mode 100644
index 000000000..93fbf4b2f
--- /dev/null
+++ b/packages/ui/certd-server/metadata/dnsProvider_rainyun.yaml
@@ -0,0 +1,8 @@
+name: rainyun
+title: 雨云
+desc: 雨云DNS解析提供商
+accessType: rainyun
+icon: svg:icon-rainyun
+type: builtIn
+pluginType: dnsProvider
+scriptFilePath: ../../../plugins/plugin-rainyun/dns-provider.js
diff --git a/packages/ui/certd-server/metadata/dnsProvider_tencent-eo.yaml b/packages/ui/certd-server/metadata/dnsProvider_tencent-eo.yaml
new file mode 100644
index 000000000..934370123
--- /dev/null
+++ b/packages/ui/certd-server/metadata/dnsProvider_tencent-eo.yaml
@@ -0,0 +1,8 @@
+name: tencent-eo
+title: 腾讯云EO DNS
+desc: 腾讯云EO DNS解析提供者
+accessType: tencent
+icon: svg:icon-tencentcloud
+type: builtIn
+pluginType: dnsProvider
+scriptFilePath: ../../../plugins/plugin-tencent/dns-provider/teo-dns-provider.js
diff --git a/packages/ui/certd-server/metadata/dnsProvider_tencent.yaml b/packages/ui/certd-server/metadata/dnsProvider_tencent.yaml
new file mode 100644
index 000000000..b3668b42f
--- /dev/null
+++ b/packages/ui/certd-server/metadata/dnsProvider_tencent.yaml
@@ -0,0 +1,8 @@
+name: tencent
+title: 腾讯云
+desc: 腾讯云域名DNS解析提供者
+accessType: tencent
+icon: svg:icon-tencentcloud
+type: builtIn
+pluginType: dnsProvider
+scriptFilePath: ../../../plugins/plugin-tencent/dns-provider/tencent-dns-provider.js
diff --git a/packages/ui/certd-server/metadata/dnsProvider_volcengine.yaml b/packages/ui/certd-server/metadata/dnsProvider_volcengine.yaml
new file mode 100644
index 000000000..51ebb1cc8
--- /dev/null
+++ b/packages/ui/certd-server/metadata/dnsProvider_volcengine.yaml
@@ -0,0 +1,9 @@
+name: volcengine
+title: 火山引擎
+desc: 火山引擎DNS解析提供商
+accessType: volcengine
+icon: svg:icon-volcengine
+order: 2
+type: builtIn
+pluginType: dnsProvider
+scriptFilePath: ../../../plugins/plugin-volcengine/volcengine-dns-provider.js
diff --git a/packages/ui/certd-server/metadata/dnsProvider_west.yaml b/packages/ui/certd-server/metadata/dnsProvider_west.yaml
new file mode 100644
index 000000000..129198686
--- /dev/null
+++ b/packages/ui/certd-server/metadata/dnsProvider_west.yaml
@@ -0,0 +1,8 @@
+name: west
+title: 西部数码
+desc: west dns provider
+icon: svg:icon-xibushuma
+accessType: west
+type: builtIn
+pluginType: dnsProvider
+scriptFilePath: ../../../plugins/plugin-west/dns-provider.js
diff --git a/packages/ui/certd-server/metadata/dnsProvider_xinnet.yaml b/packages/ui/certd-server/metadata/dnsProvider_xinnet.yaml
new file mode 100644
index 000000000..a5b081351
--- /dev/null
+++ b/packages/ui/certd-server/metadata/dnsProvider_xinnet.yaml
@@ -0,0 +1,9 @@
+name: xinnet
+title: 新网
+desc: 新网域名解析
+icon: svg:icon-xinnet
+accessType: xinnet
+order: 7
+type: builtIn
+pluginType: dnsProvider
+scriptFilePath: ../../../plugins/plugin-xinnet/dns-provider.js
diff --git a/packages/ui/certd-server/metadata/dnsProvider_xinnetagent.yaml b/packages/ui/certd-server/metadata/dnsProvider_xinnetagent.yaml
new file mode 100644
index 000000000..bb8f0813b
--- /dev/null
+++ b/packages/ui/certd-server/metadata/dnsProvider_xinnetagent.yaml
@@ -0,0 +1,9 @@
+name: xinnetagent
+title: 新网(代理方式)
+desc: 新网域名解析(代理方式)
+icon: svg:icon-xinnet
+accessType: xinnetagent
+order: 7
+type: builtIn
+pluginType: dnsProvider
+scriptFilePath: ../../../plugins/plugin-xinnet/dns-provider-agent.js
diff --git a/packages/ui/certd-server/metadata/dnsProvider_xinnetconnect.yaml b/packages/ui/certd-server/metadata/dnsProvider_xinnetconnect.yaml
new file mode 100644
index 000000000..20e02e741
--- /dev/null
+++ b/packages/ui/certd-server/metadata/dnsProvider_xinnetconnect.yaml
@@ -0,0 +1,9 @@
+name: xinnetconnect
+title: 新网互联
+desc: 新网互联
+icon: svg:icon-xinnet
+accessType: xinnetconnect
+order: 999
+type: builtIn
+pluginType: dnsProvider
+scriptFilePath: ../../../plugins/plugin-xinnetconnet/dns-provider.js
diff --git a/packages/ui/certd-server/metadata/notification_onebot.yaml b/packages/ui/certd-server/metadata/notification_onebot.yaml
new file mode 100644
index 000000000..769e33893
--- /dev/null
+++ b/packages/ui/certd-server/metadata/notification_onebot.yaml
@@ -0,0 +1,41 @@
+name: onebot
+title: OneBot V11 通知
+desc: 通过动态拼接URL发送 OneBot V11 协议消息
+needPlus: false
+input:
+ baseUrl:
+ title: 服务地址
+ component:
+ placeholder: http://xxxx.xxxx.xxxx
+ helper: OneBot 服务的基础地址(不包含action路径)
+ required: true
+ rules:
+ - type: url
+ message: 请输入有效的HTTP/HTTPS地址
+ targetType:
+ title: 目标类型
+ component:
+ name: a-select
+ options:
+ - value: group
+ label: 群聊
+ - value: private
+ label: 私聊
+ required: true
+ helper: 选择消息发送的目标类型
+ targetId:
+ title: 目标ID
+ component:
+ name: a-input-number
+ placeholder: '123456789'
+ helper: 群聊ID或用户ID(纯数字)
+ required: true
+ accessToken:
+ title: 鉴权密钥
+ component:
+ placeholder: xxxxxxxxxx
+ helper: (选填)访问API的授权令牌(无token时留空)
+ required: false
+type: builtIn
+pluginType: notification
+scriptFilePath: ../../../plugins/plugin-notification/onebot/index.js
diff --git a/packages/ui/certd-server/metadata/notification_qywx.yaml b/packages/ui/certd-server/metadata/notification_qywx.yaml
new file mode 100644
index 000000000..5f0d0c5fd
--- /dev/null
+++ b/packages/ui/certd-server/metadata/notification_qywx.yaml
@@ -0,0 +1,32 @@
+name: qywx
+title: 企业微信通知
+desc: 企业微信群聊机器人通知
+needPlus: true
+input:
+ webhook:
+ title: webhook地址
+ component:
+ placeholder: https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=xxxxx
+ helper: '[企微群聊机器人配置说明](https://developer.work.weixin.qq.com/document/path/91770)'
+ required: true
+ mentionedList:
+ title: 提醒指定成员
+ component:
+ name: a-select
+ vModel: value
+ mode: tags
+ open: false
+ required: false
+ helper: 填写成员名字,@all 为提醒所有人
+ mentionedMobileList:
+ title: 提醒指定手机号成员
+ component:
+ name: a-select
+ vModel: value
+ mode: tags
+ open: false
+ required: false
+ helper: 填写成员手机号,@all 为提醒所有人
+type: builtIn
+pluginType: notification
+scriptFilePath: ../../../plugins/plugin-notification/qywx/index.js
diff --git a/packages/ui/certd-server/metadata/notification_serverchan.yaml b/packages/ui/certd-server/metadata/notification_serverchan.yaml
new file mode 100644
index 000000000..b1ed8d66d
--- /dev/null
+++ b/packages/ui/certd-server/metadata/notification_serverchan.yaml
@@ -0,0 +1,37 @@
+name: serverchan
+title: Server酱ᵀ
+desc: https://sct.ftqq.com/
+needPlus: true
+input:
+ endpoint:
+ title: 服务地址
+ value: https://sctapi.ftqq.com
+ required: true
+ sendKey:
+ title: SendKey
+ component:
+ placeholder: https://sctapi.ftqq.com/.send
+ helper: https://sct.ftqq.com/ 微信扫码获取
+ required: true
+ channel:
+ title: 消息通道号
+ component:
+ placeholder: 9|66
+ helper: 可以不填,最多两个通道,[通道配置说明](https://sct.ftqq.com/sendkey)
+ required: false
+ noip:
+ title: 是否隐藏IP
+ component:
+ name: a-switch
+ vModel: checked
+ required: false
+ skipSslVerify:
+ title: 忽略证书校验
+ value: false
+ component:
+ name: a-switch
+ vModel: checked
+ required: false
+type: builtIn
+pluginType: notification
+scriptFilePath: ../../../plugins/plugin-notification/serverchan/index.js
diff --git a/packages/ui/certd-server/metadata/notification_serverchan3.yaml b/packages/ui/certd-server/metadata/notification_serverchan3.yaml
new file mode 100644
index 000000000..a87ff5e00
--- /dev/null
+++ b/packages/ui/certd-server/metadata/notification_serverchan3.yaml
@@ -0,0 +1,32 @@
+name: serverchan3
+title: Server酱³
+desc: https://doc.sc3.ft07.com/serverchan3
+needPlus: true
+input:
+ apiURL:
+ title: ApiURL
+ component:
+ placeholder: https://uid.push.ft07.com/send/sendKey.send
+ required: true
+ tags:
+ title: 标签Tags
+ component:
+ name: a-select
+ vModel: value
+ mode: tags
+ open: false
+ helper: 支持多个,回车后填写下一个
+ required: false
+ short:
+ title: short
+ required: false
+ skipSslVerify:
+ title: 忽略证书校验
+ value: false
+ component:
+ name: a-switch
+ vModel: checked
+ required: false
+type: builtIn
+pluginType: notification
+scriptFilePath: ../../../plugins/plugin-notification/serverchan3/index.js
diff --git a/packages/ui/certd-server/metadata/notification_slack.yaml b/packages/ui/certd-server/metadata/notification_slack.yaml
new file mode 100644
index 000000000..29af1cc69
--- /dev/null
+++ b/packages/ui/certd-server/metadata/notification_slack.yaml
@@ -0,0 +1,30 @@
+name: slack
+title: Slack通知
+desc: Slack消息推送通知
+needPlus: true
+input:
+ webhook:
+ title: webhook地址
+ component:
+ placeholder: >-
+ https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX
+ helper: >-
+ [APPS](https://api.slack.com/apps/)->进入APP->incoming-webhooks->Add New
+ Webhook to Workspace
+ required: true
+ httpsProxy:
+ title: 代理
+ component:
+ placeholder: http://xxxxx:xx
+ helper: 使用https_proxy
+ required: false
+ skipSslVerify:
+ title: 忽略证书校验
+ value: false
+ component:
+ name: a-switch
+ vModel: checked
+ required: false
+type: builtIn
+pluginType: notification
+scriptFilePath: ../../../plugins/plugin-notification/slack/index.js
diff --git a/packages/ui/certd-server/metadata/notification_telegram.yaml b/packages/ui/certd-server/metadata/notification_telegram.yaml
new file mode 100644
index 000000000..5ade9f4bd
--- /dev/null
+++ b/packages/ui/certd-server/metadata/notification_telegram.yaml
@@ -0,0 +1,39 @@
+name: telegram
+title: Telegram通知
+desc: Telegram Bot推送通知
+needPlus: true
+input:
+ endpoint:
+ title: URL
+ value: https://api.telegram.org
+ component:
+ placeholder: https://api.telegram.org
+ required: true
+ botToken:
+ title: Bot Token
+ component:
+ placeholder: 123456789:ABCdefGhijklmnopqrstUVWXyz
+ helper: '[token获取](https://core.telegram.org/bots/features#botfather)'
+ required: true
+ chatId:
+ title: 聊天ID
+ component:
+ placeholder: 聊天ID,例如 123456789 或 @channelusername
+ helper: 用户ID(纯数字)或频道名称(@xxxx)
+ required: true
+ httpsProxy:
+ title: 代理
+ component:
+ placeholder: http://xxxxx:xx
+ helper: 使用https_proxy
+ required: false
+ skipSslVerify:
+ title: 忽略证书校验
+ value: false
+ component:
+ name: a-switch
+ vModel: checked
+ required: false
+type: builtIn
+pluginType: notification
+scriptFilePath: ../../../plugins/plugin-notification/telegram/index.js
diff --git a/packages/ui/certd-server/metadata/notification_vocechat.yaml b/packages/ui/certd-server/metadata/notification_vocechat.yaml
new file mode 100644
index 000000000..bcfd9a080
--- /dev/null
+++ b/packages/ui/certd-server/metadata/notification_vocechat.yaml
@@ -0,0 +1,43 @@
+name: vocechat
+title: VoceChat通知
+desc: https://voce.chat
+needPlus: true
+input:
+ endpoint:
+ title: 服务地址
+ component:
+ placeholder: https://replace.your.domain
+ required: true
+ apiKey:
+ title: apiKey
+ component:
+ placeholder: ''
+ helper: '[获取APIKEY](https://doc.voce.chat/bot/bot-and-webhook)'
+ required: true
+ targetType:
+ title: 目标类型
+ component:
+ name: a-select
+ options:
+ - value: user
+ label: 用户
+ - value: channel
+ label: 频道
+ required: true
+ helper: 发送消息的目标类型
+ targetId:
+ title: 目标ID
+ component:
+ placeholder: 发送消息的目标ID
+ required: true
+ helper: 目标ID可以是用户ID或频道ID
+ skipSslVerify:
+ title: 忽略证书校验
+ value: false
+ component:
+ name: a-switch
+ vModel: checked
+ required: false
+type: builtIn
+pluginType: notification
+scriptFilePath: ../../../plugins/plugin-notification/vocechat/index.js
diff --git a/packages/ui/certd-server/metadata/notification_webhook.yaml b/packages/ui/certd-server/metadata/notification_webhook.yaml
new file mode 100644
index 000000000..668080aca
--- /dev/null
+++ b/packages/ui/certd-server/metadata/notification_webhook.yaml
@@ -0,0 +1,76 @@
+name: webhook
+title: 自定义webhook
+desc: 根据模版自定义http请求
+order: -100
+input:
+ webhook:
+ title: webhook地址
+ component:
+ placeholder: https://xxxxx.com/xxxx
+ col:
+ span: 24
+ required: true
+ method:
+ title: 请求方式
+ value: POST
+ component:
+ name: a-select
+ placeholder: post/put/get
+ options:
+ - value: POST
+ label: POST
+ - value: PUT
+ label: PUT
+ - value: GET
+ label: GET
+ required: true
+ contentType:
+ title: ContentType
+ value: application/json
+ component:
+ name: a-auto-complete
+ options:
+ - value: application/json
+ label: application/json
+ - value: application/x-www-form-urlencoded
+ label: application/x-www-form-urlencoded
+ helper: 也可以自定义填写
+ required: true
+ headers:
+ title: Headers
+ component:
+ name: a-textarea
+ vModel: value
+ rows: 2
+ col:
+ span: 24
+ helper: 一行一个,格式为key=value
+ required: false
+ template:
+ title: 消息body模版
+ value: |-
+ {
+ "title":"{title}",
+ "content":"{content}\n[查看详情]({url})"
+ }
+ component:
+ name: a-textarea
+ rows: 4
+ col:
+ span: 24
+ helper: |-
+ 根据对应的webhook接口文档,构建一个json对象作为参数(默认值只是一个示例,一般不是正确的参数)
+ 支持变量:{title}、{content}、{url},变量用{}包裹
+ 字符串需要双引号,使用\n换行
+ 如果是get方式,将作为query参数拼接到url上
+ required: true
+ skipSslVerify:
+ title: 忽略证书校验
+ value: false
+ component:
+ name: a-switch
+ vModel: checked
+ required: false
+type: builtIn
+pluginType: notification
+scriptFilePath: ../../../plugins/plugin-notification/webhook/index.js
diff --git a/packages/ui/certd-server/metadata/undefined_clogin.yaml b/packages/ui/certd-server/metadata/undefined_clogin.yaml
new file mode 100644
index 000000000..6b765b711
--- /dev/null
+++ b/packages/ui/certd-server/metadata/undefined_clogin.yaml
@@ -0,0 +1,64 @@
+addonType: oauth
+name: clogin
+title: 彩虹聚合登录
+desc: 彩虹聚合登录
+icon: emojione:rainbow
+showTest: false
+input:
+ endpoint:
+ title: 系统地址
+ helper: http://clogin.xxxx.com/
+ required: true
+ col:
+ span: 24
+ loginType:
+ title: 登录类型
+ component:
+ name: a-auto-complete
+ options:
+ - label: QQ
+ value: qq
+ - label: 微信
+ value: wx
+ - label: 支付宝
+ value: alipay
+ - label: 微博
+ value: sina
+ - label: 百度
+ value: baidu
+ - label: 华为
+ value: huawei
+ - label: 小米
+ value: xiaomi
+ - label: 谷歌
+ value: google
+ - label: 微软
+ value: microsoft
+ - label: Facebook
+ value: facebook
+ - label: Twitter
+ value: twitter
+ - label: 钉钉
+ value: dingtalk
+ - label: Gitee
+ value: gitee
+ - label: Github
+ value: github
+ required: true
+ icon:
+ title: 自定义图标
+ component:
+ name: fs-icon-selector
+ vModel: modelValue
+ required: false
+ appId:
+ title: AppId
+ helper: 彩虹聚合登录->应用列表->创建应用 获取
+ required: true
+ appKey:
+ title: AppKey
+ component:
+ placeholder: AppKey
+ required: true
+type: builtIn
+scriptFilePath: ../../../plugins/plugin-oauth/oauth2/plugin-clogin.js
diff --git a/packages/ui/certd-server/metadata/undefined_common.yaml b/packages/ui/certd-server/metadata/undefined_common.yaml
new file mode 100644
index 000000000..9eb7ea304
--- /dev/null
+++ b/packages/ui/certd-server/metadata/undefined_common.yaml
@@ -0,0 +1,66 @@
+addonType: emailTemplate
+name: common
+title: 通用邮件模版
+desc: 使用通用的邮件标题和内容,内容外部可以自定义html进行美化
+icon: simple-icons:email:blue
+showTest: false
+input:
+ useIntro:
+ title: 配置说明
+ component:
+ name: a-alert
+ props:
+ type: info
+ message: 在标题和内容模版中,通过${name}引用参数,例如: 感谢注册,您的注册验证码为:${code}
+ order: -9
+ col:
+ span: 24
+ formatType:
+ title: 邮件格式
+ component:
+ name: a-select
+ props:
+ options:
+ - label: HTML
+ value: html
+ - label: TEXT
+ value: text
+ order: 9
+ col:
+ span: 24
+ required: true
+ titleTemplate:
+ title: 邮件标题模版
+ required: true
+ order: 10
+ component:
+ name: a-input
+ props:
+ placeholder: 邮件标题模版
+ col:
+ span: 24
+ contentTemplate:
+ title: 邮件内容模版
+ component:
+ name: a-textarea
+ rows: 6
+ order: 20
+ col:
+ span: 24
+ required: true
+ paramIntro:
+ title: 可用参数
+ component:
+ name: ParamsShow
+ params:
+ - label: 标题
+ value: title
+ - label: 内容
+ value: content
+ - label: URL
+ value: url
+ helper: html格式下${content}建议使用pre标签包裹:例如:<pre>${content}</pre>
+ col:
+ span: 24
+type: builtIn
+scriptFilePath: ../../../plugins/plugin-template/email/plugin-common.js
diff --git a/packages/ui/certd-server/metadata/undefined_forgotPassword.yaml b/packages/ui/certd-server/metadata/undefined_forgotPassword.yaml
new file mode 100644
index 000000000..526dfa315
--- /dev/null
+++ b/packages/ui/certd-server/metadata/undefined_forgotPassword.yaml
@@ -0,0 +1,61 @@
+addonType: emailTemplate
+name: forgotPassword
+title: 忘记密码邮件模版
+desc: 您正在重置密码,您的验证码为xxxx,请勿泄露
+icon: simple-icons:email:blue
+showTest: false
+input:
+ useIntro:
+ title: 配置说明
+ component:
+ name: a-alert
+ props:
+ type: info
+ message: 在标题和内容模版中,通过${name}引用参数,例如: 感谢注册,您的注册验证码为:${code}
+ order: -9
+ col:
+ span: 24
+ formatType:
+ title: 邮件格式
+ component:
+ name: a-select
+ props:
+ options:
+ - label: HTML
+ value: html
+ - label: TEXT
+ value: text
+ order: 9
+ col:
+ span: 24
+ required: true
+ titleTemplate:
+ title: 邮件标题模版
+ required: true
+ order: 10
+ component:
+ name: a-input
+ props:
+ placeholder: 邮件标题模版
+ col:
+ span: 24
+ contentTemplate:
+ title: 邮件内容模版
+ component:
+ name: a-textarea
+ rows: 6
+ order: 20
+ col:
+ span: 24
+ required: true
+ paramIntro:
+ title: 可用参数
+ component:
+ name: ParamsShow
+ params:
+ - label: 验证码
+ value: code
+ col:
+ span: 24
+type: builtIn
+scriptFilePath: ../../../plugins/plugin-template/email/plugin-forgot-password.js
diff --git a/packages/ui/certd-server/metadata/undefined_gitee.yaml b/packages/ui/certd-server/metadata/undefined_gitee.yaml
new file mode 100644
index 000000000..c02fd4d25
--- /dev/null
+++ b/packages/ui/certd-server/metadata/undefined_gitee.yaml
@@ -0,0 +1,18 @@
+addonType: oauth
+name: gitee
+title: Gitee认证
+desc: Gitee OAuth2登录
+icon: simple-icons:gitee:red
+showTest: false
+input:
+ clientId:
+ title: ClientId
+ helper: '[gitee 第三方应用管理](https://gitee.com/oauth/applications)创建应用后获取'
+ required: true
+ clientSecretKey:
+ title: ClientSecretKey
+ component:
+ placeholder: ClientSecretKey / appSecretKey
+ required: true
+type: builtIn
+scriptFilePath: ../../../plugins/plugin-oauth/oauth2/plugin-gitee.js
diff --git a/packages/ui/certd-server/metadata/undefined_oidc.yaml b/packages/ui/certd-server/metadata/undefined_oidc.yaml
new file mode 100644
index 000000000..bf33feefe
--- /dev/null
+++ b/packages/ui/certd-server/metadata/undefined_oidc.yaml
@@ -0,0 +1,30 @@
+addonType: oauth
+name: oidc
+title: OIDC认证
+desc: OpenID Connect 认证,统一认证服务
+icon: simple-icons:fusionauth:#006be6
+showTest: false
+input:
+ icon:
+ title: 自定义图标
+ component:
+ name: fs-icon-selector
+ vModel: modelValue
+ required: false
+ clientId:
+ title: ClientId
+ helper: ClientId / appId
+ required: true
+ clientSecretKey:
+ title: ClientSecretKey
+ component:
+ placeholder: ClientSecretKey / appSecretKey
+ required: true
+ issuerUrl:
+ title: 服务地址
+ helper: Issuer地址,服务发现地址去掉/.well-known/openid-configuration
+ component:
+ placeholder: https://oidc.example.com/oidc
+ required: true
+type: builtIn
+scriptFilePath: ../../../plugins/plugin-oauth/oidc/plugin-oidc.js
diff --git a/packages/ui/certd-server/metadata/undefined_pipelineResult.yaml b/packages/ui/certd-server/metadata/undefined_pipelineResult.yaml
new file mode 100644
index 000000000..a4d2ad735
--- /dev/null
+++ b/packages/ui/certd-server/metadata/undefined_pipelineResult.yaml
@@ -0,0 +1,71 @@
+addonType: emailTemplate
+name: pipelineResult
+title: 流水线执行结果邮件模版
+desc: 执行失败,xxxx自动化【流水线id】;运行ID:xxx,错误信息:xxxx
+icon: simple-icons:email:blue
+showTest: false
+input:
+ useIntro:
+ title: 配置说明
+ component:
+ name: a-alert
+ props:
+ type: info
+ message: 在标题和内容模版中,通过${name}引用参数,例如: 感谢注册,您的注册验证码为:${code}
+ order: -9
+ col:
+ span: 24
+ formatType:
+ title: 邮件格式
+ component:
+ name: a-select
+ props:
+ options:
+ - label: HTML
+ value: html
+ - label: TEXT
+ value: text
+ order: 9
+ col:
+ span: 24
+ required: true
+ titleTemplate:
+ title: 邮件标题模版
+ required: true
+ order: 10
+ component:
+ name: a-input
+ props:
+ placeholder: 邮件标题模版
+ col:
+ span: 24
+ contentTemplate:
+ title: 邮件内容模版
+ component:
+ name: a-textarea
+ rows: 6
+ order: 20
+ col:
+ span: 24
+ required: true
+ paramIntro:
+ title: 可用参数
+ component:
+ name: ParamsShow
+ params:
+ - label: 运行结果
+ value: pipelineResult
+ - label: 流水线标题
+ value: pipelineTitle
+ - label: 流水线ID
+ value: pipelineId
+ - label: 运行Id
+ value: historyId
+ - label: 错误信息
+ value: errors
+ - label: URL
+ value: url
+ col:
+ span: 24
+type: builtIn
+scriptFilePath: ../../../plugins/plugin-template/email/plugin-pipeline-result.js
diff --git a/packages/ui/certd-server/metadata/undefined_registerCode.yaml b/packages/ui/certd-server/metadata/undefined_registerCode.yaml
new file mode 100644
index 000000000..18f84e252
--- /dev/null
+++ b/packages/ui/certd-server/metadata/undefined_registerCode.yaml
@@ -0,0 +1,61 @@
+addonType: emailTemplate
+name: registerCode
+title: 注册验证码邮件模版
+desc: 您的注册验证码为:xxxx,请勿泄露
+icon: simple-icons:email:blue
+showTest: false
+input:
+ useIntro:
+ title: 配置说明
+ component:
+ name: a-alert
+ props:
+ type: info
+ message: 在标题和内容模版中,通过${name}引用参数,例如: 感谢注册,您的注册验证码为:${code}
+ order: -9
+ col:
+ span: 24
+ formatType:
+ title: 邮件格式
+ component:
+ name: a-select
+ props:
+ options:
+ - label: HTML
+ value: html
+ - label: TEXT
+ value: text
+ order: 9
+ col:
+ span: 24
+ required: true
+ titleTemplate:
+ title: 邮件标题模版
+ required: true
+ order: 10
+ component:
+ name: a-input
+ props:
+ placeholder: 邮件标题模版
+ col:
+ span: 24
+ contentTemplate:
+ title: 邮件内容模版
+ component:
+ name: a-textarea
+ rows: 6
+ order: 20
+ col:
+ span: 24
+ required: true
+ paramIntro:
+ title: 可用参数
+ component:
+ name: ParamsShow
+ params:
+ - label: 验证码
+ value: code
+ col:
+ span: 24
+type: builtIn
+scriptFilePath: ../../../plugins/plugin-template/email/plugin-register-code.js
diff --git a/packages/ui/certd-server/metadata/undefined_wx.yaml b/packages/ui/certd-server/metadata/undefined_wx.yaml
new file mode 100644
index 000000000..edb4977a0
--- /dev/null
+++ b/packages/ui/certd-server/metadata/undefined_wx.yaml
@@ -0,0 +1,18 @@
+addonType: oauth
+name: wx
+title: 微信登录
+desc: 微信网站应用登录
+icon: ion:logo-wechat:green
+showTest: false
+input:
+ appId:
+ title: AppId
+ required: true
+ helper: 在[微信开放平台](https://open.weixin.qq.com/cgi-bin/index)注册网站应用后获取
+ appSecretKey:
+ title: AppSecretKey
+ component:
+ placeholder: AppSecretKey
+ required: true
+type: builtIn
+scriptFilePath: ../../../plugins/plugin-oauth/wx/plugin-wx.js
diff --git a/packages/ui/certd-server/src/plugins/plugin-notification/onebot/index.ts b/packages/ui/certd-server/src/plugins/plugin-notification/onebot/index.ts
index bc430d7e8..300fb4ea4 100755
--- a/packages/ui/certd-server/src/plugins/plugin-notification/onebot/index.ts
+++ b/packages/ui/certd-server/src/plugins/plugin-notification/onebot/index.ts
@@ -23,7 +23,7 @@ export class OneBotNotification extends BaseNotification {
required: true,
rules: [
{
- validator: (value) => /^https?:\/\/\S+$/.test(value),
+ type: 'url',
message: '请输入有效的HTTP/HTTPS地址'
}
]
@@ -49,16 +49,11 @@ export class OneBotNotification extends BaseNotification {
@NotificationInput({
title: '目标ID',
component: {
+ name: 'a-input-number',
placeholder: '123456789',
},
helper: '群聊ID或用户ID(纯数字)',
required: true,
- rules: [
- {
- validator: (value) => /^\d+$/.test(value),
- message: 'ID必须为纯数字'
- }
- ]
})
targetId = '';