diff --git a/packages/ui/certd-server/export-plugin-yaml.js b/packages/ui/certd-server/export-plugin-yaml.js index f9b885ab..29ed0545 100644 --- a/packages/ui/certd-server/export-plugin-yaml.js +++ b/packages/ui/certd-server/export-plugin-yaml.js @@ -4,14 +4,12 @@ import { join } from 'path'; import fs from 'fs' import { pathToFileURL } from "node:url"; import path from 'path' +import * as yaml from "js-yaml"; function scanDir(dir) { const files = fs.readdirSync(dir); const result = []; // 扫描目录及子目录 for (const file of files) { - if (file.includes("index.js")) { - continue; - } const filePath = join(dir, file); const stat = fs.statSync(filePath); @@ -50,4 +48,33 @@ const modules = await loadModules('./dist/plugins'); for (const key in modules) { console.log(key) + const module = modules[key] + const entry = Object.entries(module) + for (const [name, value] of entry) { + if(key.includes("deploy-to-live")){ + console.log("live",value) + } + //如果有define属性 + if(value.define){ + //那么就是插件 + let location = key.substring(4) + location = location.substring(0, location.length - 3) + + const pluginDefine = { + ...value.define + } + if(pluginDefine.accessType){ + pluginDefine.pluginType = "dnsProvider" + }else if(pluginDefine.group){ + pluginDefine.pluginType = "deploy" + }else{ + pluginDefine.pluginType = "access" + } + delete pluginDefine.autowire + const filePath = path.join(`./src/${location}`+".yaml") + + const data = yaml.dump(pluginDefine) + fs.writeFileSync(filePath,data ,'utf8') + } + } } diff --git a/packages/ui/certd-server/src/plugins/index.yaml b/packages/ui/certd-server/src/plugins/index.yaml new file mode 100644 index 00000000..e84872c6 --- /dev/null +++ b/packages/ui/certd-server/src/plugins/index.yaml @@ -0,0 +1,43 @@ +name: yizhifu +title: 易支付 +icon: svg:icon-yizhifu +input: + url: + title: url + component: + placeholder: https://pay.xxxx.com + helper: 易支付系统地址 + required: true + encrypt: false + pid: + title: 商户id + component: + placeholder: pid + required: true + encrypt: false + key: + title: key + component: + placeholder: key + required: true + encrypt: true + payType: + title: 固定支付方式 + component: + placeholder: 固定一种支付方式,也就是submit.php中的type参数 + helper: 不填则跳转到收银台由用户自己选择,如果您的易支付系统不支持收银台,则必须填写 + required: false + encrypt: false + signType: + title: 签名方式 + component: + name: a-select + vModel: value + options: + - label: MD5 + value: MD5 + - label: SHA256 + value: SHA256 + required: true + encrypt: false +pluginType: access diff --git a/packages/ui/certd-server/src/plugins/plugin-aliyun/dns-provider/aliyun-dns-provider.yaml b/packages/ui/certd-server/src/plugins/plugin-aliyun/dns-provider/aliyun-dns-provider.yaml new file mode 100644 index 00000000..deddde95 --- /dev/null +++ b/packages/ui/certd-server/src/plugins/plugin-aliyun/dns-provider/aliyun-dns-provider.yaml @@ -0,0 +1,6 @@ +name: aliyun +title: 阿里云 +desc: 阿里云DNS解析提供商 +accessType: aliyun +icon: svg:icon-aliyun +pluginType: dnsProvider diff --git a/packages/ui/certd-server/src/plugins/plugin-aliyun/index.yaml b/packages/ui/certd-server/src/plugins/plugin-aliyun/index.yaml new file mode 100644 index 00000000..e6f3bd61 --- /dev/null +++ b/packages/ui/certd-server/src/plugins/plugin-aliyun/index.yaml @@ -0,0 +1,64 @@ +showRunStrategy: false +default: + strategy: + runStrategy: 1 +name: uploadCertToAliyun +title: 阿里云-上传证书到阿里云 +icon: svg:icon-aliyun +group: aliyun +desc: 如果不想在阿里云上同一份证书上传多次,可以把此任务作为前置任务,其他阿里云任务证书那一项选择此任务的输出 +input: + name: + title: 证书名称 + helper: 证书上传后将以此参数作为名称前缀 + order: 0 + regionId: + title: 大区 + value: cn-hangzhou + component: + name: a-auto-complete + vModel: value + options: + - value: cn-hangzhou + endpoint: cas.aliyuncs.com + label: cn-hangzhou-中国大陆 + - value: eu-central-1 + endpoint: cas.eu-central-1.aliyuncs.com + label: eu-central-1-德国(法兰克福) + - value: ap-southeast-1 + endpoint: cas.ap-southeast-1.aliyuncs.com + label: ap-southeast-1-新加坡 + - value: ap-southeast-3 + endpoint: cas.ap-southeast-3.aliyuncs.com + label: ap-southeast-3-马来西亚(吉隆坡) + - value: ap-southeast-5 + endpoint: cas.ap-southeast-5.aliyuncs.com + label: ap-southeast-5-印度尼西亚(雅加达) + - value: cn-hongkong + endpoint: cas.cn-hongkong.aliyuncs.com + label: cn-hongkong-中国香港 + required: true + order: 0 + cert: + title: 域名证书 + helper: 请选择前置任务输出的域名证书 + component: + name: output-selector + from: + - CertApply + - CertApplyLego + - CertApplyUpload + required: true + order: 0 + accessId: + title: Access授权 + helper: 阿里云授权AccessKeyId、AccessKeySecret + component: + name: access-selector + type: aliyun + required: true + order: 0 +output: + aliyunCertId: + title: 上传成功后的阿里云CertId +pluginType: deploy diff --git a/packages/ui/certd-server/src/plugins/plugin-aliyun/plugin/deploy-to-alb/index.yaml b/packages/ui/certd-server/src/plugins/plugin-aliyun/plugin/deploy-to-alb/index.yaml new file mode 100644 index 00000000..a6cf6695 --- /dev/null +++ b/packages/ui/certd-server/src/plugins/plugin-aliyun/plugin/deploy-to-alb/index.yaml @@ -0,0 +1,143 @@ +showRunStrategy: false +default: + strategy: + runStrategy: 1 +name: AliyunDeployCertToALB +title: 阿里云-部署至ALB(应用负载均衡) +icon: svg:icon-aliyun +group: aliyun +desc: ALB,更新监听器的默认证书 +needPlus: false +input: + cert: + title: 域名证书 + helper: |- + 请选择证书申请任务输出的域名证书 + 或者选择前置任务“上传证书到阿里云”任务的证书ID,可以减少上传到阿里云的证书数量 + component: + name: output-selector + from: + - CertApply + - CertApplyLego + - CertApplyUpload + - uploadCertToAliyun + required: true + order: 0 + certDomains: + title: 当前证书域名 + component: + name: cert-domains-getter + mergeScript: |2- + + return { + component:{ + inputKey: ctx.compute(({form})=>{ + return form.cert + }), + } + } + + required: false + order: 0 + accessId: + title: Access授权 + helper: 阿里云授权AccessKeyId、AccessKeySecret + component: + name: access-selector + type: aliyun + required: true + order: 0 + regionId: + title: ALB所在地区 + component: + name: remote-select + vModel: value + type: plugin + typeName: AliyunDeployCertToALB + action: onGetRegionList + watches: + - certDomains + - accessId + - accessId + required: true + mergeScript: |2- + + return { + component:{ + form: ctx.compute(({form})=>{ + return form + }) + }, + } + + helper: 请选择 + order: 0 + loadBalancers: + title: 负载均衡列表 + component: + name: remote-select + vModel: value + mode: tags + type: plugin + typeName: AliyunDeployCertToALB + action: onGetLoadBalanceList + watches: + - certDomains + - accessId + - regionId + required: true + mergeScript: |2- + + return { + component:{ + form: ctx.compute(({form})=>{ + return form + }) + }, + } + + helper: 要部署证书的负载均衡ID + order: 0 + listeners: + title: 监听器列表 + component: + name: remote-select + vModel: value + mode: tags + type: plugin + typeName: AliyunDeployCertToALB + action: onGetListenerList + watches: + - certDomains + - accessId + - loadBalancers + required: true + mergeScript: |2- + + return { + component:{ + form: ctx.compute(({form})=>{ + return form + }) + }, + } + + helper: 要部署证书的监听器列表 + order: 0 + casEndpoint: + title: 证书接入点 + helper: 不会选就保持默认即可 + value: cas.aliyuncs.com + component: + name: a-select + options: + - value: cas.aliyuncs.com + label: 中国大陆 + - value: cas.ap-southeast-1.aliyuncs.com + label: 新加坡 + - value: cas.eu-central-1.aliyuncs.com + label: 德国(法兰克福) + required: true + order: 0 +output: {} +pluginType: deploy diff --git a/packages/ui/certd-server/src/plugins/plugin-aliyun/plugin/deploy-to-cdn/index.yaml b/packages/ui/certd-server/src/plugins/plugin-aliyun/plugin/deploy-to-cdn/index.yaml new file mode 100644 index 00000000..a51a07ce --- /dev/null +++ b/packages/ui/certd-server/src/plugins/plugin-aliyun/plugin/deploy-to-cdn/index.yaml @@ -0,0 +1,107 @@ +showRunStrategy: false +default: + strategy: + runStrategy: 1 +name: DeployCertToAliyunCDN +title: 阿里云-部署证书至CDN +icon: svg:icon-aliyun +group: aliyun +desc: 自动部署域名证书至阿里云CDN +input: + endpoint: + title: 证书服务接入点 + helper: 不会选就按默认 + value: cas.aliyuncs.com + component: + name: a-select + options: + - value: cas.aliyuncs.com + label: 中国大陆 + - value: cas.ap-southeast-1.aliyuncs.com + label: 新加坡 + - value: cas.eu-central-1.aliyuncs.com + label: 德国(法兰克福) + required: true + order: 0 + cert: + title: 域名证书 + helper: 请选择前置任务输出的域名证书 + component: + name: output-selector + from: + - CertApply + - CertApplyLego + - CertApplyUpload + - uploadCertToAliyun + required: true + order: 0 + certDomains: + title: 当前证书域名 + component: + name: cert-domains-getter + mergeScript: |2- + + return { + component:{ + inputKey: ctx.compute(({form})=>{ + return form.cert + }), + } + } + + required: false + order: 0 + accessId: + title: Access授权 + helper: 阿里云授权AccessKeyId、AccessKeySecret + component: + name: access-selector + type: aliyun + required: true + order: 0 + domainName: + title: CDN加速域名 + component: + name: remote-select + vModel: value + mode: tags + type: plugin + typeName: DeployCertToAliyunCDN + action: onGetDomainList + watches: + - certDomains + - accessId + - certDomains + - accessId + required: true + mergeScript: |2- + + return { + component:{ + form: ctx.compute(({form})=>{ + return form + }) + }, + } + + helper: 你在阿里云上配置的CDN加速域名,比如:certd.docmirror.cn + order: 0 + certRegion: + title: 证书所在地域 + helper: cn-hangzhou和ap-southeast-1,默认cn-hangzhou。国际站用户建议使用ap-southeast-1。 + value: cn-hangzhou + component: + name: a-select + options: + - value: cn-hangzhou + label: 中国大陆 + - value: ap-southeast-1 + label: 新加坡 + required: true + order: 0 + certName: + title: 证书名称 + helper: 上传后将以此名称作为前缀备注 + order: 0 +output: {} +pluginType: deploy diff --git a/packages/ui/certd-server/src/plugins/plugin-aliyun/plugin/deploy-to-dcdn/index.yaml b/packages/ui/certd-server/src/plugins/plugin-aliyun/plugin/deploy-to-dcdn/index.yaml new file mode 100644 index 00000000..38bff186 --- /dev/null +++ b/packages/ui/certd-server/src/plugins/plugin-aliyun/plugin/deploy-to-dcdn/index.yaml @@ -0,0 +1,57 @@ +showRunStrategy: false +default: + strategy: + runStrategy: 1 +name: DeployCertToAliyunDCDN +title: 阿里云-部署证书至DCDN +icon: svg:icon-aliyun +group: aliyun +desc: 依赖证书申请前置任务,自动部署域名证书至阿里云DCDN +input: + cert: + title: 域名证书 + helper: 请选择前置任务输出的域名证书 + component: + name: output-selector + from: + - CertApply + - CertApplyLego + - CertApplyUpload + - uploadCertToAliyun + required: true + order: 0 + certDomains: + title: 当前证书域名 + component: + name: cert-domains-getter + mergeScript: |2- + + return { + component:{ + inputKey: ctx.compute(({form})=>{ + return form.cert + }), + } + } + + required: false + order: 0 + accessId: + title: Access授权 + helper: 阿里云授权AccessKeyId、AccessKeySecret + component: + name: access-selector + type: aliyun + required: true + order: 0 + domainName: + title: DCDN加速域名 + helper: 你在阿里云上配置的CDN加速域名,比如:certd.docmirror.cn + required: true + order: 0 + certName: + title: 证书名称 + helper: 上传后将以此名称作为前缀备注 + order: 0 +output: {} +pluginType: deploy diff --git a/packages/ui/certd-server/src/plugins/plugin-aliyun/plugin/deploy-to-fc/index.yaml b/packages/ui/certd-server/src/plugins/plugin-aliyun/plugin/deploy-to-fc/index.yaml new file mode 100644 index 00000000..2d0138cf --- /dev/null +++ b/packages/ui/certd-server/src/plugins/plugin-aliyun/plugin/deploy-to-fc/index.yaml @@ -0,0 +1,147 @@ +showRunStrategy: false +default: + strategy: + runStrategy: 1 +name: AliyunDeployCertToFC +title: 阿里云-部署至阿里云FC(3.0) +icon: svg:icon-aliyun +group: aliyun +desc: 部署证书到阿里云函数计算(FC3.0),【注意】证书的加密算法必须选择【pkcs1旧版】 +needPlus: true +input: + cert: + title: 域名证书 + helper: 请选择证书申请任务输出的域名证书 + component: + name: output-selector + from: + - CertApply + - CertApplyLego + - CertApplyUpload + required: true + order: 0 + certDomains: + title: 当前证书域名 + component: + name: cert-domains-getter + mergeScript: |2- + + return { + component:{ + inputKey: ctx.compute(({form})=>{ + return form.cert + }), + } + } + + required: false + order: 0 + regionId: + title: FC大区 + value: cn-hangzhou + component: + name: a-auto-complete + vModel: value + options: + - value: cn-qingdao + label: 华北1(青岛) + - value: cn-beijing + label: 华北2(北京) + - value: cn-zhangjiakou + label: 华北 3(张家口) + - value: cn-huhehaote + label: 华北5(呼和浩特) + - value: cn-hangzhou + label: 华东1(杭州) + - value: cn-shanghai + label: 华东2(上海) + - value: cn-shenzhen + label: 华南1(深圳) + - value: ap-southeast-2 + label: 澳大利亚(悉尼) + - value: eu-central-1 + label: 德国(法兰克福) + - value: ap-southeast-3 + label: 马来西亚(吉隆坡) + - value: us-east-1 + label: 美国(弗吉尼亚) + - value: us-west-1 + label: 美国(硅谷) + - value: ap-northeast-1 + label: 日本(东京) + - value: ap-southeast-7 + label: 泰国(曼谷) + - value: cn-chengdu + label: 西南1(成都) + - value: ap-southeast-1 + label: 新加坡 + - value: ap-south-1 + label: 印度(孟买) + - value: ap-southeast-5 + label: 印度尼西亚(雅加达) + - value: eu-west-1 + label: 英国(伦敦) + - value: cn-hongkong + label: 中国香港 + required: true + order: 0 + accountId: + title: 阿里云账号id + helper: 阿里云主账号ID,右上角头像下方获取 + component: + name: a-input + vModel: value + required: true + order: 0 + accessId: + title: Access授权 + helper: 阿里云授权AccessKeyId、AccessKeySecret + component: + name: access-selector + type: aliyun + required: true + order: 0 + fcDomains: + title: FC域名 + component: + name: remote-select + vModel: value + mode: tags + type: plugin + typeName: AliyunDeployCertToFC + action: onGetDomainList + watches: + - certDomains + - accessId + - accessId + - regionId + required: true + mergeScript: |2- + + return { + component:{ + form: ctx.compute(({form})=>{ + return form + }) + }, + } + + helper: |- + 请选择要部署证书的域名 + 【注意】证书的加密算法必须选择【pkcs1旧版】(否则会报'private key' has to be in PEM format错误) + order: 0 + protocol: + title: 域名支持的协议类型 + component: + name: a-select + value: '' + options: + - value: '' + label: 保持原样(适用于原来已经开启了HTTPS) + - value: HTTPS + label: 仅HTTPS + - value: HTTP,HTTPS + label: HTTP与HTTPS同时支持 + order: 0 +output: {} +pluginType: deploy diff --git a/packages/ui/certd-server/src/plugins/plugin-aliyun/plugin/deploy-to-nlb/index.yaml b/packages/ui/certd-server/src/plugins/plugin-aliyun/plugin/deploy-to-nlb/index.yaml new file mode 100644 index 00000000..2417b5a2 --- /dev/null +++ b/packages/ui/certd-server/src/plugins/plugin-aliyun/plugin/deploy-to-nlb/index.yaml @@ -0,0 +1,143 @@ +showRunStrategy: false +default: + strategy: + runStrategy: 1 +name: AliyunDeployCertToNLB +title: 阿里云-部署至NLB(网络负载均衡) +icon: svg:icon-aliyun +group: aliyun +desc: NLB,网络负载均衡,更新监听器的默认证书 +needPlus: false +input: + cert: + title: 域名证书 + helper: |- + 请选择证书申请任务输出的域名证书 + 或者选择前置任务“上传证书到阿里云”任务的证书ID,可以减少上传到阿里云的证书数量 + component: + name: output-selector + from: + - CertApply + - CertApplyLego + - CertApplyUpload + - uploadCertToAliyun + required: true + order: 0 + certDomains: + title: 当前证书域名 + component: + name: cert-domains-getter + mergeScript: |2- + + return { + component:{ + inputKey: ctx.compute(({form})=>{ + return form.cert + }), + } + } + + required: false + order: 0 + accessId: + title: Access授权 + helper: 阿里云授权AccessKeyId、AccessKeySecret + component: + name: access-selector + type: aliyun + required: true + order: 0 + regionId: + title: NLB所在地区 + component: + name: remote-select + vModel: value + type: plugin + typeName: AliyunDeployCertToNLB + action: onGetRegionList + watches: + - certDomains + - accessId + - accessId + required: true + mergeScript: |2- + + return { + component:{ + form: ctx.compute(({form})=>{ + return form + }) + }, + } + + helper: 请选择 + order: 0 + loadBalancers: + title: 负载均衡列表 + component: + name: remote-select + vModel: value + mode: tags + type: plugin + typeName: AliyunDeployCertToNLB + action: onGetLoadBalanceList + watches: + - certDomains + - accessId + - regionId + required: true + mergeScript: |2- + + return { + component:{ + form: ctx.compute(({form})=>{ + return form + }) + }, + } + + helper: 要部署证书的负载均衡ID + order: 0 + listeners: + title: 监听器列表 + component: + name: remote-select + vModel: value + mode: tags + type: plugin + typeName: AliyunDeployCertToNLB + action: onGetListenerList + watches: + - certDomains + - accessId + - loadBalancers + required: true + mergeScript: |2- + + return { + component:{ + form: ctx.compute(({form})=>{ + return form + }) + }, + } + + helper: 要部署证书的监听器列表 + order: 0 + casEndpoint: + title: 证书接入点 + helper: 不会选就保持默认即可 + value: cas.aliyuncs.com + component: + name: a-select + options: + - value: cas.aliyuncs.com + label: 中国大陆 + - value: cas.ap-southeast-1.aliyuncs.com + label: 新加坡 + - value: cas.eu-central-1.aliyuncs.com + label: 德国(法兰克福) + required: true + order: 0 +output: {} +pluginType: deploy diff --git a/packages/ui/certd-server/src/plugins/plugin-aliyun/plugin/deploy-to-oss/index.yaml b/packages/ui/certd-server/src/plugins/plugin-aliyun/plugin/deploy-to-oss/index.yaml new file mode 100644 index 00000000..596b879a --- /dev/null +++ b/packages/ui/certd-server/src/plugins/plugin-aliyun/plugin/deploy-to-oss/index.yaml @@ -0,0 +1,111 @@ +showRunStrategy: false +default: + strategy: + runStrategy: 1 +name: DeployCertToAliyunOSS +title: 阿里云-部署证书至OSS +icon: svg:icon-aliyun +group: aliyun +desc: 自动部署域名证书至阿里云OSS +input: + region: + title: 大区 + component: + name: a-auto-complete + vModel: value + options: + - value: oss-cn-hangzhou + label: 华东1(杭州) + - value: oss-cn-shanghai + label: 华东2(上海) + - value: oss-cn-nanjing + label: 华东5(南京-本地地域) + - value: oss-cn-fuzhou + label: 华东6(福州-本地地域) + - value: oss-cn-wuhan-lr + label: 华中1(武汉-本地地域) + - value: oss-cn-qingdao + label: 华北1(青岛) + - value: oss-cn-beijing + label: 华北2(北京) + - value: oss-cn-zhangjiakou + label: 华北 3(张家口) + - value: oss-cn-huhehaote + label: 华北5(呼和浩特) + - value: oss-cn-wulanchabu + label: 华北6(乌兰察布) + - value: oss-cn-shenzhen + label: 华南1(深圳) + - value: oss-cn-heyuan + label: 华南2(河源) + - value: oss-cn-guangzhou + label: 华南3(广州) + - value: oss-cn-chengdu + label: 西南1(成都) + - value: oss-cn-hongkong + label: 中国香港 + - value: oss-us-west-1 + label: 美国(硅谷)① + - value: oss-us-east-1 + label: 美国(弗吉尼亚)① + - value: oss-ap-northeast-1 + label: 日本(东京)① + - value: oss-ap-northeast-2 + label: 韩国(首尔) + - value: oss-ap-southeast-1 + label: 新加坡① + - value: oss-ap-southeast-2 + label: 澳大利亚(悉尼)① + - value: oss-ap-southeast-3 + label: 马来西亚(吉隆坡)① + - value: oss-ap-southeast-5 + label: 印度尼西亚(雅加达)① + - value: oss-ap-southeast-6 + label: 菲律宾(马尼拉) + - value: oss-ap-southeast-7 + label: 泰国(曼谷) + - value: oss-eu-central-1 + label: 德国(法兰克福)① + - value: oss-eu-west-1 + label: 英国(伦敦) + - value: oss-me-east-1 + label: 阿联酋(迪拜)① + - value: oss-rg-china-mainland + label: 无地域属性(中国内地) + required: true + order: 0 + bucket: + title: Bucket + helper: 存储桶名称 + required: true + order: 0 + domainName: + title: 绑定的域名 + helper: 你在阿里云OSS上绑定的域名,比如:certd.docmirror.cn + required: true + order: 0 + certName: + title: 证书名称 + helper: 上传后将以此名称作为前缀备注 + order: 0 + cert: + title: 域名证书 + helper: 请选择前置任务输出的域名证书 + component: + name: output-selector + from: + - CertApply + - CertApplyLego + - CertApplyUpload + required: true + order: 0 + accessId: + title: Access授权 + helper: 阿里云授权AccessKeyId、AccessKeySecret + component: + name: access-selector + type: aliyun + required: true + order: 0 +output: {} +pluginType: deploy diff --git a/packages/ui/certd-server/src/plugins/plugin-aliyun/plugin/deploy-to-slb/index.yaml b/packages/ui/certd-server/src/plugins/plugin-aliyun/plugin/deploy-to-slb/index.yaml new file mode 100644 index 00000000..240dd783 --- /dev/null +++ b/packages/ui/certd-server/src/plugins/plugin-aliyun/plugin/deploy-to-slb/index.yaml @@ -0,0 +1,143 @@ +showRunStrategy: false +default: + strategy: + runStrategy: 1 +name: AliyunDeployCertToSLB +title: 阿里云-部署至SLB(传统负载均衡) +icon: svg:icon-aliyun +group: aliyun +desc: 部署证书到阿里云SLB(传统负载均衡) +needPlus: false +input: + cert: + title: 域名证书 + helper: |- + 请选择证书申请任务输出的域名证书 + 或者选择前置任务“上传证书到阿里云”任务的证书ID,可以减少上传到阿里云的证书数量 + component: + name: output-selector + from: + - CertApply + - CertApplyLego + - CertApplyUpload + - uploadCertToAliyun + required: true + order: 0 + certDomains: + title: 当前证书域名 + component: + name: cert-domains-getter + mergeScript: |2- + + return { + component:{ + inputKey: ctx.compute(({form})=>{ + return form.cert + }), + } + } + + required: false + order: 0 + accessId: + title: Access授权 + helper: 阿里云授权AccessKeyId、AccessKeySecret + component: + name: access-selector + type: aliyun + required: true + order: 0 + regionId: + title: LB所在地区 + component: + name: remote-select + vModel: value + type: plugin + typeName: AliyunDeployCertToSLB + action: onGetRegionList + watches: + - certDomains + - accessId + - accessId + required: true + mergeScript: |2- + + return { + component:{ + form: ctx.compute(({form})=>{ + return form + }) + }, + } + + helper: 请选择 + order: 0 + loadBalancers: + title: 负载均衡列表 + component: + name: remote-select + vModel: value + mode: tags + type: plugin + typeName: AliyunDeployCertToSLB + action: onGetLoadBalanceList + watches: + - certDomains + - accessId + - regionId + required: true + mergeScript: |2- + + return { + component:{ + form: ctx.compute(({form})=>{ + return form + }) + }, + } + + helper: 要部署证书的负载均衡ID + order: 0 + listeners: + title: 监听器列表 + component: + name: remote-select + vModel: value + mode: tags + type: plugin + typeName: AliyunDeployCertToSLB + action: onGetListenerList + watches: + - certDomains + - accessId + - loadBalancers + required: true + mergeScript: |2- + + return { + component:{ + form: ctx.compute(({form})=>{ + return form + }) + }, + } + + helper: 要部署证书的监听器列表 + order: 0 + casEndpoint: + title: 证书接入点 + helper: 不会选就保持默认即可 + value: cas.aliyuncs.com + component: + name: a-select + options: + - value: cas.aliyuncs.com + label: 中国大陆 + - value: cas.ap-southeast-1.aliyuncs.com + label: 新加坡 + - value: cas.eu-central-1.aliyuncs.com + label: 德国(法兰克福) + required: true + order: 0 +output: {} +pluginType: deploy diff --git a/packages/ui/certd-server/src/plugins/plugin-aliyun/plugin/deploy-to-waf/index.yaml b/packages/ui/certd-server/src/plugins/plugin-aliyun/plugin/deploy-to-waf/index.yaml new file mode 100644 index 00000000..f199059d --- /dev/null +++ b/packages/ui/certd-server/src/plugins/plugin-aliyun/plugin/deploy-to-waf/index.yaml @@ -0,0 +1,106 @@ +showRunStrategy: false +default: + strategy: + runStrategy: 1 +name: AliyunDeployCertToWaf +title: 阿里云-部署至阿里云WAF +icon: svg:icon-aliyun +group: aliyun +desc: 部署证书到阿里云WAF +needPlus: true +input: + cert: + title: 域名证书 + helper: |- + 请选择证书申请任务输出的域名证书 + 或者选择前置任务“上传证书到阿里云”任务的证书ID,可以减少上传到阿里云的证书数量 + component: + name: output-selector + from: + - CertApply + - CertApplyLego + - CertApplyUpload + - uploadCertToAliyun + required: true + order: 0 + certDomains: + title: 当前证书域名 + component: + name: cert-domains-getter + mergeScript: |2- + + return { + component:{ + inputKey: ctx.compute(({form})=>{ + return form.cert + }), + } + } + + required: false + order: 0 + regionId: + title: WAF接入点 + helper: 不会选就按默认 + value: cn-hangzhou + component: + name: a-select + options: + - value: cn-hangzhou + label: 中国大陆-华东1(杭州) + - value: ap-southeast-1 + label: 新加坡 + required: true + order: 0 + casEndpoint: + title: 证书接入点 + helper: 跟上面保持一致即可 + value: cas.aliyuncs.com + component: + name: a-select + options: + - value: cas.aliyuncs.com + label: 中国大陆 + - value: cas.ap-southeast-1.aliyuncs.com + label: 新加坡 + - value: cas.eu-central-1.aliyuncs.com + label: 德国(法兰克福) + required: true + order: 0 + accessId: + title: Access授权 + helper: 阿里云授权AccessKeyId、AccessKeySecret + component: + name: access-selector + type: aliyun + required: true + order: 0 + cnameDomains: + title: CNAME站点 + component: + name: remote-select + vModel: value + mode: tags + type: plugin + typeName: AliyunDeployCertToWaf + action: onGetCnameList + watches: + - certDomains + - accessId + - accessId + - regionId + required: true + mergeScript: |2- + + return { + component:{ + form: ctx.compute(({form})=>{ + return form + }) + }, + } + + helper: 请选择要部署证书的CNAME站点 + order: 0 +output: {} +pluginType: deploy diff --git a/packages/ui/certd-server/src/plugins/plugin-aliyun/plugin/index.yaml b/packages/ui/certd-server/src/plugins/plugin-aliyun/plugin/index.yaml new file mode 100644 index 00000000..e6f3bd61 --- /dev/null +++ b/packages/ui/certd-server/src/plugins/plugin-aliyun/plugin/index.yaml @@ -0,0 +1,64 @@ +showRunStrategy: false +default: + strategy: + runStrategy: 1 +name: uploadCertToAliyun +title: 阿里云-上传证书到阿里云 +icon: svg:icon-aliyun +group: aliyun +desc: 如果不想在阿里云上同一份证书上传多次,可以把此任务作为前置任务,其他阿里云任务证书那一项选择此任务的输出 +input: + name: + title: 证书名称 + helper: 证书上传后将以此参数作为名称前缀 + order: 0 + regionId: + title: 大区 + value: cn-hangzhou + component: + name: a-auto-complete + vModel: value + options: + - value: cn-hangzhou + endpoint: cas.aliyuncs.com + label: cn-hangzhou-中国大陆 + - value: eu-central-1 + endpoint: cas.eu-central-1.aliyuncs.com + label: eu-central-1-德国(法兰克福) + - value: ap-southeast-1 + endpoint: cas.ap-southeast-1.aliyuncs.com + label: ap-southeast-1-新加坡 + - value: ap-southeast-3 + endpoint: cas.ap-southeast-3.aliyuncs.com + label: ap-southeast-3-马来西亚(吉隆坡) + - value: ap-southeast-5 + endpoint: cas.ap-southeast-5.aliyuncs.com + label: ap-southeast-5-印度尼西亚(雅加达) + - value: cn-hongkong + endpoint: cas.cn-hongkong.aliyuncs.com + label: cn-hongkong-中国香港 + required: true + order: 0 + cert: + title: 域名证书 + helper: 请选择前置任务输出的域名证书 + component: + name: output-selector + from: + - CertApply + - CertApplyLego + - CertApplyUpload + required: true + order: 0 + accessId: + title: Access授权 + helper: 阿里云授权AccessKeyId、AccessKeySecret + component: + name: access-selector + type: aliyun + required: true + order: 0 +output: + aliyunCertId: + title: 上传成功后的阿里云CertId +pluginType: deploy diff --git a/packages/ui/certd-server/src/plugins/plugin-aliyun/plugin/upload-to-aliyun/index.yaml b/packages/ui/certd-server/src/plugins/plugin-aliyun/plugin/upload-to-aliyun/index.yaml new file mode 100644 index 00000000..e6f3bd61 --- /dev/null +++ b/packages/ui/certd-server/src/plugins/plugin-aliyun/plugin/upload-to-aliyun/index.yaml @@ -0,0 +1,64 @@ +showRunStrategy: false +default: + strategy: + runStrategy: 1 +name: uploadCertToAliyun +title: 阿里云-上传证书到阿里云 +icon: svg:icon-aliyun +group: aliyun +desc: 如果不想在阿里云上同一份证书上传多次,可以把此任务作为前置任务,其他阿里云任务证书那一项选择此任务的输出 +input: + name: + title: 证书名称 + helper: 证书上传后将以此参数作为名称前缀 + order: 0 + regionId: + title: 大区 + value: cn-hangzhou + component: + name: a-auto-complete + vModel: value + options: + - value: cn-hangzhou + endpoint: cas.aliyuncs.com + label: cn-hangzhou-中国大陆 + - value: eu-central-1 + endpoint: cas.eu-central-1.aliyuncs.com + label: eu-central-1-德国(法兰克福) + - value: ap-southeast-1 + endpoint: cas.ap-southeast-1.aliyuncs.com + label: ap-southeast-1-新加坡 + - value: ap-southeast-3 + endpoint: cas.ap-southeast-3.aliyuncs.com + label: ap-southeast-3-马来西亚(吉隆坡) + - value: ap-southeast-5 + endpoint: cas.ap-southeast-5.aliyuncs.com + label: ap-southeast-5-印度尼西亚(雅加达) + - value: cn-hongkong + endpoint: cas.cn-hongkong.aliyuncs.com + label: cn-hongkong-中国香港 + required: true + order: 0 + cert: + title: 域名证书 + helper: 请选择前置任务输出的域名证书 + component: + name: output-selector + from: + - CertApply + - CertApplyLego + - CertApplyUpload + required: true + order: 0 + accessId: + title: Access授权 + helper: 阿里云授权AccessKeyId、AccessKeySecret + component: + name: access-selector + type: aliyun + required: true + order: 0 +output: + aliyunCertId: + title: 上传成功后的阿里云CertId +pluginType: deploy diff --git a/packages/ui/certd-server/src/plugins/plugin-aws/access.yaml b/packages/ui/certd-server/src/plugins/plugin-aws/access.yaml new file mode 100644 index 00000000..4650324a --- /dev/null +++ b/packages/ui/certd-server/src/plugins/plugin-aws/access.yaml @@ -0,0 +1,20 @@ +name: aws +title: 亚马逊云aws授权 +desc: '' +icon: svg:icon-aws +input: + accessKeyId: + title: accessKeyId + component: + placeholder: accessKeyId + helper: >- + 右上角->安全凭证->访问密钥,[点击前往](https://us-east-1.console.aws.amazon.com/iam/home?region=ap-east-1#/security_credentials/access-key-wizard) + required: true + secretAccessKey: + title: secretAccessKey + component: + placeholder: secretAccessKey + required: true + encrypt: true + helper: 请妥善保管您的安全访问密钥。您可以在AWS管理控制台的IAM中创建新的访问密钥。 +pluginType: access diff --git a/packages/ui/certd-server/src/plugins/plugin-aws/index.yaml b/packages/ui/certd-server/src/plugins/plugin-aws/index.yaml new file mode 100644 index 00000000..87024a42 --- /dev/null +++ b/packages/ui/certd-server/src/plugins/plugin-aws/index.yaml @@ -0,0 +1,142 @@ +showRunStrategy: false +default: + strategy: + runStrategy: 1 +name: AwsDeployToCloudFront +title: AWS-部署证书到CloudFront +desc: 部署证书到 AWS CloudFront +icon: svg:icon-aws +group: aws +needPlus: true +input: + cert: + title: 域名证书 + helper: 请选择前置任务输出的域名证书 + component: + name: output-selector + from: + - CertApply + - CertApplyLego + - CertApplyUpload + - AwsUploadToACM + required: true + order: 0 + certDomains: + title: 当前证书域名 + component: + name: cert-domains-getter + mergeScript: |2- + + return { + component:{ + inputKey: ctx.compute(({form})=>{ + return form.cert + }), + } + } + + required: false + order: 0 + region: + title: 区域 + helper: 证书上传区域 + component: + name: a-auto-complete + vModel: value + options: + - label: us-east-1 + value: us-east-1 + - label: us-east-2 + value: us-east-2 + - label: us-west-1 + value: us-west-1 + - label: us-west-2 + value: us-west-2 + - label: af-south-1 + value: af-south-1 + - label: ap-east-1 + value: ap-east-1 + - label: ap-northeast-1 + value: ap-northeast-1 + - label: ap-northeast-2 + value: ap-northeast-2 + - label: ap-northeast-3 + value: ap-northeast-3 + - label: ap-south-1 + value: ap-south-1 + - label: ap-south-2 + value: ap-south-2 + - label: ap-southeast-1 + value: ap-southeast-1 + - label: ap-southeast-2 + value: ap-southeast-2 + - label: ap-southeast-3 + value: ap-southeast-3 + - label: ap-southeast-4 + value: ap-southeast-4 + - label: ap-southeast-5 + value: ap-southeast-5 + - label: ca-central-1 + value: ca-central-1 + - label: ca-west-1 + value: ca-west-1 + - label: eu-central-1 + value: eu-central-1 + - label: eu-central-2 + value: eu-central-2 + - label: eu-north-1 + value: eu-north-1 + - label: eu-south-1 + value: eu-south-1 + - label: eu-south-2 + value: eu-south-2 + - label: eu-west-1 + value: eu-west-1 + - label: eu-west-2 + value: eu-west-2 + - label: eu-west-3 + value: eu-west-3 + - label: il-central-1 + value: il-central-1 + - label: me-central-1 + value: me-central-1 + - label: me-south-1 + value: me-south-1 + - label: sa-east-1 + value: sa-east-1 + required: true + order: 0 + accessId: + title: Access授权 + helper: aws的授权 + component: + name: access-selector + type: aws + required: true + order: 0 + distributionIds: + title: 分配ID + component: + name: remote-select + vModel: value + mode: tags + type: plugin + action: onGetDistributions + watches: + - certDomains + - accessId + required: true + mergeScript: |2- + + return { + component:{ + form: ctx.compute(({form})=>{ + return form + }) + }, + } + + helper: 请选择distributions id + order: 0 +output: {} +pluginType: deploy diff --git a/packages/ui/certd-server/src/plugins/plugin-aws/plugins/index.yaml b/packages/ui/certd-server/src/plugins/plugin-aws/plugins/index.yaml new file mode 100644 index 00000000..87024a42 --- /dev/null +++ b/packages/ui/certd-server/src/plugins/plugin-aws/plugins/index.yaml @@ -0,0 +1,142 @@ +showRunStrategy: false +default: + strategy: + runStrategy: 1 +name: AwsDeployToCloudFront +title: AWS-部署证书到CloudFront +desc: 部署证书到 AWS CloudFront +icon: svg:icon-aws +group: aws +needPlus: true +input: + cert: + title: 域名证书 + helper: 请选择前置任务输出的域名证书 + component: + name: output-selector + from: + - CertApply + - CertApplyLego + - CertApplyUpload + - AwsUploadToACM + required: true + order: 0 + certDomains: + title: 当前证书域名 + component: + name: cert-domains-getter + mergeScript: |2- + + return { + component:{ + inputKey: ctx.compute(({form})=>{ + return form.cert + }), + } + } + + required: false + order: 0 + region: + title: 区域 + helper: 证书上传区域 + component: + name: a-auto-complete + vModel: value + options: + - label: us-east-1 + value: us-east-1 + - label: us-east-2 + value: us-east-2 + - label: us-west-1 + value: us-west-1 + - label: us-west-2 + value: us-west-2 + - label: af-south-1 + value: af-south-1 + - label: ap-east-1 + value: ap-east-1 + - label: ap-northeast-1 + value: ap-northeast-1 + - label: ap-northeast-2 + value: ap-northeast-2 + - label: ap-northeast-3 + value: ap-northeast-3 + - label: ap-south-1 + value: ap-south-1 + - label: ap-south-2 + value: ap-south-2 + - label: ap-southeast-1 + value: ap-southeast-1 + - label: ap-southeast-2 + value: ap-southeast-2 + - label: ap-southeast-3 + value: ap-southeast-3 + - label: ap-southeast-4 + value: ap-southeast-4 + - label: ap-southeast-5 + value: ap-southeast-5 + - label: ca-central-1 + value: ca-central-1 + - label: ca-west-1 + value: ca-west-1 + - label: eu-central-1 + value: eu-central-1 + - label: eu-central-2 + value: eu-central-2 + - label: eu-north-1 + value: eu-north-1 + - label: eu-south-1 + value: eu-south-1 + - label: eu-south-2 + value: eu-south-2 + - label: eu-west-1 + value: eu-west-1 + - label: eu-west-2 + value: eu-west-2 + - label: eu-west-3 + value: eu-west-3 + - label: il-central-1 + value: il-central-1 + - label: me-central-1 + value: me-central-1 + - label: me-south-1 + value: me-south-1 + - label: sa-east-1 + value: sa-east-1 + required: true + order: 0 + accessId: + title: Access授权 + helper: aws的授权 + component: + name: access-selector + type: aws + required: true + order: 0 + distributionIds: + title: 分配ID + component: + name: remote-select + vModel: value + mode: tags + type: plugin + action: onGetDistributions + watches: + - certDomains + - accessId + required: true + mergeScript: |2- + + return { + component:{ + form: ctx.compute(({form})=>{ + return form + }) + }, + } + + helper: 请选择distributions id + order: 0 +output: {} +pluginType: deploy diff --git a/packages/ui/certd-server/src/plugins/plugin-aws/plugins/plugin-deploy-to-cloudfront.yaml b/packages/ui/certd-server/src/plugins/plugin-aws/plugins/plugin-deploy-to-cloudfront.yaml new file mode 100644 index 00000000..87024a42 --- /dev/null +++ b/packages/ui/certd-server/src/plugins/plugin-aws/plugins/plugin-deploy-to-cloudfront.yaml @@ -0,0 +1,142 @@ +showRunStrategy: false +default: + strategy: + runStrategy: 1 +name: AwsDeployToCloudFront +title: AWS-部署证书到CloudFront +desc: 部署证书到 AWS CloudFront +icon: svg:icon-aws +group: aws +needPlus: true +input: + cert: + title: 域名证书 + helper: 请选择前置任务输出的域名证书 + component: + name: output-selector + from: + - CertApply + - CertApplyLego + - CertApplyUpload + - AwsUploadToACM + required: true + order: 0 + certDomains: + title: 当前证书域名 + component: + name: cert-domains-getter + mergeScript: |2- + + return { + component:{ + inputKey: ctx.compute(({form})=>{ + return form.cert + }), + } + } + + required: false + order: 0 + region: + title: 区域 + helper: 证书上传区域 + component: + name: a-auto-complete + vModel: value + options: + - label: us-east-1 + value: us-east-1 + - label: us-east-2 + value: us-east-2 + - label: us-west-1 + value: us-west-1 + - label: us-west-2 + value: us-west-2 + - label: af-south-1 + value: af-south-1 + - label: ap-east-1 + value: ap-east-1 + - label: ap-northeast-1 + value: ap-northeast-1 + - label: ap-northeast-2 + value: ap-northeast-2 + - label: ap-northeast-3 + value: ap-northeast-3 + - label: ap-south-1 + value: ap-south-1 + - label: ap-south-2 + value: ap-south-2 + - label: ap-southeast-1 + value: ap-southeast-1 + - label: ap-southeast-2 + value: ap-southeast-2 + - label: ap-southeast-3 + value: ap-southeast-3 + - label: ap-southeast-4 + value: ap-southeast-4 + - label: ap-southeast-5 + value: ap-southeast-5 + - label: ca-central-1 + value: ca-central-1 + - label: ca-west-1 + value: ca-west-1 + - label: eu-central-1 + value: eu-central-1 + - label: eu-central-2 + value: eu-central-2 + - label: eu-north-1 + value: eu-north-1 + - label: eu-south-1 + value: eu-south-1 + - label: eu-south-2 + value: eu-south-2 + - label: eu-west-1 + value: eu-west-1 + - label: eu-west-2 + value: eu-west-2 + - label: eu-west-3 + value: eu-west-3 + - label: il-central-1 + value: il-central-1 + - label: me-central-1 + value: me-central-1 + - label: me-south-1 + value: me-south-1 + - label: sa-east-1 + value: sa-east-1 + required: true + order: 0 + accessId: + title: Access授权 + helper: aws的授权 + component: + name: access-selector + type: aws + required: true + order: 0 + distributionIds: + title: 分配ID + component: + name: remote-select + vModel: value + mode: tags + type: plugin + action: onGetDistributions + watches: + - certDomains + - accessId + required: true + mergeScript: |2- + + return { + component:{ + form: ctx.compute(({form})=>{ + return form + }) + }, + } + + helper: 请选择distributions id + order: 0 +output: {} +pluginType: deploy diff --git a/packages/ui/certd-server/src/plugins/plugin-aws/plugins/plugin-upload-to-acm.yaml b/packages/ui/certd-server/src/plugins/plugin-aws/plugins/plugin-upload-to-acm.yaml new file mode 100644 index 00000000..527cd7fe --- /dev/null +++ b/packages/ui/certd-server/src/plugins/plugin-aws/plugins/plugin-upload-to-acm.yaml @@ -0,0 +1,102 @@ +showRunStrategy: false +default: + strategy: + runStrategy: 1 +name: AwsUploadToACM +title: AWS-上传证书到ACM +desc: 上传证书 AWS ACM +icon: svg:icon-aws +group: aws +input: + cert: + title: 域名证书 + helper: 请选择前置任务输出的域名证书 + component: + name: output-selector + from: + - CertApply + - CertApplyLego + - CertApplyUpload + required: true + order: 0 + accessId: + title: Access授权 + helper: aws的授权 + component: + name: access-selector + type: aws + required: true + order: 0 + region: + title: 区域 + helper: 证书上传区域 + component: + name: a-auto-complete + vModel: value + options: + - label: us-east-1 + value: us-east-1 + - label: us-east-2 + value: us-east-2 + - label: us-west-1 + value: us-west-1 + - label: us-west-2 + value: us-west-2 + - label: af-south-1 + value: af-south-1 + - label: ap-east-1 + value: ap-east-1 + - label: ap-northeast-1 + value: ap-northeast-1 + - label: ap-northeast-2 + value: ap-northeast-2 + - label: ap-northeast-3 + value: ap-northeast-3 + - label: ap-south-1 + value: ap-south-1 + - label: ap-south-2 + value: ap-south-2 + - label: ap-southeast-1 + value: ap-southeast-1 + - label: ap-southeast-2 + value: ap-southeast-2 + - label: ap-southeast-3 + value: ap-southeast-3 + - label: ap-southeast-4 + value: ap-southeast-4 + - label: ap-southeast-5 + value: ap-southeast-5 + - label: ca-central-1 + value: ca-central-1 + - label: ca-west-1 + value: ca-west-1 + - label: eu-central-1 + value: eu-central-1 + - label: eu-central-2 + value: eu-central-2 + - label: eu-north-1 + value: eu-north-1 + - label: eu-south-1 + value: eu-south-1 + - label: eu-south-2 + value: eu-south-2 + - label: eu-west-1 + value: eu-west-1 + - label: eu-west-2 + value: eu-west-2 + - label: eu-west-3 + value: eu-west-3 + - label: il-central-1 + value: il-central-1 + - label: me-central-1 + value: me-central-1 + - label: me-south-1 + value: me-south-1 + - label: sa-east-1 + value: sa-east-1 + required: true + order: 0 +output: + awsCertARN: + title: 证书ARN +pluginType: deploy diff --git a/packages/ui/certd-server/src/plugins/plugin-cachefly/access.yaml b/packages/ui/certd-server/src/plugins/plugin-cachefly/access.yaml new file mode 100644 index 00000000..5d064ebd --- /dev/null +++ b/packages/ui/certd-server/src/plugins/plugin-cachefly/access.yaml @@ -0,0 +1,22 @@ +name: CacheFly +title: CacheFly +desc: CacheFly +icon: clarity:plugin-line +input: + username: + title: username + component: + placeholder: username + required: true + password: + title: password + component: + placeholder: password + required: true + encrypt: true + otpkey: + title: totp key + component: + placeholder: totp key + encrypt: true +pluginType: access diff --git a/packages/ui/certd-server/src/plugins/plugin-cachefly/index.yaml b/packages/ui/certd-server/src/plugins/plugin-cachefly/index.yaml new file mode 100644 index 00000000..5d064ebd --- /dev/null +++ b/packages/ui/certd-server/src/plugins/plugin-cachefly/index.yaml @@ -0,0 +1,22 @@ +name: CacheFly +title: CacheFly +desc: CacheFly +icon: clarity:plugin-line +input: + username: + title: username + component: + placeholder: username + required: true + password: + title: password + component: + placeholder: password + required: true + encrypt: true + otpkey: + title: totp key + component: + placeholder: totp key + encrypt: true +pluginType: access diff --git a/packages/ui/certd-server/src/plugins/plugin-cachefly/plugins/index.yaml b/packages/ui/certd-server/src/plugins/plugin-cachefly/plugins/index.yaml new file mode 100644 index 00000000..49232ed8 --- /dev/null +++ b/packages/ui/certd-server/src/plugins/plugin-cachefly/plugins/index.yaml @@ -0,0 +1,31 @@ +showRunStrategy: false +default: + strategy: + runStrategy: 1 +name: CacheFly +title: CacheFly-部署证书到CacheFly +desc: 部署证书到 CacheFly +icon: clarity:plugin-line +group: cdn +input: + cert: + title: 域名证书 + helper: 请选择前置任务输出的域名证书 + component: + name: output-selector + from: + - CertApply + - CertApplyLego + - CertApplyUpload + required: true + order: 0 + accessId: + title: Access授权 + helper: CacheFly 的授权 + component: + name: access-selector + type: CacheFly + required: true + order: 0 +output: {} +pluginType: deploy diff --git a/packages/ui/certd-server/src/plugins/plugin-cachefly/plugins/plugin-deploy-to-cdn.yaml b/packages/ui/certd-server/src/plugins/plugin-cachefly/plugins/plugin-deploy-to-cdn.yaml new file mode 100644 index 00000000..49232ed8 --- /dev/null +++ b/packages/ui/certd-server/src/plugins/plugin-cachefly/plugins/plugin-deploy-to-cdn.yaml @@ -0,0 +1,31 @@ +showRunStrategy: false +default: + strategy: + runStrategy: 1 +name: CacheFly +title: CacheFly-部署证书到CacheFly +desc: 部署证书到 CacheFly +icon: clarity:plugin-line +group: cdn +input: + cert: + title: 域名证书 + helper: 请选择前置任务输出的域名证书 + component: + name: output-selector + from: + - CertApply + - CertApplyLego + - CertApplyUpload + required: true + order: 0 + accessId: + title: Access授权 + helper: CacheFly 的授权 + component: + name: access-selector + type: CacheFly + required: true + order: 0 +output: {} +pluginType: deploy diff --git a/packages/ui/certd-server/src/plugins/plugin-cloudflare/access.yaml b/packages/ui/certd-server/src/plugins/plugin-cloudflare/access.yaml new file mode 100644 index 00000000..05687581 --- /dev/null +++ b/packages/ui/certd-server/src/plugins/plugin-cloudflare/access.yaml @@ -0,0 +1,22 @@ +name: cloudflare +title: cloudflare授权 +icon: simple-icons:cloudflare +desc: '' +input: + apiToken: + title: API Token + component: + placeholder: api token,用户 API 令牌 + helper: |- + 前往 [获取API令牌](https://dash.cloudflare.com/profile/api-tokens),注意是令牌,不是密钥。 + token权限必须包含:[Zone区域-Zone区域-Edit编辑], [Zone区域-DNS-Edit编辑] + required: true + encrypt: true + proxy: + title: HTTP代理 + component: + placeholder: http://xxxx.xxx.xx:10811 + helper: 是否使用http代理 + required: false + encrypt: false +pluginType: access diff --git a/packages/ui/certd-server/src/plugins/plugin-cloudflare/dns-provider.yaml b/packages/ui/certd-server/src/plugins/plugin-cloudflare/dns-provider.yaml new file mode 100644 index 00000000..54477a31 --- /dev/null +++ b/packages/ui/certd-server/src/plugins/plugin-cloudflare/dns-provider.yaml @@ -0,0 +1,6 @@ +name: cloudflare +title: cloudflare +desc: cloudflare dns provider +icon: simple-icons:cloudflare +accessType: cloudflare +pluginType: dnsProvider diff --git a/packages/ui/certd-server/src/plugins/plugin-cloudflare/index.yaml b/packages/ui/certd-server/src/plugins/plugin-cloudflare/index.yaml new file mode 100644 index 00000000..54477a31 --- /dev/null +++ b/packages/ui/certd-server/src/plugins/plugin-cloudflare/index.yaml @@ -0,0 +1,6 @@ +name: cloudflare +title: cloudflare +desc: cloudflare dns provider +icon: simple-icons:cloudflare +accessType: cloudflare +pluginType: dnsProvider diff --git a/packages/ui/certd-server/src/plugins/plugin-demo/access.yaml b/packages/ui/certd-server/src/plugins/plugin-demo/access.yaml new file mode 100644 index 00000000..1384f7a3 --- /dev/null +++ b/packages/ui/certd-server/src/plugins/plugin-demo/access.yaml @@ -0,0 +1,17 @@ +name: demo +title: 授权插件示例 +icon: clarity:plugin-line +desc: '' +input: + demoKeyId: + title: 密钥Id + component: + placeholder: demoKeyId + required: true + demoKeySecret: + title: 密钥串 + component: + placeholder: demoKeySecret + required: true + encrypt: true +pluginType: access diff --git a/packages/ui/certd-server/src/plugins/plugin-demo/dns-provider.yaml b/packages/ui/certd-server/src/plugins/plugin-demo/dns-provider.yaml new file mode 100644 index 00000000..7d4b5520 --- /dev/null +++ b/packages/ui/certd-server/src/plugins/plugin-demo/dns-provider.yaml @@ -0,0 +1,6 @@ +name: demo +title: Dns提供商Demo +desc: dns provider示例 +icon: clarity:plugin-line +accessType: demo +pluginType: dnsProvider diff --git a/packages/ui/certd-server/src/plugins/plugin-demo/index.yaml b/packages/ui/certd-server/src/plugins/plugin-demo/index.yaml new file mode 100644 index 00000000..916bdb35 --- /dev/null +++ b/packages/ui/certd-server/src/plugins/plugin-demo/index.yaml @@ -0,0 +1,122 @@ +showRunStrategy: false +default: + strategy: + runStrategy: 1 +name: DemoTest +title: Demo-测试插件 +icon: clarity:plugin-line +group: other +input: + text: + title: 属性示例 + value: 默认值 + component: + name: a-input + vModel: value + helper: 帮助说明,[链接](https://certd.docmirror.cn) + required: false + order: 0 + select: + title: 选择框 + component: + name: a-auto-complete + vModel: value + options: + - value: show + label: 动态显 + - value: hide + label: 动态隐 + order: 0 + showText: + title: 动态显隐 + helper: 我会根据选择框的值进行显隐 + show: true + mergeScript: |2- + + return { + show: ctx.compute(({form})=>{ + return form.select === 'show'; + }) + } + + order: 0 + multiSelect: + title: 多选框 + component: + name: a-select + vModel: value + mode: tags + multiple: true + options: + - value: '1' + label: 选项1 + - value: '2' + label: 选项2 + order: 0 + switch: + title: switch + component: + name: a-switch + vModel: checked + order: 0 + cert: + title: 域名证书 + helper: 请选择前置任务输出的域名证书 + component: + name: output-selector + from: + - CertApply + - CertApplyLego + - CertApplyUpload + order: 0 + certDomains: + title: 当前证书域名 + component: + name: cert-domains-getter + mergeScript: |2- + + return { + component:{ + inputKey: ctx.compute(({form})=>{ + return form.cert + }), + } + } + + required: false + order: 0 + accessId: + title: demo授权 + helper: demoAccess授权 + component: + name: access-selector + type: demo + order: 0 + siteName: + title: 从后端获取选项 + component: + name: remote-select + vModel: value + mode: tags + type: plugin + action: onGetSiteList + watches: + - certDomains + - accessId + - certDomains + - accessId + required: true + mergeScript: |2- + + return { + component:{ + form: ctx.compute(({form})=>{ + return form + }) + }, + } + + helper: 选择时可以从后端获取选项 + order: 0 +output: {} +pluginType: deploy diff --git a/packages/ui/certd-server/src/plugins/plugin-demo/plugins/index.yaml b/packages/ui/certd-server/src/plugins/plugin-demo/plugins/index.yaml new file mode 100644 index 00000000..916bdb35 --- /dev/null +++ b/packages/ui/certd-server/src/plugins/plugin-demo/plugins/index.yaml @@ -0,0 +1,122 @@ +showRunStrategy: false +default: + strategy: + runStrategy: 1 +name: DemoTest +title: Demo-测试插件 +icon: clarity:plugin-line +group: other +input: + text: + title: 属性示例 + value: 默认值 + component: + name: a-input + vModel: value + helper: 帮助说明,[链接](https://certd.docmirror.cn) + required: false + order: 0 + select: + title: 选择框 + component: + name: a-auto-complete + vModel: value + options: + - value: show + label: 动态显 + - value: hide + label: 动态隐 + order: 0 + showText: + title: 动态显隐 + helper: 我会根据选择框的值进行显隐 + show: true + mergeScript: |2- + + return { + show: ctx.compute(({form})=>{ + return form.select === 'show'; + }) + } + + order: 0 + multiSelect: + title: 多选框 + component: + name: a-select + vModel: value + mode: tags + multiple: true + options: + - value: '1' + label: 选项1 + - value: '2' + label: 选项2 + order: 0 + switch: + title: switch + component: + name: a-switch + vModel: checked + order: 0 + cert: + title: 域名证书 + helper: 请选择前置任务输出的域名证书 + component: + name: output-selector + from: + - CertApply + - CertApplyLego + - CertApplyUpload + order: 0 + certDomains: + title: 当前证书域名 + component: + name: cert-domains-getter + mergeScript: |2- + + return { + component:{ + inputKey: ctx.compute(({form})=>{ + return form.cert + }), + } + } + + required: false + order: 0 + accessId: + title: demo授权 + helper: demoAccess授权 + component: + name: access-selector + type: demo + order: 0 + siteName: + title: 从后端获取选项 + component: + name: remote-select + vModel: value + mode: tags + type: plugin + action: onGetSiteList + watches: + - certDomains + - accessId + - certDomains + - accessId + required: true + mergeScript: |2- + + return { + component:{ + form: ctx.compute(({form})=>{ + return form + }) + }, + } + + helper: 选择时可以从后端获取选项 + order: 0 +output: {} +pluginType: deploy diff --git a/packages/ui/certd-server/src/plugins/plugin-demo/plugins/plugin-test.yaml b/packages/ui/certd-server/src/plugins/plugin-demo/plugins/plugin-test.yaml new file mode 100644 index 00000000..916bdb35 --- /dev/null +++ b/packages/ui/certd-server/src/plugins/plugin-demo/plugins/plugin-test.yaml @@ -0,0 +1,122 @@ +showRunStrategy: false +default: + strategy: + runStrategy: 1 +name: DemoTest +title: Demo-测试插件 +icon: clarity:plugin-line +group: other +input: + text: + title: 属性示例 + value: 默认值 + component: + name: a-input + vModel: value + helper: 帮助说明,[链接](https://certd.docmirror.cn) + required: false + order: 0 + select: + title: 选择框 + component: + name: a-auto-complete + vModel: value + options: + - value: show + label: 动态显 + - value: hide + label: 动态隐 + order: 0 + showText: + title: 动态显隐 + helper: 我会根据选择框的值进行显隐 + show: true + mergeScript: |2- + + return { + show: ctx.compute(({form})=>{ + return form.select === 'show'; + }) + } + + order: 0 + multiSelect: + title: 多选框 + component: + name: a-select + vModel: value + mode: tags + multiple: true + options: + - value: '1' + label: 选项1 + - value: '2' + label: 选项2 + order: 0 + switch: + title: switch + component: + name: a-switch + vModel: checked + order: 0 + cert: + title: 域名证书 + helper: 请选择前置任务输出的域名证书 + component: + name: output-selector + from: + - CertApply + - CertApplyLego + - CertApplyUpload + order: 0 + certDomains: + title: 当前证书域名 + component: + name: cert-domains-getter + mergeScript: |2- + + return { + component:{ + inputKey: ctx.compute(({form})=>{ + return form.cert + }), + } + } + + required: false + order: 0 + accessId: + title: demo授权 + helper: demoAccess授权 + component: + name: access-selector + type: demo + order: 0 + siteName: + title: 从后端获取选项 + component: + name: remote-select + vModel: value + mode: tags + type: plugin + action: onGetSiteList + watches: + - certDomains + - accessId + - certDomains + - accessId + required: true + mergeScript: |2- + + return { + component:{ + form: ctx.compute(({form})=>{ + return form + }) + }, + } + + helper: 选择时可以从后端获取选项 + order: 0 +output: {} +pluginType: deploy diff --git a/packages/ui/certd-server/src/plugins/plugin-dnsla/access.yaml b/packages/ui/certd-server/src/plugins/plugin-dnsla/access.yaml new file mode 100644 index 00000000..e85d09e6 --- /dev/null +++ b/packages/ui/certd-server/src/plugins/plugin-dnsla/access.yaml @@ -0,0 +1,20 @@ +name: dnsla +title: dns.la授权 +icon: arcticons:dns-changer-3 +desc: '' +input: + apiId: + title: APIID + component: + placeholder: APIID + helper: 从我的账户->API密钥中获取 APIID APISecret + required: true + encrypt: false + apiSecret: + title: APISecret + component: + placeholder: '' + helper: '' + required: false + encrypt: true +pluginType: access diff --git a/packages/ui/certd-server/src/plugins/plugin-dnsla/dns-provider.yaml b/packages/ui/certd-server/src/plugins/plugin-dnsla/dns-provider.yaml new file mode 100644 index 00000000..b39b699a --- /dev/null +++ b/packages/ui/certd-server/src/plugins/plugin-dnsla/dns-provider.yaml @@ -0,0 +1,6 @@ +name: dnsla +title: dns.la +desc: dns.la +icon: arcticons:dns-changer-3 +accessType: dnsla +pluginType: dnsProvider diff --git a/packages/ui/certd-server/src/plugins/plugin-dnsla/index.yaml b/packages/ui/certd-server/src/plugins/plugin-dnsla/index.yaml new file mode 100644 index 00000000..b39b699a --- /dev/null +++ b/packages/ui/certd-server/src/plugins/plugin-dnsla/index.yaml @@ -0,0 +1,6 @@ +name: dnsla +title: dns.la +desc: dns.la +icon: arcticons:dns-changer-3 +accessType: dnsla +pluginType: dnsProvider diff --git a/packages/ui/certd-server/src/plugins/plugin-doge/access.yaml b/packages/ui/certd-server/src/plugins/plugin-doge/access.yaml new file mode 100644 index 00000000..26486d94 --- /dev/null +++ b/packages/ui/certd-server/src/plugins/plugin-doge/access.yaml @@ -0,0 +1,20 @@ +name: dogecloud +title: 多吉云 +desc: '' +icon: svg:icon-dogecloud +input: + accessKey: + title: AccessKey + component: + placeholder: AccessKey + helper: 请前往[多吉云-密钥管理](https://console.dogecloud.com/user/keys)获取 + required: true + encrypt: false + secretKey: + title: SecretKey + component: + placeholder: SecretKey + helper: 请前往[多吉云-密钥管理](https://console.dogecloud.com/user/keys)获取 + required: true + encrypt: true +pluginType: access diff --git a/packages/ui/certd-server/src/plugins/plugin-doge/index.yaml b/packages/ui/certd-server/src/plugins/plugin-doge/index.yaml new file mode 100644 index 00000000..5a6db0c3 --- /dev/null +++ b/packages/ui/certd-server/src/plugins/plugin-doge/index.yaml @@ -0,0 +1,45 @@ +showRunStrategy: false +default: + strategy: + runStrategy: 1 +name: DogeCloudDeployToCDN +title: 多吉云-部署到多吉云CDN +icon: svg:icon-dogecloud +group: cdn +input: + domain: + title: 域名 + helper: CDN域名 + required: true + order: 0 + cert: + title: 证书 + helper: 请选择前置任务输出的域名证书 + component: + name: output-selector + from: + - CertApply + - CertApplyLego + - CertApplyUpload + required: true + order: 0 + accessId: + title: 多吉云授权 + helper: 多吉云AccessKey + component: + name: access-selector + type: dogecloud + rules: + - required: true + message: 此项必填 + order: 0 + ignoreDeployNullCode: + title: 忽略部署接口报错 + helper: 当该域名部署后报错,但是实际上已经部署成功时,可以勾选 + value: false + component: + name: a-switch + type: checked + order: 0 +output: {} +pluginType: deploy diff --git a/packages/ui/certd-server/src/plugins/plugin-doge/plugins/deploy-to-cdn/index.yaml b/packages/ui/certd-server/src/plugins/plugin-doge/plugins/deploy-to-cdn/index.yaml new file mode 100644 index 00000000..5a6db0c3 --- /dev/null +++ b/packages/ui/certd-server/src/plugins/plugin-doge/plugins/deploy-to-cdn/index.yaml @@ -0,0 +1,45 @@ +showRunStrategy: false +default: + strategy: + runStrategy: 1 +name: DogeCloudDeployToCDN +title: 多吉云-部署到多吉云CDN +icon: svg:icon-dogecloud +group: cdn +input: + domain: + title: 域名 + helper: CDN域名 + required: true + order: 0 + cert: + title: 证书 + helper: 请选择前置任务输出的域名证书 + component: + name: output-selector + from: + - CertApply + - CertApplyLego + - CertApplyUpload + required: true + order: 0 + accessId: + title: 多吉云授权 + helper: 多吉云AccessKey + component: + name: access-selector + type: dogecloud + rules: + - required: true + message: 此项必填 + order: 0 + ignoreDeployNullCode: + title: 忽略部署接口报错 + helper: 当该域名部署后报错,但是实际上已经部署成功时,可以勾选 + value: false + component: + name: a-switch + type: checked + order: 0 +output: {} +pluginType: deploy diff --git a/packages/ui/certd-server/src/plugins/plugin-doge/plugins/index.yaml b/packages/ui/certd-server/src/plugins/plugin-doge/plugins/index.yaml new file mode 100644 index 00000000..5a6db0c3 --- /dev/null +++ b/packages/ui/certd-server/src/plugins/plugin-doge/plugins/index.yaml @@ -0,0 +1,45 @@ +showRunStrategy: false +default: + strategy: + runStrategy: 1 +name: DogeCloudDeployToCDN +title: 多吉云-部署到多吉云CDN +icon: svg:icon-dogecloud +group: cdn +input: + domain: + title: 域名 + helper: CDN域名 + required: true + order: 0 + cert: + title: 证书 + helper: 请选择前置任务输出的域名证书 + component: + name: output-selector + from: + - CertApply + - CertApplyLego + - CertApplyUpload + required: true + order: 0 + accessId: + title: 多吉云授权 + helper: 多吉云AccessKey + component: + name: access-selector + type: dogecloud + rules: + - required: true + message: 此项必填 + order: 0 + ignoreDeployNullCode: + title: 忽略部署接口报错 + helper: 当该域名部署后报错,但是实际上已经部署成功时,可以勾选 + value: false + component: + name: a-switch + type: checked + order: 0 +output: {} +pluginType: deploy diff --git a/packages/ui/certd-server/src/plugins/plugin-gcore/access.yaml b/packages/ui/certd-server/src/plugins/plugin-gcore/access.yaml new file mode 100644 index 00000000..8fc05040 --- /dev/null +++ b/packages/ui/certd-server/src/plugins/plugin-gcore/access.yaml @@ -0,0 +1,22 @@ +name: Gcore +title: Gcore +desc: Gcore +icon: clarity:plugin-line +input: + username: + title: username + component: + placeholder: username + required: true + password: + title: password + component: + placeholder: password + required: true + encrypt: true + otpkey: + title: totp key + component: + placeholder: totp key + encrypt: true +pluginType: access diff --git a/packages/ui/certd-server/src/plugins/plugin-gcore/index.yaml b/packages/ui/certd-server/src/plugins/plugin-gcore/index.yaml new file mode 100644 index 00000000..e3dba6fc --- /dev/null +++ b/packages/ui/certd-server/src/plugins/plugin-gcore/index.yaml @@ -0,0 +1,35 @@ +showRunStrategy: false +default: + strategy: + runStrategy: 1 +name: Gcoreupload +title: Gcore-部署证书到Gcore +desc: 仅上传 并不会部署到cdn +icon: clarity:plugin-line +group: cdn +input: + certName: + title: 证书名称 + helper: 作为备注 + order: 0 + cert: + title: 域名证书 + helper: 请选择前置任务输出的域名证书 + component: + name: output-selector + from: + - CertApply + - CertApplyLego + - CertApplyUpload + required: true + order: 0 + accessId: + title: Access授权 + helper: Gcore + component: + name: access-selector + type: Gcore + required: true + order: 0 +output: {} +pluginType: deploy diff --git a/packages/ui/certd-server/src/plugins/plugin-gcore/plugins/index.yaml b/packages/ui/certd-server/src/plugins/plugin-gcore/plugins/index.yaml new file mode 100644 index 00000000..e3dba6fc --- /dev/null +++ b/packages/ui/certd-server/src/plugins/plugin-gcore/plugins/index.yaml @@ -0,0 +1,35 @@ +showRunStrategy: false +default: + strategy: + runStrategy: 1 +name: Gcoreupload +title: Gcore-部署证书到Gcore +desc: 仅上传 并不会部署到cdn +icon: clarity:plugin-line +group: cdn +input: + certName: + title: 证书名称 + helper: 作为备注 + order: 0 + cert: + title: 域名证书 + helper: 请选择前置任务输出的域名证书 + component: + name: output-selector + from: + - CertApply + - CertApplyLego + - CertApplyUpload + required: true + order: 0 + accessId: + title: Access授权 + helper: Gcore + component: + name: access-selector + type: Gcore + required: true + order: 0 +output: {} +pluginType: deploy diff --git a/packages/ui/certd-server/src/plugins/plugin-gcore/plugins/plugin-flush.yaml b/packages/ui/certd-server/src/plugins/plugin-gcore/plugins/plugin-flush.yaml new file mode 100644 index 00000000..d888a6e7 --- /dev/null +++ b/packages/ui/certd-server/src/plugins/plugin-gcore/plugins/plugin-flush.yaml @@ -0,0 +1,38 @@ +showRunStrategy: false +default: + strategy: + runStrategy: 1 +name: Gcoreflush +title: Gcore-刷新Gcore证书 +desc: 刷新现有的证书 +icon: clarity:plugin-line +group: cdn +input: + certName: + title: 证书名称 + helper: 可以修改也可以和现在的保留一致 + order: 0 + ssl_id: + title: 证书ID + order: 0 + cert: + title: 域名证书 + helper: 请选择前置任务输出的域名证书 + component: + name: output-selector + from: + - CertApply + - CertApplyLego + - CertApplyUpload + required: true + order: 0 + accessId: + title: Access授权 + helper: Gcore + component: + name: access-selector + type: Gcore + required: true + order: 0 +output: {} +pluginType: deploy diff --git a/packages/ui/certd-server/src/plugins/plugin-gcore/plugins/plugin-upload.yaml b/packages/ui/certd-server/src/plugins/plugin-gcore/plugins/plugin-upload.yaml new file mode 100644 index 00000000..e3dba6fc --- /dev/null +++ b/packages/ui/certd-server/src/plugins/plugin-gcore/plugins/plugin-upload.yaml @@ -0,0 +1,35 @@ +showRunStrategy: false +default: + strategy: + runStrategy: 1 +name: Gcoreupload +title: Gcore-部署证书到Gcore +desc: 仅上传 并不会部署到cdn +icon: clarity:plugin-line +group: cdn +input: + certName: + title: 证书名称 + helper: 作为备注 + order: 0 + cert: + title: 域名证书 + helper: 请选择前置任务输出的域名证书 + component: + name: output-selector + from: + - CertApply + - CertApplyLego + - CertApplyUpload + required: true + order: 0 + accessId: + title: Access授权 + helper: Gcore + component: + name: access-selector + type: Gcore + required: true + order: 0 +output: {} +pluginType: deploy diff --git a/packages/ui/certd-server/src/plugins/plugin-host/index.yaml b/packages/ui/certd-server/src/plugins/plugin-host/index.yaml new file mode 100644 index 00000000..348f7511 --- /dev/null +++ b/packages/ui/certd-server/src/plugins/plugin-host/index.yaml @@ -0,0 +1,223 @@ +showRunStrategy: false +default: + strategy: + runStrategy: 1 +name: uploadCertToHost +title: 主机-部署证书到SSH主机 +icon: line-md:uploading-loop +group: host +desc: SFTP上传证书到主机,然后SSH执行部署脚本命令 +order: 1 +input: + cert: + title: 域名证书 + helper: 请选择前置任务输出的域名证书 + component: + name: output-selector + from: + - CertApply + - CertApplyLego + - CertApplyUpload + required: true + order: 0 + certType: + title: 证书格式 + helper: 要部署的证书格式,支持pem、pfx、der、jks + component: + name: a-select + options: + - value: pem + label: pem(crt),Nginx等大部分应用 + - value: pfx + label: pfx,一般用于IIS + - value: der + label: der,一般用于Apache + - value: jks + label: jks,一般用于JAVA应用 + - value: one + label: 证书私钥一体,crt+key简单合并为一个pem文件 + required: true + order: 0 + crtPath: + title: 证书保存路径 + helper: 填写应用原本的证书保存路径,路径要包含证书文件名,例如:/tmp/cert.pem + component: + placeholder: /root/deploy/nginx/full_chain.pem + mergeScript: |2- + + return { + show: ctx.compute(({form})=>{ + return form.certType === 'pem'; + }) + } + + required: true + rules: + - type: filepath + order: 0 + keyPath: + title: 私钥保存路径 + helper: 需要有写入权限,路径要包含私钥文件名,例如:/tmp/cert.key + component: + placeholder: /root/deploy/nginx/cert.key + mergeScript: |2- + + return { + show: ctx.compute(({form})=>{ + return form.certType === 'pem'; + }) + } + + required: true + rules: + - type: filepath + order: 0 + icPath: + title: 中间证书保存路径 + helper: 路径要包含文件名,一般情况传上面两个文件即可,极少数情况需要这个中间证书 + component: + placeholder: /root/deploy/nginx/intermediate.pem + mergeScript: |2- + + return { + show: ctx.compute(({form})=>{ + return form.certType === 'pem'; + }) + } + + rules: + - type: filepath + order: 0 + pfxPath: + title: PFX证书保存路径 + helper: 填写应用原本的证书保存路径,路径要包含证书文件名,例如:D:\iis\cert.pfx + component: + placeholder: D:\iis\cert.pfx + mergeScript: |2- + + return { + show: ctx.compute(({form})=>{ + return form.certType === 'pfx'; + }) + } + + required: true + rules: + - type: filepath + order: 0 + derPath: + title: DER证书保存路径 + helper: 填写应用原本的证书保存路径,路径要包含证书文件名,例如:/tmp/cert.der + component: + placeholder: /root/deploy/apache/cert.der + mergeScript: |2- + + return { + show: ctx.compute(({form})=>{ + return form.certType === 'der'; + }) + } + + required: true + rules: + - type: filepath + order: 0 + jksPath: + title: jks证书保存路径 + helper: 填写应用原本的证书保存路径,路径要包含证书文件名,例如:/tmp/cert.jks + component: + placeholder: /root/deploy/java_app/cert.jks + mergeScript: |2- + + return { + show: ctx.compute(({form})=>{ + return form.certType === 'jks'; + }) + } + + required: true + rules: + - type: filepath + order: 0 + onePath: + title: 一体证书保存路径 + helper: 填写应用原本的证书保存路径,路径要包含证书文件名,例如:/tmp/crt_key.pem + component: + placeholder: /root/deploy/app/crt_key.pem + mergeScript: |2- + + return { + show: ctx.compute(({form})=>{ + return form.certType === 'one'; + }) + } + + required: true + rules: + - type: filepath + order: 0 + accessId: + title: 主机登录配置 + helper: access授权 + component: + name: access-selector + type: ssh + required: true + order: 0 + uploadType: + title: 上传方式 + helper: 选择上传方式,sftp或者scp + value: sftp + component: + name: a-select + options: + - value: sftp + label: sftp + - value: scp + label: scp + required: true + order: 0 + mkdirs: + title: 自动创建远程目录 + helper: 是否自动创建远程目录,如果关闭则你需要自己确保远程目录存在 + value: true + component: + name: a-switch + vModel: checked + order: 0 + script: + title: shell脚本命令 + component: + name: a-textarea + vModel: value + rows: 6 + helper: |- + 上传后执行脚本命令,不填则不执行 + 注意:如果目标主机是windows,且终端是cmd,系统会自动将多行命令通过“&&”连接成一行 + required: false + order: 0 + injectEnv: + title: 注入环境变量 + value: false + component: + name: a-switch + vModel: checked + helper: 是否将证书域名、路径等信息注入脚本执行环境变量中,具体的变量名称,可以运行后从日志中查看 + required: false + order: 0 +output: + hostCrtPath: + title: 证书保存路径 + hostKeyPath: + title: 私钥保存路径 + hostIcPath: + title: 中间证书保存路径 + hostPfxPath: + title: PFX保存路径 + hostDerPath: + title: DER保存路径 + hostJksPath: + title: jks保存路径 + hostOnePath: + title: 一体证书保存路径 +pluginType: deploy diff --git a/packages/ui/certd-server/src/plugins/plugin-host/plugin/copy-to-local/index.yaml b/packages/ui/certd-server/src/plugins/plugin-host/plugin/copy-to-local/index.yaml new file mode 100644 index 00000000..6972c31a --- /dev/null +++ b/packages/ui/certd-server/src/plugins/plugin-host/plugin/copy-to-local/index.yaml @@ -0,0 +1,167 @@ +showRunStrategy: false +default: + strategy: + runStrategy: 1 +name: CopyToLocal +title: 主机-复制到本机 +icon: solar:copy-bold-duotone +desc: 【仅管理员使用】实际上是复制证书到docker容器内的某个路径,需要做目录映射到宿主机 +group: host +input: + cert: + title: 域名证书 + helper: 请选择前置任务输出的域名证书 + component: + name: output-selector + from: + - CertApply + - CertApplyLego + - CertApplyUpload + required: true + order: 0 + certType: + title: 证书类型 + helper: 要部署的证书格式,支持pem、pfx、der、jks格式 + component: + name: a-select + options: + - value: pem + label: pem(crt),用于Nginx等大部分应用 + - value: pfx + label: pfx,一般用于IIS + - value: der + label: der,一般用于Apache + - value: jks + label: jks,一般用于JAVA应用 + required: true + order: 0 + crtPath: + title: 证书保存路径 + helper: |- + 全链证书,路径要包含文件名 + 推荐使用相对路径,将写入与数据库同级目录,无需映射,例如:tmp/cert.pem + component: + placeholder: tmp/full_chain.pem + mergeScript: |2- + + return { + show: ctx.compute(({form})=>{ + return form.certType === 'pem'; + }) + } + + required: true + rules: + - type: filepath + order: 0 + keyPath: + title: 私钥保存路径 + helper: |- + 路径要包含文件名 + 推荐使用相对路径,将写入与数据库同级目录,无需映射,例如:tmp/cert.key + component: + placeholder: tmp/cert.key + mergeScript: |2- + + return { + show: ctx.compute(({form})=>{ + return form.certType === 'pem'; + }) + } + + required: true + rules: + - type: filepath + order: 0 + icPath: + title: 中间证书保存路径 + helper: 路径要包含文件名,一般情况传上面两个文件就行了,极少数情况需要这个中间证书 + component: + placeholder: /root/deploy/nginx/intermediate.pem + mergeScript: |2- + + return { + show: ctx.compute(({form})=>{ + return form.certType === 'pem'; + }) + } + + rules: + - type: filepath + order: 0 + pfxPath: + title: PFX证书保存路径 + helper: |- + 用于IIS证书部署,路径要包含文件名 + 推荐使用相对路径,将写入与数据库同级目录,无需映射,例如:tmp/cert.pfx + component: + placeholder: tmp/cert.pfx + mergeScript: |2- + + return { + show: ctx.compute(({form})=>{ + return form.certType === 'pfx'; + }) + } + + required: true + rules: + - type: filepath + order: 0 + derPath: + title: DER证书保存路径 + helper: |- + 用于Apache证书部署,路径要包含文件名 + 推荐使用相对路径,将写入与数据库同级目录,无需映射,例如:tmp/cert.der + .der和.cer是相同的东西,改个后缀名即可 + component: + placeholder: tmp/cert.der 或 tmp/cert.cer + mergeScript: |2- + + return { + show: ctx.compute(({form})=>{ + return form.certType === 'der'; + }) + } + + required: true + rules: + - type: filepath + order: 0 + jksPath: + title: jks证书保存路径 + helper: 用于java,路径要包含文件名,例如:tmp/cert.jks + component: + placeholder: tmp/cert.jks + mergeScript: |2- + + return { + show: ctx.compute(({form})=>{ + return form.certType === 'jks'; + }) + } + + required: true + rules: + - type: filepath + order: 0 +output: + hostCrtPath: + title: 证书保存路径 + type: HostCrtPath + hostKeyPath: + title: 私钥保存路径 + type: HostKeyPath + hostIcPath: + title: 中间证书保存路径 + type: HostKeyPath + hostPfxPath: + title: PFX保存路径 + type: HostPfxPath + hostDerPath: + title: DER保存路径 + type: HostDerPath + hostJksPath: + title: jks保存路径 + type: HostJksPath +pluginType: deploy diff --git a/packages/ui/certd-server/src/plugins/plugin-host/plugin/host-shell-execute/index.yaml b/packages/ui/certd-server/src/plugins/plugin-host/plugin/host-shell-execute/index.yaml new file mode 100644 index 00000000..686157ac --- /dev/null +++ b/packages/ui/certd-server/src/plugins/plugin-host/plugin/host-shell-execute/index.yaml @@ -0,0 +1,30 @@ +showRunStrategy: false +default: + strategy: + runStrategy: 1 +name: hostShellExecute +title: 主机-执行远程主机脚本命令 +icon: tabler:brand-powershell +group: host +desc: 可以执行重启nginx等操作让证书生效 +input: + accessId: + title: 主机登录配置 + helper: 登录 + component: + name: access-selector + type: ssh + required: true + order: 0 + script: + title: shell脚本命令 + component: + name: a-textarea + vModel: value + rows: 6 + placeholder: systemctl restart nginx + helper: 注意:如果目标主机是windows,且终端是cmd,系统会自动将多行命令通过“&&”连接成一行 + required: true + order: 0 +output: {} +pluginType: deploy diff --git a/packages/ui/certd-server/src/plugins/plugin-host/plugin/index.yaml b/packages/ui/certd-server/src/plugins/plugin-host/plugin/index.yaml new file mode 100644 index 00000000..348f7511 --- /dev/null +++ b/packages/ui/certd-server/src/plugins/plugin-host/plugin/index.yaml @@ -0,0 +1,223 @@ +showRunStrategy: false +default: + strategy: + runStrategy: 1 +name: uploadCertToHost +title: 主机-部署证书到SSH主机 +icon: line-md:uploading-loop +group: host +desc: SFTP上传证书到主机,然后SSH执行部署脚本命令 +order: 1 +input: + cert: + title: 域名证书 + helper: 请选择前置任务输出的域名证书 + component: + name: output-selector + from: + - CertApply + - CertApplyLego + - CertApplyUpload + required: true + order: 0 + certType: + title: 证书格式 + helper: 要部署的证书格式,支持pem、pfx、der、jks + component: + name: a-select + options: + - value: pem + label: pem(crt),Nginx等大部分应用 + - value: pfx + label: pfx,一般用于IIS + - value: der + label: der,一般用于Apache + - value: jks + label: jks,一般用于JAVA应用 + - value: one + label: 证书私钥一体,crt+key简单合并为一个pem文件 + required: true + order: 0 + crtPath: + title: 证书保存路径 + helper: 填写应用原本的证书保存路径,路径要包含证书文件名,例如:/tmp/cert.pem + component: + placeholder: /root/deploy/nginx/full_chain.pem + mergeScript: |2- + + return { + show: ctx.compute(({form})=>{ + return form.certType === 'pem'; + }) + } + + required: true + rules: + - type: filepath + order: 0 + keyPath: + title: 私钥保存路径 + helper: 需要有写入权限,路径要包含私钥文件名,例如:/tmp/cert.key + component: + placeholder: /root/deploy/nginx/cert.key + mergeScript: |2- + + return { + show: ctx.compute(({form})=>{ + return form.certType === 'pem'; + }) + } + + required: true + rules: + - type: filepath + order: 0 + icPath: + title: 中间证书保存路径 + helper: 路径要包含文件名,一般情况传上面两个文件即可,极少数情况需要这个中间证书 + component: + placeholder: /root/deploy/nginx/intermediate.pem + mergeScript: |2- + + return { + show: ctx.compute(({form})=>{ + return form.certType === 'pem'; + }) + } + + rules: + - type: filepath + order: 0 + pfxPath: + title: PFX证书保存路径 + helper: 填写应用原本的证书保存路径,路径要包含证书文件名,例如:D:\iis\cert.pfx + component: + placeholder: D:\iis\cert.pfx + mergeScript: |2- + + return { + show: ctx.compute(({form})=>{ + return form.certType === 'pfx'; + }) + } + + required: true + rules: + - type: filepath + order: 0 + derPath: + title: DER证书保存路径 + helper: 填写应用原本的证书保存路径,路径要包含证书文件名,例如:/tmp/cert.der + component: + placeholder: /root/deploy/apache/cert.der + mergeScript: |2- + + return { + show: ctx.compute(({form})=>{ + return form.certType === 'der'; + }) + } + + required: true + rules: + - type: filepath + order: 0 + jksPath: + title: jks证书保存路径 + helper: 填写应用原本的证书保存路径,路径要包含证书文件名,例如:/tmp/cert.jks + component: + placeholder: /root/deploy/java_app/cert.jks + mergeScript: |2- + + return { + show: ctx.compute(({form})=>{ + return form.certType === 'jks'; + }) + } + + required: true + rules: + - type: filepath + order: 0 + onePath: + title: 一体证书保存路径 + helper: 填写应用原本的证书保存路径,路径要包含证书文件名,例如:/tmp/crt_key.pem + component: + placeholder: /root/deploy/app/crt_key.pem + mergeScript: |2- + + return { + show: ctx.compute(({form})=>{ + return form.certType === 'one'; + }) + } + + required: true + rules: + - type: filepath + order: 0 + accessId: + title: 主机登录配置 + helper: access授权 + component: + name: access-selector + type: ssh + required: true + order: 0 + uploadType: + title: 上传方式 + helper: 选择上传方式,sftp或者scp + value: sftp + component: + name: a-select + options: + - value: sftp + label: sftp + - value: scp + label: scp + required: true + order: 0 + mkdirs: + title: 自动创建远程目录 + helper: 是否自动创建远程目录,如果关闭则你需要自己确保远程目录存在 + value: true + component: + name: a-switch + vModel: checked + order: 0 + script: + title: shell脚本命令 + component: + name: a-textarea + vModel: value + rows: 6 + helper: |- + 上传后执行脚本命令,不填则不执行 + 注意:如果目标主机是windows,且终端是cmd,系统会自动将多行命令通过“&&”连接成一行 + required: false + order: 0 + injectEnv: + title: 注入环境变量 + value: false + component: + name: a-switch + vModel: checked + helper: 是否将证书域名、路径等信息注入脚本执行环境变量中,具体的变量名称,可以运行后从日志中查看 + required: false + order: 0 +output: + hostCrtPath: + title: 证书保存路径 + hostKeyPath: + title: 私钥保存路径 + hostIcPath: + title: 中间证书保存路径 + hostPfxPath: + title: PFX保存路径 + hostDerPath: + title: DER保存路径 + hostJksPath: + title: jks保存路径 + hostOnePath: + title: 一体证书保存路径 +pluginType: deploy diff --git a/packages/ui/certd-server/src/plugins/plugin-host/plugin/upload-to-host/index.yaml b/packages/ui/certd-server/src/plugins/plugin-host/plugin/upload-to-host/index.yaml new file mode 100644 index 00000000..348f7511 --- /dev/null +++ b/packages/ui/certd-server/src/plugins/plugin-host/plugin/upload-to-host/index.yaml @@ -0,0 +1,223 @@ +showRunStrategy: false +default: + strategy: + runStrategy: 1 +name: uploadCertToHost +title: 主机-部署证书到SSH主机 +icon: line-md:uploading-loop +group: host +desc: SFTP上传证书到主机,然后SSH执行部署脚本命令 +order: 1 +input: + cert: + title: 域名证书 + helper: 请选择前置任务输出的域名证书 + component: + name: output-selector + from: + - CertApply + - CertApplyLego + - CertApplyUpload + required: true + order: 0 + certType: + title: 证书格式 + helper: 要部署的证书格式,支持pem、pfx、der、jks + component: + name: a-select + options: + - value: pem + label: pem(crt),Nginx等大部分应用 + - value: pfx + label: pfx,一般用于IIS + - value: der + label: der,一般用于Apache + - value: jks + label: jks,一般用于JAVA应用 + - value: one + label: 证书私钥一体,crt+key简单合并为一个pem文件 + required: true + order: 0 + crtPath: + title: 证书保存路径 + helper: 填写应用原本的证书保存路径,路径要包含证书文件名,例如:/tmp/cert.pem + component: + placeholder: /root/deploy/nginx/full_chain.pem + mergeScript: |2- + + return { + show: ctx.compute(({form})=>{ + return form.certType === 'pem'; + }) + } + + required: true + rules: + - type: filepath + order: 0 + keyPath: + title: 私钥保存路径 + helper: 需要有写入权限,路径要包含私钥文件名,例如:/tmp/cert.key + component: + placeholder: /root/deploy/nginx/cert.key + mergeScript: |2- + + return { + show: ctx.compute(({form})=>{ + return form.certType === 'pem'; + }) + } + + required: true + rules: + - type: filepath + order: 0 + icPath: + title: 中间证书保存路径 + helper: 路径要包含文件名,一般情况传上面两个文件即可,极少数情况需要这个中间证书 + component: + placeholder: /root/deploy/nginx/intermediate.pem + mergeScript: |2- + + return { + show: ctx.compute(({form})=>{ + return form.certType === 'pem'; + }) + } + + rules: + - type: filepath + order: 0 + pfxPath: + title: PFX证书保存路径 + helper: 填写应用原本的证书保存路径,路径要包含证书文件名,例如:D:\iis\cert.pfx + component: + placeholder: D:\iis\cert.pfx + mergeScript: |2- + + return { + show: ctx.compute(({form})=>{ + return form.certType === 'pfx'; + }) + } + + required: true + rules: + - type: filepath + order: 0 + derPath: + title: DER证书保存路径 + helper: 填写应用原本的证书保存路径,路径要包含证书文件名,例如:/tmp/cert.der + component: + placeholder: /root/deploy/apache/cert.der + mergeScript: |2- + + return { + show: ctx.compute(({form})=>{ + return form.certType === 'der'; + }) + } + + required: true + rules: + - type: filepath + order: 0 + jksPath: + title: jks证书保存路径 + helper: 填写应用原本的证书保存路径,路径要包含证书文件名,例如:/tmp/cert.jks + component: + placeholder: /root/deploy/java_app/cert.jks + mergeScript: |2- + + return { + show: ctx.compute(({form})=>{ + return form.certType === 'jks'; + }) + } + + required: true + rules: + - type: filepath + order: 0 + onePath: + title: 一体证书保存路径 + helper: 填写应用原本的证书保存路径,路径要包含证书文件名,例如:/tmp/crt_key.pem + component: + placeholder: /root/deploy/app/crt_key.pem + mergeScript: |2- + + return { + show: ctx.compute(({form})=>{ + return form.certType === 'one'; + }) + } + + required: true + rules: + - type: filepath + order: 0 + accessId: + title: 主机登录配置 + helper: access授权 + component: + name: access-selector + type: ssh + required: true + order: 0 + uploadType: + title: 上传方式 + helper: 选择上传方式,sftp或者scp + value: sftp + component: + name: a-select + options: + - value: sftp + label: sftp + - value: scp + label: scp + required: true + order: 0 + mkdirs: + title: 自动创建远程目录 + helper: 是否自动创建远程目录,如果关闭则你需要自己确保远程目录存在 + value: true + component: + name: a-switch + vModel: checked + order: 0 + script: + title: shell脚本命令 + component: + name: a-textarea + vModel: value + rows: 6 + helper: |- + 上传后执行脚本命令,不填则不执行 + 注意:如果目标主机是windows,且终端是cmd,系统会自动将多行命令通过“&&”连接成一行 + required: false + order: 0 + injectEnv: + title: 注入环境变量 + value: false + component: + name: a-switch + vModel: checked + helper: 是否将证书域名、路径等信息注入脚本执行环境变量中,具体的变量名称,可以运行后从日志中查看 + required: false + order: 0 +output: + hostCrtPath: + title: 证书保存路径 + hostKeyPath: + title: 私钥保存路径 + hostIcPath: + title: 中间证书保存路径 + hostPfxPath: + title: PFX保存路径 + hostDerPath: + title: DER保存路径 + hostJksPath: + title: jks保存路径 + hostOnePath: + title: 一体证书保存路径 +pluginType: deploy diff --git a/packages/ui/certd-server/src/plugins/plugin-huawei/access/huawei-access.yaml b/packages/ui/certd-server/src/plugins/plugin-huawei/access/huawei-access.yaml new file mode 100644 index 00000000..403cbb44 --- /dev/null +++ b/packages/ui/certd-server/src/plugins/plugin-huawei/access/huawei-access.yaml @@ -0,0 +1,19 @@ +name: huawei +title: 华为云授权 +desc: '' +icon: svg:icon-huawei +input: + accessKeyId: + title: accessKeyId + component: + placeholder: accessKeyId + helper: >- + 证书申请需要有dns解析权限,前往[我的凭证-访问密钥](https://console.huaweicloud.com/iam/?region=cn-east-3#/mine/accessKey)获取 + required: true + accessKeySecret: + title: accessKeySecret + component: + placeholder: accessKeySecret + required: true + encrypt: true +pluginType: access diff --git a/packages/ui/certd-server/src/plugins/plugin-huawei/access/index.yaml b/packages/ui/certd-server/src/plugins/plugin-huawei/access/index.yaml new file mode 100644 index 00000000..403cbb44 --- /dev/null +++ b/packages/ui/certd-server/src/plugins/plugin-huawei/access/index.yaml @@ -0,0 +1,19 @@ +name: huawei +title: 华为云授权 +desc: '' +icon: svg:icon-huawei +input: + accessKeyId: + title: accessKeyId + component: + placeholder: accessKeyId + helper: >- + 证书申请需要有dns解析权限,前往[我的凭证-访问密钥](https://console.huaweicloud.com/iam/?region=cn-east-3#/mine/accessKey)获取 + required: true + accessKeySecret: + title: accessKeySecret + component: + placeholder: accessKeySecret + required: true + encrypt: true +pluginType: access diff --git a/packages/ui/certd-server/src/plugins/plugin-huawei/dns-provider/huawei-dns-provider.yaml b/packages/ui/certd-server/src/plugins/plugin-huawei/dns-provider/huawei-dns-provider.yaml new file mode 100644 index 00000000..02815cc4 --- /dev/null +++ b/packages/ui/certd-server/src/plugins/plugin-huawei/dns-provider/huawei-dns-provider.yaml @@ -0,0 +1,6 @@ +name: huawei +title: 华为云 +desc: 华为云DNS解析提供商 +accessType: huawei +icon: svg:icon-huawei +pluginType: dnsProvider diff --git a/packages/ui/certd-server/src/plugins/plugin-huawei/index.yaml b/packages/ui/certd-server/src/plugins/plugin-huawei/index.yaml new file mode 100644 index 00000000..403cbb44 --- /dev/null +++ b/packages/ui/certd-server/src/plugins/plugin-huawei/index.yaml @@ -0,0 +1,19 @@ +name: huawei +title: 华为云授权 +desc: '' +icon: svg:icon-huawei +input: + accessKeyId: + title: accessKeyId + component: + placeholder: accessKeyId + helper: >- + 证书申请需要有dns解析权限,前往[我的凭证-访问密钥](https://console.huaweicloud.com/iam/?region=cn-east-3#/mine/accessKey)获取 + required: true + accessKeySecret: + title: accessKeySecret + component: + placeholder: accessKeySecret + required: true + encrypt: true +pluginType: access diff --git a/packages/ui/certd-server/src/plugins/plugin-huawei/plugins/deploy-to-cdn/index.yaml b/packages/ui/certd-server/src/plugins/plugin-huawei/plugins/deploy-to-cdn/index.yaml new file mode 100644 index 00000000..c9110b9b --- /dev/null +++ b/packages/ui/certd-server/src/plugins/plugin-huawei/plugins/deploy-to-cdn/index.yaml @@ -0,0 +1,72 @@ +showRunStrategy: false +default: + strategy: + runStrategy: 1 +name: HauweiDeployCertToCDN +title: 华为云-部署证书至CDN +icon: svg:icon-huawei +group: huawei +desc: '' +input: + cert: + title: 域名证书 + helper: 请选择前置任务输出的域名证书 + component: + name: output-selector + from: + - CertApply + - CertApplyLego + - CertApplyUpload + required: true + order: 0 + certDomains: + title: 当前证书域名 + component: + name: cert-domains-getter + mergeScript: |2- + + return { + component:{ + inputKey: ctx.compute(({form})=>{ + return form.cert + }), + } + } + + required: false + order: 0 + accessId: + title: Access授权 + helper: 华为云授权AccessKeyId、AccessKeySecret + component: + name: access-selector + type: huawei + required: true + order: 0 + domains: + title: CDN域名 + component: + name: remote-select + vModel: value + mode: tags + type: plugin + typeName: HauweiDeployCertToCDN + action: onGetDomainList + watches: + - certDomains + - accessId + required: true + mergeScript: |2- + + return { + component:{ + form: ctx.compute(({form})=>{ + return form + }) + }, + } + + helper: 请选择域名或输入域名 + order: 0 +output: {} +pluginType: deploy diff --git a/packages/ui/certd-server/src/plugins/plugin-huawei/plugins/upload-to-ccm/index.yaml b/packages/ui/certd-server/src/plugins/plugin-huawei/plugins/upload-to-ccm/index.yaml new file mode 100644 index 00000000..e11fe9ca --- /dev/null +++ b/packages/ui/certd-server/src/plugins/plugin-huawei/plugins/upload-to-ccm/index.yaml @@ -0,0 +1,49 @@ +showRunStrategy: false +default: + strategy: + runStrategy: 1 +name: HauweiUploadToCCM +title: 华为云-上传证书至CCM +icon: svg:icon-huawei +group: huawei +desc: 上传证书到华为云CCM +input: + cert: + title: 域名证书 + helper: 请选择前置任务输出的域名证书 + component: + name: output-selector + from: + - CertApply + - CertApplyLego + - CertApplyUpload + required: true + order: 0 + certDomains: + title: 当前证书域名 + component: + name: cert-domains-getter + mergeScript: |2- + + return { + component:{ + inputKey: ctx.compute(({form})=>{ + return form.cert + }), + } + } + + required: false + order: 0 + accessId: + title: Access授权 + helper: 华为云授权AccessKeyId、AccessKeySecret + component: + name: access-selector + type: huawei + required: true + order: 0 +output: + huaweiCertId: + title: 华为云CertId +pluginType: deploy diff --git a/packages/ui/certd-server/src/plugins/plugin-jdcloud/access.yaml b/packages/ui/certd-server/src/plugins/plugin-jdcloud/access.yaml new file mode 100644 index 00000000..9f17bb1c --- /dev/null +++ b/packages/ui/certd-server/src/plugins/plugin-jdcloud/access.yaml @@ -0,0 +1,18 @@ +name: jdcloud +title: 京东云 +desc: '' +icon: svg:icon-jdcloud +input: + accessKeyId: + title: AccessKeyID + component: + placeholder: AccessKeyID + helper: '[获取密钥](https://uc.jdcloud.com/account/accesskey)' + required: true + secretAccessKey: + title: SecretAccessKey + component: + placeholder: SecretAccessKey + required: true + encrypt: true +pluginType: access diff --git a/packages/ui/certd-server/src/plugins/plugin-jdcloud/dns-provider.yaml b/packages/ui/certd-server/src/plugins/plugin-jdcloud/dns-provider.yaml new file mode 100644 index 00000000..bcd0e79c --- /dev/null +++ b/packages/ui/certd-server/src/plugins/plugin-jdcloud/dns-provider.yaml @@ -0,0 +1,6 @@ +name: jdcloud +title: 京东云 +desc: 京东云DNS解析提供商 +accessType: jdcloud +icon: svg:icon-jdcloud +pluginType: dnsProvider diff --git a/packages/ui/certd-server/src/plugins/plugin-jdcloud/index.yaml b/packages/ui/certd-server/src/plugins/plugin-jdcloud/index.yaml new file mode 100644 index 00000000..1f8c875c --- /dev/null +++ b/packages/ui/certd-server/src/plugins/plugin-jdcloud/index.yaml @@ -0,0 +1,39 @@ +showRunStrategy: false +default: + strategy: + runStrategy: 1 +name: JDCloudUploadCert +title: 京东云-上传新证书 +icon: svg:icon-jdcloud +group: jdcloud +desc: 上传证书到SSL数字证书中心 +input: + cert: + title: 域名证书 + helper: 请选择前置任务输出的域名证书 + component: + name: output-selector + from: + - CertApply + - CertApplyLego + - CertApplyUpload + - JDCloudUploadCert + required: true + order: 0 + accessId: + title: Access授权 + helper: 京东云AccessKeyId、AccessKeySecret + component: + name: access-selector + type: jdcloud + required: true + order: 0 + certName: + title: 证书名称前缀 + helper: 证书形成,默认为certd + required: false + order: 0 +output: + jdcloudCertId: + title: 上传成功后的京东云CertId +pluginType: deploy diff --git a/packages/ui/certd-server/src/plugins/plugin-jdcloud/plugins/index.yaml b/packages/ui/certd-server/src/plugins/plugin-jdcloud/plugins/index.yaml new file mode 100644 index 00000000..1f8c875c --- /dev/null +++ b/packages/ui/certd-server/src/plugins/plugin-jdcloud/plugins/index.yaml @@ -0,0 +1,39 @@ +showRunStrategy: false +default: + strategy: + runStrategy: 1 +name: JDCloudUploadCert +title: 京东云-上传新证书 +icon: svg:icon-jdcloud +group: jdcloud +desc: 上传证书到SSL数字证书中心 +input: + cert: + title: 域名证书 + helper: 请选择前置任务输出的域名证书 + component: + name: output-selector + from: + - CertApply + - CertApplyLego + - CertApplyUpload + - JDCloudUploadCert + required: true + order: 0 + accessId: + title: Access授权 + helper: 京东云AccessKeyId、AccessKeySecret + component: + name: access-selector + type: jdcloud + required: true + order: 0 + certName: + title: 证书名称前缀 + helper: 证书形成,默认为certd + required: false + order: 0 +output: + jdcloudCertId: + title: 上传成功后的京东云CertId +pluginType: deploy diff --git a/packages/ui/certd-server/src/plugins/plugin-jdcloud/plugins/plugin-deploy-to-cdn.yaml b/packages/ui/certd-server/src/plugins/plugin-jdcloud/plugins/plugin-deploy-to-cdn.yaml new file mode 100644 index 00000000..e33a7e62 --- /dev/null +++ b/packages/ui/certd-server/src/plugins/plugin-jdcloud/plugins/plugin-deploy-to-cdn.yaml @@ -0,0 +1,74 @@ +showRunStrategy: false +default: + strategy: + runStrategy: 1 +name: JDCloudDeployToCDN +title: 京东云-部署证书至CDN +icon: svg:icon-jdcloud +group: jdcloud +desc: 京东云内容分发网络 +input: + cert: + title: 域名证书 + helper: 请选择前置任务输出的域名证书 + component: + name: output-selector + from: + - CertApply + - CertApplyLego + - CertApplyUpload + - JDCloudUploadCert + required: true + order: 0 + certDomains: + title: 当前证书域名 + component: + name: cert-domains-getter + mergeScript: |2- + + return { + component:{ + inputKey: ctx.compute(({form})=>{ + return form.cert + }), + } + } + + required: false + order: 0 + accessId: + title: Access授权 + helper: 京东云AccessKeyId、AccessKeySecret + component: + name: access-selector + type: jdcloud + required: true + order: 0 + domainName: + title: CDN加速域名 + component: + name: remote-select + vModel: value + mode: tags + type: plugin + action: onGetDomainList + watches: + - certDomains + - accessId + - certDomains + - accessId + required: true + mergeScript: |2- + + return { + component:{ + form: ctx.compute(({form})=>{ + return form + }) + }, + } + + helper: 你在京东云上配置的CDN加速域名,比如:certd.docmirror.cn + order: 0 +output: {} +pluginType: deploy diff --git a/packages/ui/certd-server/src/plugins/plugin-jdcloud/plugins/plugin-update-cert.yaml b/packages/ui/certd-server/src/plugins/plugin-jdcloud/plugins/plugin-update-cert.yaml new file mode 100644 index 00000000..9019f459 --- /dev/null +++ b/packages/ui/certd-server/src/plugins/plugin-jdcloud/plugins/plugin-update-cert.yaml @@ -0,0 +1,74 @@ +showRunStrategy: false +default: + strategy: + runStrategy: 1 +name: JDCloudUpdateCert +title: 京东云-更新已有证书 +icon: svg:icon-jdcloud +group: jdcloud +desc: 更新SSL数字证书中的证书 +input: + cert: + title: 域名证书 + helper: 请选择前置任务输出的域名证书 + component: + name: output-selector + from: + - CertApply + - CertApplyLego + - CertApplyUpload + - JDCloudUploadCert + required: true + order: 0 + certDomains: + title: 当前证书域名 + component: + name: cert-domains-getter + mergeScript: |2- + + return { + component:{ + inputKey: ctx.compute(({form})=>{ + return form.cert + }), + } + } + + required: false + order: 0 + accessId: + title: Access授权 + helper: 京东云AccessKeyId、AccessKeySecret + component: + name: access-selector + type: jdcloud + required: true + order: 0 + certIds: + title: 要更新的证书id + component: + name: remote-select + vModel: value + mode: tags + type: plugin + action: onGetCertList + watches: + - certDomains + - accessId + - certDomains + - accessId + required: true + mergeScript: |2- + + return { + component:{ + form: ctx.compute(({form})=>{ + return form + }) + }, + } + + helper: 您在京东云上已有的证书Id + order: 0 +output: {} +pluginType: deploy diff --git a/packages/ui/certd-server/src/plugins/plugin-jdcloud/plugins/plugin-upload-cert.yaml b/packages/ui/certd-server/src/plugins/plugin-jdcloud/plugins/plugin-upload-cert.yaml new file mode 100644 index 00000000..1f8c875c --- /dev/null +++ b/packages/ui/certd-server/src/plugins/plugin-jdcloud/plugins/plugin-upload-cert.yaml @@ -0,0 +1,39 @@ +showRunStrategy: false +default: + strategy: + runStrategy: 1 +name: JDCloudUploadCert +title: 京东云-上传新证书 +icon: svg:icon-jdcloud +group: jdcloud +desc: 上传证书到SSL数字证书中心 +input: + cert: + title: 域名证书 + helper: 请选择前置任务输出的域名证书 + component: + name: output-selector + from: + - CertApply + - CertApplyLego + - CertApplyUpload + - JDCloudUploadCert + required: true + order: 0 + accessId: + title: Access授权 + helper: 京东云AccessKeyId、AccessKeySecret + component: + name: access-selector + type: jdcloud + required: true + order: 0 + certName: + title: 证书名称前缀 + helper: 证书形成,默认为certd + required: false + order: 0 +output: + jdcloudCertId: + title: 上传成功后的京东云CertId +pluginType: deploy diff --git a/packages/ui/certd-server/src/plugins/plugin-namesilo/access.yaml b/packages/ui/certd-server/src/plugins/plugin-namesilo/access.yaml new file mode 100644 index 00000000..99c601c6 --- /dev/null +++ b/packages/ui/certd-server/src/plugins/plugin-namesilo/access.yaml @@ -0,0 +1,17 @@ +name: namesilo +title: namesilo授权 +desc: '' +icon: simple-icons:namesilo +input: + apiKey: + title: API Key + component: + placeholder: api key + helper: |- + 前往 [获取API Key](https://www.namesilo.com/account/api-manager) + 不要勾选第一项(Generate key for read-only access) + 勾选第二项(Submitting this form...) + 然后点击Generate按钮 + required: true + encrypt: true +pluginType: access diff --git a/packages/ui/certd-server/src/plugins/plugin-namesilo/dns-provider.yaml b/packages/ui/certd-server/src/plugins/plugin-namesilo/dns-provider.yaml new file mode 100644 index 00000000..1d57f14f --- /dev/null +++ b/packages/ui/certd-server/src/plugins/plugin-namesilo/dns-provider.yaml @@ -0,0 +1,6 @@ +name: namesilo +title: namesilo +desc: namesilo dns provider +icon: simple-icons:namesilo +accessType: namesilo +pluginType: dnsProvider diff --git a/packages/ui/certd-server/src/plugins/plugin-namesilo/index.yaml b/packages/ui/certd-server/src/plugins/plugin-namesilo/index.yaml new file mode 100644 index 00000000..1d57f14f --- /dev/null +++ b/packages/ui/certd-server/src/plugins/plugin-namesilo/index.yaml @@ -0,0 +1,6 @@ +name: namesilo +title: namesilo +desc: namesilo dns provider +icon: simple-icons:namesilo +accessType: namesilo +pluginType: dnsProvider diff --git a/packages/ui/certd-server/src/plugins/plugin-notification/anpush/index.yaml b/packages/ui/certd-server/src/plugins/plugin-notification/anpush/index.yaml new file mode 100644 index 00000000..5df16ed1 --- /dev/null +++ b/packages/ui/certd-server/src/plugins/plugin-notification/anpush/index.yaml @@ -0,0 +1,18 @@ +name: anpush +title: AnPush +desc: https://anpush.com +needPlus: true +input: + token: + title: API密钥 + component: + placeholder: '' + helper: '[获取API密钥](https://anpush.com/push/tool) ' + required: true + channel: + title: 通道ID + component: + placeholder: '' + helper: '[获取通道ID](https://anpush.com/push/setting)创建通道,复制通道id,填入此处' + required: true +pluginType: access diff --git a/packages/ui/certd-server/src/plugins/plugin-notification/bark/index.yaml b/packages/ui/certd-server/src/plugins/plugin-notification/bark/index.yaml new file mode 100644 index 00000000..fdff0d4a --- /dev/null +++ b/packages/ui/certd-server/src/plugins/plugin-notification/bark/index.yaml @@ -0,0 +1,19 @@ +name: bark +title: Bark 通知 +desc: Bark 推送通知插件 +needPlus: true +input: + webhook: + title: 服务地址 + component: + placeholder: https://api.day.app/your_key + required: true + helper: 你的bark服务地址+key + skipSslVerify: + title: 忽略证书校验 + value: false + component: + name: a-switch + vModel: checked + required: false +pluginType: access diff --git a/packages/ui/certd-server/src/plugins/plugin-notification/dingtalk/index.yaml b/packages/ui/certd-server/src/plugins/plugin-notification/dingtalk/index.yaml new file mode 100644 index 00000000..5ba2f117 --- /dev/null +++ b/packages/ui/certd-server/src/plugins/plugin-notification/dingtalk/index.yaml @@ -0,0 +1,49 @@ +name: dingtalk +title: 钉钉通知 +desc: 钉钉群聊通知 +needPlus: true +input: + webhook: + title: webhook地址 + component: + placeholder: https://oapi.dingtalk.com/robot/send?access_token=xxxxxxxxxxxxxxx + helper: >- + 钉钉APP->群聊->设置->机器人->添加机器人->自定义->[创建机器人->复制webhook地址](https://open.dingtalk.com/document/robots/custom-robot-access) + required: true + secret: + title: 加签密钥 + component: + placeholder: SECxxxxxxxxxxxxxxxxxxxxx + helper: 必须选择一种安全设置,请选择加密密钥 + required: false + atUserIds: + title: '@用户ID' + component: + placeholder: 非必填,填写完一个按回车 + name: a-select + vModel: value + mode: tags + multiple: true + open: false + helper: 填写要@的用户ID + required: false + atMobiles: + title: '@用户手机号' + component: + placeholder: 非必填,填写一个按回车 + name: a-select + vModel: value + mode: tags + multiple: true + open: false + helper: 填写要@的用户的手机号 + required: false + isAtAll: + title: '@all' + component: + placeholder: 非必填 + name: a-switch + vModel: checked + helper: 是否@所有人 + required: false +pluginType: access diff --git a/packages/ui/certd-server/src/plugins/plugin-notification/discord/index.yaml b/packages/ui/certd-server/src/plugins/plugin-notification/discord/index.yaml new file mode 100644 index 00000000..d7515926 --- /dev/null +++ b/packages/ui/certd-server/src/plugins/plugin-notification/discord/index.yaml @@ -0,0 +1,36 @@ +name: discord +title: Discord 通知 +desc: Discord 机器人通知 +needPlus: true +input: + webhook: + title: Webhook URL + component: + placeholder: https://discord.com/api/webhooks/xxxxx/xxxx + helper: >- + [Discord Webhook + 说明](https://discord.com/developers/docs/resources/webhook#execute-webhook) + required: true + mentionedList: + title: 提醒指定成员 + component: + name: a-select + vModel: value + mode: tags + open: false + required: false + helper: 填写成员的Id,或者角色Id(&id),或者everyone + httpsProxy: + title: 代理 + component: + placeholder: http://xxxxx:xx + helper: 使用https_proxy + required: false + skipSslVerify: + title: 忽略证书校验 + value: false + component: + name: a-switch + vModel: checked + required: false +pluginType: access diff --git a/packages/ui/certd-server/src/plugins/plugin-notification/email/index.yaml b/packages/ui/certd-server/src/plugins/plugin-notification/email/index.yaml new file mode 100644 index 00000000..088ea68d --- /dev/null +++ b/packages/ui/certd-server/src/plugins/plugin-notification/email/index.yaml @@ -0,0 +1,16 @@ +name: email +title: 电子邮件 +desc: 电子邮件通知 +input: + receivers: + title: 收件人邮箱 + component: + name: a-select + vModel: value + mode: tags + open: false + required: true + helper: |- + 可以填写多个,填写一个按回车键再填写下一个 + 需要先[配置邮件服务器](#/sys/settings/email) +pluginType: access diff --git a/packages/ui/certd-server/src/plugins/plugin-notification/feishu/index.yaml b/packages/ui/certd-server/src/plugins/plugin-notification/feishu/index.yaml new file mode 100644 index 00000000..409659ce --- /dev/null +++ b/packages/ui/certd-server/src/plugins/plugin-notification/feishu/index.yaml @@ -0,0 +1,41 @@ +name: feishu +title: 飞书通知 +desc: 飞书群聊webhook通知 +needPlus: true +input: + webhook: + title: webhook地址 + component: + placeholder: https://open.feishu.cn/open-apis/bot/v2/hook/xxxxxxxxxxxxxxxx + helper: >- + 飞书APP->群聊->设置->机器人->添加机器人->自定义webhook->[创建机器人->复制webhook地址](https://open.feishu.cn/document/client-docs/bot-v3/add-custom-bot?lang=zh-CN) + required: true + secret: + title: 加签密钥 + component: + placeholder: SECxxxxxxxxxxxxxxxxxxxxx + helper: 必须选择一种安全设置,建议选择加密密钥 + required: false + atUserIds: + title: '@用户' + component: + placeholder: 非必填,支持多个,填写完一个按回车 + name: a-select + vModel: value + mode: tags + multiple: true + open: false + helper: >- + 填写要@的用户ID:【ou_xxxxxxxxx】 + + 用户ID获取方法,[查看OpenId获取方法](https://open.feishu.cn/document/home/user-identity-introduction/open-id) + required: false + isAtAll: + title: '@all' + component: + placeholder: 非必填 + name: a-switch + vModel: checked + helper: 是否@所有人 + required: false +pluginType: access diff --git a/packages/ui/certd-server/src/plugins/plugin-notification/index.yaml b/packages/ui/certd-server/src/plugins/plugin-notification/index.yaml new file mode 100644 index 00000000..af2f2c3c --- /dev/null +++ b/packages/ui/certd-server/src/plugins/plugin-notification/index.yaml @@ -0,0 +1,73 @@ +name: webhook +title: 自定义webhook +desc: 根据模版自定义http请求 +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 +pluginType: access diff --git a/packages/ui/certd-server/src/plugins/plugin-notification/iyuu/index.yaml b/packages/ui/certd-server/src/plugins/plugin-notification/iyuu/index.yaml new file mode 100644 index 00000000..26327aa1 --- /dev/null +++ b/packages/ui/certd-server/src/plugins/plugin-notification/iyuu/index.yaml @@ -0,0 +1,12 @@ +name: iyuu +title: 爱语飞飞微信通知(iyuu) +desc: https://iyuu.cn/ +needPlus: true +input: + token: + title: Token令牌 + component: + placeholder: '' + helper: https://iyuu.cn/ 微信扫码获取 + required: true +pluginType: access diff --git a/packages/ui/certd-server/src/plugins/plugin-notification/qywx/index.yaml b/packages/ui/certd-server/src/plugins/plugin-notification/qywx/index.yaml new file mode 100644 index 00000000..2134ea87 --- /dev/null +++ b/packages/ui/certd-server/src/plugins/plugin-notification/qywx/index.yaml @@ -0,0 +1,30 @@ +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 为提醒所有人 +pluginType: access diff --git a/packages/ui/certd-server/src/plugins/plugin-notification/serverchan/index.yaml b/packages/ui/certd-server/src/plugins/plugin-notification/serverchan/index.yaml new file mode 100644 index 00000000..2f2da183 --- /dev/null +++ b/packages/ui/certd-server/src/plugins/plugin-notification/serverchan/index.yaml @@ -0,0 +1,35 @@ +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 +pluginType: access diff --git a/packages/ui/certd-server/src/plugins/plugin-notification/serverchan3/index.yaml b/packages/ui/certd-server/src/plugins/plugin-notification/serverchan3/index.yaml new file mode 100644 index 00000000..79cde78e --- /dev/null +++ b/packages/ui/certd-server/src/plugins/plugin-notification/serverchan3/index.yaml @@ -0,0 +1,30 @@ +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 +pluginType: access diff --git a/packages/ui/certd-server/src/plugins/plugin-notification/slack/index.yaml b/packages/ui/certd-server/src/plugins/plugin-notification/slack/index.yaml new file mode 100644 index 00000000..ff869e15 --- /dev/null +++ b/packages/ui/certd-server/src/plugins/plugin-notification/slack/index.yaml @@ -0,0 +1,28 @@ +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 +pluginType: access diff --git a/packages/ui/certd-server/src/plugins/plugin-notification/telegram/index.yaml b/packages/ui/certd-server/src/plugins/plugin-notification/telegram/index.yaml new file mode 100644 index 00000000..93326282 --- /dev/null +++ b/packages/ui/certd-server/src/plugins/plugin-notification/telegram/index.yaml @@ -0,0 +1,37 @@ +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 +pluginType: access diff --git a/packages/ui/certd-server/src/plugins/plugin-notification/vocechat/index.yaml b/packages/ui/certd-server/src/plugins/plugin-notification/vocechat/index.yaml new file mode 100644 index 00000000..09e5c73a --- /dev/null +++ b/packages/ui/certd-server/src/plugins/plugin-notification/vocechat/index.yaml @@ -0,0 +1,41 @@ +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 +pluginType: access diff --git a/packages/ui/certd-server/src/plugins/plugin-notification/webhook/index.yaml b/packages/ui/certd-server/src/plugins/plugin-notification/webhook/index.yaml new file mode 100644 index 00000000..af2f2c3c --- /dev/null +++ b/packages/ui/certd-server/src/plugins/plugin-notification/webhook/index.yaml @@ -0,0 +1,73 @@ +name: webhook +title: 自定义webhook +desc: 根据模版自定义http请求 +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 +pluginType: access diff --git a/packages/ui/certd-server/src/plugins/plugin-other/index.yaml b/packages/ui/certd-server/src/plugins/plugin-other/index.yaml new file mode 100644 index 00000000..59115024 --- /dev/null +++ b/packages/ui/certd-server/src/plugins/plugin-other/index.yaml @@ -0,0 +1,21 @@ +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: {} +pluginType: deploy diff --git a/packages/ui/certd-server/src/plugins/plugin-other/plugins/index.yaml b/packages/ui/certd-server/src/plugins/plugin-other/plugins/index.yaml new file mode 100644 index 00000000..59115024 --- /dev/null +++ b/packages/ui/certd-server/src/plugins/plugin-other/plugins/index.yaml @@ -0,0 +1,21 @@ +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: {} +pluginType: deploy diff --git a/packages/ui/certd-server/src/plugins/plugin-other/plugins/plugin-db-backup.yaml b/packages/ui/certd-server/src/plugins/plugin-other/plugins/plugin-db-backup.yaml new file mode 100644 index 00000000..3b0f0383 --- /dev/null +++ b/packages/ui/certd-server/src/plugins/plugin-other/plugins/plugin-db-backup.yaml @@ -0,0 +1,77 @@ +showRunStrategy: true +default: + strategy: + runStrategy: 0 +name: DBBackupPlugin +title: 数据库备份 +icon: lucide:database-backup +desc: 仅支持备份SQLite数据库 +group: other +needPlus: true +input: + backupMode: + title: 备份方式 + value: local + component: + name: a-select + options: + - label: 本地复制 + value: local + - label: ssh上传 + value: ssh + placeholder: '' + helper: 支持本地复制、ssh上传 + required: true + order: 0 + sshAccessId: + title: 主机登录授权 + component: + name: access-selector + type: ssh + mergeScript: |2- + + return { + show:ctx.compute(({form})=>{ + return form.backupMode === 'ssh'; + }) + } + + required: true + order: 0 + backupDir: + title: 备份保存目录 + component: + name: a-input + type: value + placeholder: 默认certd_backup + helper: ssh方式默认保存在当前用户的certd_backup目录下,本地方式默认保存在data/certd_backup目录下,也可以填写绝对路径 + required: false + order: 0 + filePrefix: + title: 备份文件前缀 + component: + name: a-input + vModel: value + placeholder: 默认db-backup + required: false + order: 0 + withUpload: + title: 附加上传文件 + value: true + component: + name: a-switch + vModel: checked + placeholder: 是否备份上传的头像等文件 + required: false + order: 0 + retainDays: + title: 删除过期备份 + component: + name: a-input-number + vModel: value + placeholder: '20' + helper: 删除多少天前的备份,不填则不删除,windows暂不支持 + required: false + order: 0 +output: {} +pluginType: deploy diff --git a/packages/ui/certd-server/src/plugins/plugin-other/plugins/plugin-restart.yaml b/packages/ui/certd-server/src/plugins/plugin-other/plugins/plugin-restart.yaml new file mode 100644 index 00000000..a712d6d5 --- /dev/null +++ b/packages/ui/certd-server/src/plugins/plugin-other/plugins/plugin-restart.yaml @@ -0,0 +1,12 @@ +showRunStrategy: false +default: + strategy: + runStrategy: 1 +name: RestartCertd +title: 重启 Certd +icon: mdi:restart +desc: 【仅管理员可用】 重启 certd的https服务,用于更新 Certd 的 ssl 证书 +group: other +input: {} +output: {} +pluginType: deploy diff --git a/packages/ui/certd-server/src/plugins/plugin-other/plugins/plugin-script.yaml b/packages/ui/certd-server/src/plugins/plugin-other/plugins/plugin-script.yaml new file mode 100644 index 00000000..d34b7c33 --- /dev/null +++ b/packages/ui/certd-server/src/plugins/plugin-other/plugins/plugin-script.yaml @@ -0,0 +1,33 @@ +showRunStrategy: true +default: + strategy: + runStrategy: 1 +name: CustomScript +title: 自定义js脚本 +icon: ri:javascript-line +desc: 【仅管理员】运行自定义js脚本执行 +group: other +input: + script: + title: 脚本 + helper: 自定义js脚本,[脚本编写帮助文档](https://certd.docmirror.cn/guide/use/custom-script/) + component: + name: a-textarea + vModel: value + rows: 10 + style: 'background-color: #000c17;color: #fafafa;' + required: true + order: 0 + cert: + title: 域名证书 + helper: 请选择前置任务输出的域名证书 + component: + name: output-selector + from: + - CertApply + - CertApplyLego + - CertApplyUpload + required: false + order: 0 +output: {} +pluginType: deploy diff --git a/packages/ui/certd-server/src/plugins/plugin-other/plugins/plugin-wait.yaml b/packages/ui/certd-server/src/plugins/plugin-other/plugins/plugin-wait.yaml new file mode 100644 index 00000000..59115024 --- /dev/null +++ b/packages/ui/certd-server/src/plugins/plugin-other/plugins/plugin-wait.yaml @@ -0,0 +1,21 @@ +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: {} +pluginType: deploy diff --git a/packages/ui/certd-server/src/plugins/plugin-proxmox/access.yaml b/packages/ui/certd-server/src/plugins/plugin-proxmox/access.yaml new file mode 100644 index 00000000..d4b60f46 --- /dev/null +++ b/packages/ui/certd-server/src/plugins/plugin-proxmox/access.yaml @@ -0,0 +1,32 @@ +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 +pluginType: access diff --git a/packages/ui/certd-server/src/plugins/plugin-proxmox/index.yaml b/packages/ui/certd-server/src/plugins/plugin-proxmox/index.yaml new file mode 100644 index 00000000..4ed88b19 --- /dev/null +++ b/packages/ui/certd-server/src/plugins/plugin-proxmox/index.yaml @@ -0,0 +1,55 @@ +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: + - CertApply + - CertApplyLego + - CertApplyUpload + 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 + watches: + - certDomains + - accessId + - accessId + required: true + mergeScript: |2- + + return { + component:{ + form: ctx.compute(({form})=>{ + return form + }) + }, + } + + helper: 要部署证书的节点 + order: 0 +output: {} +pluginType: deploy diff --git a/packages/ui/certd-server/src/plugins/plugin-proxmox/plugins/index.yaml b/packages/ui/certd-server/src/plugins/plugin-proxmox/plugins/index.yaml new file mode 100644 index 00000000..4ed88b19 --- /dev/null +++ b/packages/ui/certd-server/src/plugins/plugin-proxmox/plugins/index.yaml @@ -0,0 +1,55 @@ +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: + - CertApply + - CertApplyLego + - CertApplyUpload + 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 + watches: + - certDomains + - accessId + - accessId + required: true + mergeScript: |2- + + return { + component:{ + form: ctx.compute(({form})=>{ + return form + }) + }, + } + + helper: 要部署证书的节点 + order: 0 +output: {} +pluginType: deploy diff --git a/packages/ui/certd-server/src/plugins/plugin-proxmox/plugins/plugin-upload.yaml b/packages/ui/certd-server/src/plugins/plugin-proxmox/plugins/plugin-upload.yaml new file mode 100644 index 00000000..4ed88b19 --- /dev/null +++ b/packages/ui/certd-server/src/plugins/plugin-proxmox/plugins/plugin-upload.yaml @@ -0,0 +1,55 @@ +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: + - CertApply + - CertApplyLego + - CertApplyUpload + 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 + watches: + - certDomains + - accessId + - accessId + required: true + mergeScript: |2- + + return { + component:{ + form: ctx.compute(({form})=>{ + return form + }) + }, + } + + helper: 要部署证书的节点 + order: 0 +output: {} +pluginType: deploy diff --git a/packages/ui/certd-server/src/plugins/plugin-qiniu/index.yaml b/packages/ui/certd-server/src/plugins/plugin-qiniu/index.yaml new file mode 100644 index 00000000..0e37a355 --- /dev/null +++ b/packages/ui/certd-server/src/plugins/plugin-qiniu/index.yaml @@ -0,0 +1,75 @@ +showRunStrategy: false +default: + strategy: + runStrategy: 1 +name: QiniuDeployCertToCDN +title: 七牛云-部署证书至CDN +icon: svg:icon-qiniuyun +group: qiniu +desc: 自动部署域名证书至七牛云CDN +input: + cert: + title: 域名证书 + helper: 请选择前置任务输出的域名证书,或者上传到七牛云的证书id + component: + name: output-selector + from: + - CertApply + - CertApplyLego + - CertApplyUpload + - QiniuCertUpload + required: true + order: 0 + certDomains: + title: 当前证书域名 + component: + name: cert-domains-getter + mergeScript: |2- + + return { + component:{ + inputKey: ctx.compute(({form})=>{ + return form.cert + }), + } + } + + 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 + 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: {} +pluginType: deploy diff --git a/packages/ui/certd-server/src/plugins/plugin-qiniu/plugin/deploy-to-cdn/index.yaml b/packages/ui/certd-server/src/plugins/plugin-qiniu/plugin/deploy-to-cdn/index.yaml new file mode 100644 index 00000000..0e37a355 --- /dev/null +++ b/packages/ui/certd-server/src/plugins/plugin-qiniu/plugin/deploy-to-cdn/index.yaml @@ -0,0 +1,75 @@ +showRunStrategy: false +default: + strategy: + runStrategy: 1 +name: QiniuDeployCertToCDN +title: 七牛云-部署证书至CDN +icon: svg:icon-qiniuyun +group: qiniu +desc: 自动部署域名证书至七牛云CDN +input: + cert: + title: 域名证书 + helper: 请选择前置任务输出的域名证书,或者上传到七牛云的证书id + component: + name: output-selector + from: + - CertApply + - CertApplyLego + - CertApplyUpload + - QiniuCertUpload + required: true + order: 0 + certDomains: + title: 当前证书域名 + component: + name: cert-domains-getter + mergeScript: |2- + + return { + component:{ + inputKey: ctx.compute(({form})=>{ + return form.cert + }), + } + } + + 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 + 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: {} +pluginType: deploy diff --git a/packages/ui/certd-server/src/plugins/plugin-qiniu/plugin/index.yaml b/packages/ui/certd-server/src/plugins/plugin-qiniu/plugin/index.yaml new file mode 100644 index 00000000..0e37a355 --- /dev/null +++ b/packages/ui/certd-server/src/plugins/plugin-qiniu/plugin/index.yaml @@ -0,0 +1,75 @@ +showRunStrategy: false +default: + strategy: + runStrategy: 1 +name: QiniuDeployCertToCDN +title: 七牛云-部署证书至CDN +icon: svg:icon-qiniuyun +group: qiniu +desc: 自动部署域名证书至七牛云CDN +input: + cert: + title: 域名证书 + helper: 请选择前置任务输出的域名证书,或者上传到七牛云的证书id + component: + name: output-selector + from: + - CertApply + - CertApplyLego + - CertApplyUpload + - QiniuCertUpload + required: true + order: 0 + certDomains: + title: 当前证书域名 + component: + name: cert-domains-getter + mergeScript: |2- + + return { + component:{ + inputKey: ctx.compute(({form})=>{ + return form.cert + }), + } + } + + 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 + 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: {} +pluginType: deploy diff --git a/packages/ui/certd-server/src/plugins/plugin-qiniu/plugin/upload-cert/index.yaml b/packages/ui/certd-server/src/plugins/plugin-qiniu/plugin/upload-cert/index.yaml new file mode 100644 index 00000000..77fd2195 --- /dev/null +++ b/packages/ui/certd-server/src/plugins/plugin-qiniu/plugin/upload-cert/index.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: + - CertApply + - CertApplyLego + - CertApplyUpload + required: true + order: 0 + accessId: + title: Access授权 + helper: 七牛云授权 + component: + name: access-selector + type: qiniu + required: true + order: 0 +output: + qiniuCertId: + title: 上传成功后的七牛云CertId +pluginType: deploy diff --git a/packages/ui/certd-server/src/plugins/plugin-qnap/index.yaml b/packages/ui/certd-server/src/plugins/plugin-qnap/index.yaml new file mode 100644 index 00000000..14c0ec28 --- /dev/null +++ b/packages/ui/certd-server/src/plugins/plugin-qnap/index.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: + - CertApply + - CertApplyLego + - CertApplyUpload + required: true + order: 0 + accessId: + title: ssh登录授权 + helper: ssh登录授权 + component: + name: access-selector + type: ssh + required: true + order: 0 +output: {} +pluginType: deploy diff --git a/packages/ui/certd-server/src/plugins/plugin-qnap/plugins/index.yaml b/packages/ui/certd-server/src/plugins/plugin-qnap/plugins/index.yaml new file mode 100644 index 00000000..14c0ec28 --- /dev/null +++ b/packages/ui/certd-server/src/plugins/plugin-qnap/plugins/index.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: + - CertApply + - CertApplyLego + - CertApplyUpload + required: true + order: 0 + accessId: + title: ssh登录授权 + helper: ssh登录授权 + component: + name: access-selector + type: ssh + required: true + order: 0 +output: {} +pluginType: deploy diff --git a/packages/ui/certd-server/src/plugins/plugin-qnap/plugins/plugin-qnap.yaml b/packages/ui/certd-server/src/plugins/plugin-qnap/plugins/plugin-qnap.yaml new file mode 100644 index 00000000..14c0ec28 --- /dev/null +++ b/packages/ui/certd-server/src/plugins/plugin-qnap/plugins/plugin-qnap.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: + - CertApply + - CertApplyLego + - CertApplyUpload + required: true + order: 0 + accessId: + title: ssh登录授权 + helper: ssh登录授权 + component: + name: access-selector + type: ssh + required: true + order: 0 +output: {} +pluginType: deploy diff --git a/packages/ui/certd-server/src/plugins/plugin-tencent/access/dnspod-access.yaml b/packages/ui/certd-server/src/plugins/plugin-tencent/access/dnspod-access.yaml new file mode 100644 index 00000000..08a6ab72 --- /dev/null +++ b/packages/ui/certd-server/src/plugins/plugin-tencent/access/dnspod-access.yaml @@ -0,0 +1,36 @@ +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: 该项必填 +pluginType: access diff --git a/packages/ui/certd-server/src/plugins/plugin-tencent/access/index.yaml b/packages/ui/certd-server/src/plugins/plugin-tencent/access/index.yaml new file mode 100644 index 00000000..08a6ab72 --- /dev/null +++ b/packages/ui/certd-server/src/plugins/plugin-tencent/access/index.yaml @@ -0,0 +1,36 @@ +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: 该项必填 +pluginType: access diff --git a/packages/ui/certd-server/src/plugins/plugin-tencent/dns-provider/dnspod-dns-provider.yaml b/packages/ui/certd-server/src/plugins/plugin-tencent/dns-provider/dnspod-dns-provider.yaml new file mode 100644 index 00000000..e98b8f44 --- /dev/null +++ b/packages/ui/certd-server/src/plugins/plugin-tencent/dns-provider/dnspod-dns-provider.yaml @@ -0,0 +1,7 @@ +name: dnspod +title: dnspod(已过时,请尽快换成腾讯云) +desc: 已废弃,请尽快换成腾讯云类型 +accessType: dnspod +deprecated: dnspod已废弃,请换成腾讯云 +icon: svg:icon-tencentcloud +pluginType: dnsProvider diff --git a/packages/ui/certd-server/src/plugins/plugin-tencent/dns-provider/tencent-dns-provider.yaml b/packages/ui/certd-server/src/plugins/plugin-tencent/dns-provider/tencent-dns-provider.yaml new file mode 100644 index 00000000..a8c25a61 --- /dev/null +++ b/packages/ui/certd-server/src/plugins/plugin-tencent/dns-provider/tencent-dns-provider.yaml @@ -0,0 +1,6 @@ +name: tencent +title: 腾讯云 +desc: 腾讯云域名DNS解析提供者 +accessType: tencent +icon: svg:icon-tencentcloud +pluginType: dnsProvider diff --git a/packages/ui/certd-server/src/plugins/plugin-tencent/index.yaml b/packages/ui/certd-server/src/plugins/plugin-tencent/index.yaml new file mode 100644 index 00000000..bd74f9f0 --- /dev/null +++ b/packages/ui/certd-server/src/plugins/plugin-tencent/index.yaml @@ -0,0 +1,36 @@ +showRunStrategy: false +default: + strategy: + runStrategy: 1 +name: UploadCertToTencent +title: 腾讯云-上传证书到腾讯云 +icon: svg:icon-tencentcloud +desc: 上传成功后输出:tencentCertId +group: tencent +input: + name: + title: 证书名称 + order: 0 + accessId: + title: Access授权 + helper: access授权 + component: + name: access-selector + type: tencent + required: true + order: 0 + cert: + title: 域名证书 + helper: 请选择前置任务输出的域名证书 + component: + name: output-selector + from: + - CertApply + - CertApplyLego + - CertApplyUpload + required: true + order: 0 +output: + tencentCertId: + title: 上传成功后的腾讯云CertId +pluginType: deploy diff --git a/packages/ui/certd-server/src/plugins/plugin-tencent/plugin/delete-expiring-cert/index.yaml b/packages/ui/certd-server/src/plugins/plugin-tencent/plugin/delete-expiring-cert/index.yaml new file mode 100644 index 00000000..69b45ffd --- /dev/null +++ b/packages/ui/certd-server/src/plugins/plugin-tencent/plugin/delete-expiring-cert/index.yaml @@ -0,0 +1,59 @@ +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: >- + 仅删除有效期小于此天数的证书, + + 注意:`1.26.14`版本之前Certd创建的证书流水线默认是到期前20天才更新证书,需要将之前创建的证书申请任务的更新天数改为35天,保证删除之前就已经替换掉即将过期证书 + value: 30 + 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: {} +pluginType: deploy diff --git a/packages/ui/certd-server/src/plugins/plugin-tencent/plugin/deploy-to-all/index.yaml b/packages/ui/certd-server/src/plugins/plugin-tencent/plugin/deploy-to-all/index.yaml new file mode 100644 index 00000000..68e7d476 --- /dev/null +++ b/packages/ui/certd-server/src/plugins/plugin-tencent/plugin/deploy-to-all/index.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: + - CertApply + - CertApplyLego + - CertApplyUpload + - 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: {} +pluginType: deploy diff --git a/packages/ui/certd-server/src/plugins/plugin-tencent/plugin/deploy-to-cdn-v2/index.yaml b/packages/ui/certd-server/src/plugins/plugin-tencent/plugin/deploy-to-cdn-v2/index.yaml new file mode 100644 index 00000000..fdaf6c7c --- /dev/null +++ b/packages/ui/certd-server/src/plugins/plugin-tencent/plugin/deploy-to-cdn-v2/index.yaml @@ -0,0 +1,57 @@ +showRunStrategy: false +default: + strategy: + runStrategy: 1 +name: TencentDeployCertToCDNv2 +title: 腾讯云-部署到CDN-v2 +icon: svg:icon-tencentcloud +group: tencent +desc: 推荐使用 +input: + 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 + 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: + - CertApply + - CertApplyLego + - CertApplyUpload + - UploadCertToTencent + required: true + order: 0 +output: {} +pluginType: deploy diff --git a/packages/ui/certd-server/src/plugins/plugin-tencent/plugin/deploy-to-cdn/index.yaml b/packages/ui/certd-server/src/plugins/plugin-tencent/plugin/deploy-to-cdn/index.yaml new file mode 100644 index 00000000..43632cc7 --- /dev/null +++ b/packages/ui/certd-server/src/plugins/plugin-tencent/plugin/deploy-to-cdn/index.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: + - CertApply + - CertApplyLego + - CertApplyUpload + 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: {} +pluginType: deploy diff --git a/packages/ui/certd-server/src/plugins/plugin-tencent/plugin/deploy-to-clb/index.yaml b/packages/ui/certd-server/src/plugins/plugin-tencent/plugin/deploy-to-clb/index.yaml new file mode 100644 index 00000000..a820fae6 --- /dev/null +++ b/packages/ui/certd-server/src/plugins/plugin-tencent/plugin/deploy-to-clb/index.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: + - CertApply + - CertApplyLego + - CertApplyUpload + required: true + order: 0 + accessId: + title: Access提供者 + helper: access授权 + component: + name: access-selector + type: tencent + required: true + order: 0 +output: {} +pluginType: deploy diff --git a/packages/ui/certd-server/src/plugins/plugin-tencent/plugin/deploy-to-cos/index.yaml b/packages/ui/certd-server/src/plugins/plugin-tencent/plugin/deploy-to-cos/index.yaml new file mode 100644 index 00000000..8baadb32 --- /dev/null +++ b/packages/ui/certd-server/src/plugins/plugin-tencent/plugin/deploy-to-cos/index.yaml @@ -0,0 +1,120 @@ +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 + 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: + - CertApply + - CertApplyLego + - CertApplyUpload + - UploadCertToTencent + required: true + order: 0 +output: {} +pluginType: deploy diff --git a/packages/ui/certd-server/src/plugins/plugin-tencent/plugin/deploy-to-eo/index.yaml b/packages/ui/certd-server/src/plugins/plugin-tencent/plugin/deploy-to-eo/index.yaml new file mode 100644 index 00000000..503376da --- /dev/null +++ b/packages/ui/certd-server/src/plugins/plugin-tencent/plugin/deploy-to-eo/index.yaml @@ -0,0 +1,49 @@ +showRunStrategy: false +default: + strategy: + runStrategy: 1 +name: DeployCertToTencentEO +title: 腾讯云-部署到腾讯云EO +icon: svg:icon-tencentcloud +desc: 腾讯云边缘安全加速平台EO,必须配置上传证书到腾讯云任务 +group: tencent +input: + certId: + title: 已上传证书ID + helper: 请选择前置任务上传到腾讯云的证书 + component: + name: output-selector + from: UploadCertToTencent + required: true + order: 0 + accessId: + title: Access提供者 + helper: access 授权 + component: + name: access-selector + type: tencent + required: true + order: 0 + zoneId: + title: 站点ID + helper: 类似于zone-xxxx的字符串,在站点概览页面左上角,或者,站点列表页面站点名称下方 + required: true + order: 0 + certName: + title: 证书名称 + helper: 证书上传后将以此参数作为名称前缀 + order: 0 + domainNames: + title: cdn加速域名 + component: + name: a-select + vModel: value + mode: tags + open: false + helper: 支持多个域名 + rules: + - required: true + message: 该项必填 + order: 0 +output: {} +pluginType: deploy diff --git a/packages/ui/certd-server/src/plugins/plugin-tencent/plugin/deploy-to-live/index.yaml b/packages/ui/certd-server/src/plugins/plugin-tencent/plugin/deploy-to-live/index.yaml new file mode 100644 index 00000000..752cca59 --- /dev/null +++ b/packages/ui/certd-server/src/plugins/plugin-tencent/plugin/deploy-to-live/index.yaml @@ -0,0 +1,58 @@ +showRunStrategy: false +default: + strategy: + runStrategy: 1 +name: TencentDeployCertToLive +title: 腾讯云-部署到腾讯云直播 +icon: svg:icon-tencentcloud +desc: https://console.cloud.tencent.com/live/ +group: tencent +needPlus: true +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 + 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: + - CertApply + - CertApplyLego + - CertApplyUpload + - UploadCertToTencent + required: true + order: 0 +output: {} +pluginType: deploy diff --git a/packages/ui/certd-server/src/plugins/plugin-tencent/plugin/deploy-to-tke-ingress/index.yaml b/packages/ui/certd-server/src/plugins/plugin-tencent/plugin/deploy-to-tke-ingress/index.yaml new file mode 100644 index 00000000..84996138 --- /dev/null +++ b/packages/ui/certd-server/src/plugins/plugin-tencent/plugin/deploy-to-tke-ingress/index.yaml @@ -0,0 +1,94 @@ +showRunStrategy: false +default: + strategy: + runStrategy: 1 +name: DeployCertToTencentTKEIngress +title: 腾讯云-部署到TKE-ingress +needPlus: true +icon: svg:icon-tencentcloud +group: tencent +desc: serverless集群请使用K8S部署插件;Qcloud类型需要【上传到腾讯云】作为前置任务;ApiServer未开启外网访问则需要做域名的内网IP映射 +input: + 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名称 + required: true + order: 0 + ingressName: + title: ingress名称 + required: true + order: 0 + ingressClass: + title: ingress类型 + component: + name: a-auto-complete + vModel: value + options: + - value: qcloud + - value: nginx + helper: 可选 qcloud / nginx + order: 0 + clusterDomain: + title: 集群域名 + helper: 可不填,默认为:[clusterId].ccs.tencent-cloud.com + order: 0 + accessId: + title: Access授权 + helper: access授权 + component: + name: access-selector + type: tencent + 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" + }) + } + + required: true + order: 0 + cert: + title: 域名证书 + helper: 请选择前置任务输出的域名证书 + component: + name: output-selector + from: + - CertApply + - CertApplyLego + - CertApplyUpload + mergeScript: |2- + + return { + show: ctx.compute(({form})=>{ + return form.ingressClass === "nginx" + }) + } + + required: true + order: 0 +output: {} +pluginType: deploy diff --git a/packages/ui/certd-server/src/plugins/plugin-tencent/plugin/index.yaml b/packages/ui/certd-server/src/plugins/plugin-tencent/plugin/index.yaml new file mode 100644 index 00000000..bd74f9f0 --- /dev/null +++ b/packages/ui/certd-server/src/plugins/plugin-tencent/plugin/index.yaml @@ -0,0 +1,36 @@ +showRunStrategy: false +default: + strategy: + runStrategy: 1 +name: UploadCertToTencent +title: 腾讯云-上传证书到腾讯云 +icon: svg:icon-tencentcloud +desc: 上传成功后输出:tencentCertId +group: tencent +input: + name: + title: 证书名称 + order: 0 + accessId: + title: Access授权 + helper: access授权 + component: + name: access-selector + type: tencent + required: true + order: 0 + cert: + title: 域名证书 + helper: 请选择前置任务输出的域名证书 + component: + name: output-selector + from: + - CertApply + - CertApplyLego + - CertApplyUpload + required: true + order: 0 +output: + tencentCertId: + title: 上传成功后的腾讯云CertId +pluginType: deploy diff --git a/packages/ui/certd-server/src/plugins/plugin-tencent/plugin/start-instances/index.yaml b/packages/ui/certd-server/src/plugins/plugin-tencent/plugin/start-instances/index.yaml new file mode 100644 index 00000000..603c4d8c --- /dev/null +++ b/packages/ui/certd-server/src/plugins/plugin-tencent/plugin/start-instances/index.yaml @@ -0,0 +1,133 @@ +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 + 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: {} +pluginType: deploy diff --git a/packages/ui/certd-server/src/plugins/plugin-tencent/plugin/upload-to-tencent/index.yaml b/packages/ui/certd-server/src/plugins/plugin-tencent/plugin/upload-to-tencent/index.yaml new file mode 100644 index 00000000..bd74f9f0 --- /dev/null +++ b/packages/ui/certd-server/src/plugins/plugin-tencent/plugin/upload-to-tencent/index.yaml @@ -0,0 +1,36 @@ +showRunStrategy: false +default: + strategy: + runStrategy: 1 +name: UploadCertToTencent +title: 腾讯云-上传证书到腾讯云 +icon: svg:icon-tencentcloud +desc: 上传成功后输出:tencentCertId +group: tencent +input: + name: + title: 证书名称 + order: 0 + accessId: + title: Access授权 + helper: access授权 + component: + name: access-selector + type: tencent + required: true + order: 0 + cert: + title: 域名证书 + helper: 请选择前置任务输出的域名证书 + component: + name: output-selector + from: + - CertApply + - CertApplyLego + - CertApplyUpload + required: true + order: 0 +output: + tencentCertId: + title: 上传成功后的腾讯云CertId +pluginType: deploy diff --git a/packages/ui/certd-server/src/plugins/plugin-upyun/access.yaml b/packages/ui/certd-server/src/plugins/plugin-upyun/access.yaml new file mode 100644 index 00000000..729df34a --- /dev/null +++ b/packages/ui/certd-server/src/plugins/plugin-upyun/access.yaml @@ -0,0 +1,17 @@ +name: upyun +title: 又拍云 +desc: '' +icon: svg:icon-upyun +input: + username: + title: 账号 + component: + placeholder: 又拍云账号 + required: true + password: + title: 密码 + component: + placeholder: 又拍云密码 + required: true + encrypt: true +pluginType: access diff --git a/packages/ui/certd-server/src/plugins/plugin-upyun/index.yaml b/packages/ui/certd-server/src/plugins/plugin-upyun/index.yaml new file mode 100644 index 00000000..26e64a00 --- /dev/null +++ b/packages/ui/certd-server/src/plugins/plugin-upyun/index.yaml @@ -0,0 +1,102 @@ +showRunStrategy: false +default: + strategy: + runStrategy: 1 +name: UpyunDeployToCdn +title: 又拍云-部署证书到CDN/USS +icon: svg:icon-upyun +desc: 支持又拍云CDN,又拍云云存储USS +group: cdn +needPlus: true +input: + cert: + title: 域名证书 + helper: 请选择前置任务输出的域名证书 + component: + name: output-selector + from: + - CertApply + - CertApplyLego + - CertApplyUpload + order: 0 + certDomains: + title: 当前证书域名 + component: + name: cert-domains-getter + mergeScript: |2- + + return { + component:{ + inputKey: ctx.compute(({form})=>{ + return form.cert + }), + } + } + + 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 + 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: {} +pluginType: deploy diff --git a/packages/ui/certd-server/src/plugins/plugin-upyun/plugins/index.yaml b/packages/ui/certd-server/src/plugins/plugin-upyun/plugins/index.yaml new file mode 100644 index 00000000..26e64a00 --- /dev/null +++ b/packages/ui/certd-server/src/plugins/plugin-upyun/plugins/index.yaml @@ -0,0 +1,102 @@ +showRunStrategy: false +default: + strategy: + runStrategy: 1 +name: UpyunDeployToCdn +title: 又拍云-部署证书到CDN/USS +icon: svg:icon-upyun +desc: 支持又拍云CDN,又拍云云存储USS +group: cdn +needPlus: true +input: + cert: + title: 域名证书 + helper: 请选择前置任务输出的域名证书 + component: + name: output-selector + from: + - CertApply + - CertApplyLego + - CertApplyUpload + order: 0 + certDomains: + title: 当前证书域名 + component: + name: cert-domains-getter + mergeScript: |2- + + return { + component:{ + inputKey: ctx.compute(({form})=>{ + return form.cert + }), + } + } + + 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 + 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: {} +pluginType: deploy diff --git a/packages/ui/certd-server/src/plugins/plugin-upyun/plugins/plugin-depoy-to-cdn.yaml b/packages/ui/certd-server/src/plugins/plugin-upyun/plugins/plugin-depoy-to-cdn.yaml new file mode 100644 index 00000000..26e64a00 --- /dev/null +++ b/packages/ui/certd-server/src/plugins/plugin-upyun/plugins/plugin-depoy-to-cdn.yaml @@ -0,0 +1,102 @@ +showRunStrategy: false +default: + strategy: + runStrategy: 1 +name: UpyunDeployToCdn +title: 又拍云-部署证书到CDN/USS +icon: svg:icon-upyun +desc: 支持又拍云CDN,又拍云云存储USS +group: cdn +needPlus: true +input: + cert: + title: 域名证书 + helper: 请选择前置任务输出的域名证书 + component: + name: output-selector + from: + - CertApply + - CertApplyLego + - CertApplyUpload + order: 0 + certDomains: + title: 当前证书域名 + component: + name: cert-domains-getter + mergeScript: |2- + + return { + component:{ + inputKey: ctx.compute(({form})=>{ + return form.cert + }), + } + } + + 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 + 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: {} +pluginType: deploy diff --git a/packages/ui/certd-server/src/plugins/plugin-volcengine/access.yaml b/packages/ui/certd-server/src/plugins/plugin-volcengine/access.yaml new file mode 100644 index 00000000..b6d7a0e5 --- /dev/null +++ b/packages/ui/certd-server/src/plugins/plugin-volcengine/access.yaml @@ -0,0 +1,18 @@ +name: volcengine +title: 火山引擎 +desc: '' +icon: svg:icon-volcengine +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 +pluginType: access diff --git a/packages/ui/certd-server/src/plugins/plugin-volcengine/index.yaml b/packages/ui/certd-server/src/plugins/plugin-volcengine/index.yaml new file mode 100644 index 00000000..2be1652d --- /dev/null +++ b/packages/ui/certd-server/src/plugins/plugin-volcengine/index.yaml @@ -0,0 +1,6 @@ +name: volcengine +title: 火山引擎 +desc: 火山引擎DNS解析提供商 +accessType: volcengine +icon: svg:icon-volcengine +pluginType: dnsProvider diff --git a/packages/ui/certd-server/src/plugins/plugin-volcengine/plugins/index.yaml b/packages/ui/certd-server/src/plugins/plugin-volcengine/plugins/index.yaml new file mode 100644 index 00000000..e081e986 --- /dev/null +++ b/packages/ui/certd-server/src/plugins/plugin-volcengine/plugins/index.yaml @@ -0,0 +1,90 @@ +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: + - CertApply + - CertApplyLego + - CertApplyUpload + - VolcengineUploadCert + required: true + order: 0 + certDomains: + title: 当前证书域名 + component: + name: cert-domains-getter + mergeScript: |2- + + return { + component:{ + inputKey: ctx.compute(({form})=>{ + return form.cert + }), + } + } + + 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 + 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: {} +pluginType: deploy diff --git a/packages/ui/certd-server/src/plugins/plugin-volcengine/plugins/plugin-deploy-to-cdn.yaml b/packages/ui/certd-server/src/plugins/plugin-volcengine/plugins/plugin-deploy-to-cdn.yaml new file mode 100644 index 00000000..e081e986 --- /dev/null +++ b/packages/ui/certd-server/src/plugins/plugin-volcengine/plugins/plugin-deploy-to-cdn.yaml @@ -0,0 +1,90 @@ +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: + - CertApply + - CertApplyLego + - CertApplyUpload + - VolcengineUploadCert + required: true + order: 0 + certDomains: + title: 当前证书域名 + component: + name: cert-domains-getter + mergeScript: |2- + + return { + component:{ + inputKey: ctx.compute(({form})=>{ + return form.cert + }), + } + } + + 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 + 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: {} +pluginType: deploy diff --git a/packages/ui/certd-server/src/plugins/plugin-volcengine/volcengine-dns-provider.yaml b/packages/ui/certd-server/src/plugins/plugin-volcengine/volcengine-dns-provider.yaml new file mode 100644 index 00000000..2be1652d --- /dev/null +++ b/packages/ui/certd-server/src/plugins/plugin-volcengine/volcengine-dns-provider.yaml @@ -0,0 +1,6 @@ +name: volcengine +title: 火山引擎 +desc: 火山引擎DNS解析提供商 +accessType: volcengine +icon: svg:icon-volcengine +pluginType: dnsProvider diff --git a/packages/ui/certd-server/src/plugins/plugin-west/access.yaml b/packages/ui/certd-server/src/plugins/plugin-west/access.yaml new file mode 100644 index 00000000..b0ac031b --- /dev/null +++ b/packages/ui/certd-server/src/plugins/plugin-west/access.yaml @@ -0,0 +1,65 @@ +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,对整个账户都有管理权限 + 前往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' + }) + } + +pluginType: access diff --git a/packages/ui/certd-server/src/plugins/plugin-west/dns-provider.yaml b/packages/ui/certd-server/src/plugins/plugin-west/dns-provider.yaml new file mode 100644 index 00000000..5f90bfbb --- /dev/null +++ b/packages/ui/certd-server/src/plugins/plugin-west/dns-provider.yaml @@ -0,0 +1,6 @@ +name: west +title: 西部数码 +desc: west dns provider +icon: svg:icon-xibushuma +accessType: west +pluginType: dnsProvider diff --git a/packages/ui/certd-server/src/plugins/plugin-west/index.yaml b/packages/ui/certd-server/src/plugins/plugin-west/index.yaml new file mode 100644 index 00000000..5f90bfbb --- /dev/null +++ b/packages/ui/certd-server/src/plugins/plugin-west/index.yaml @@ -0,0 +1,6 @@ +name: west +title: 西部数码 +desc: west dns provider +icon: svg:icon-xibushuma +accessType: west +pluginType: dnsProvider diff --git a/packages/ui/certd-server/src/plugins/plugin-woai/access.yaml b/packages/ui/certd-server/src/plugins/plugin-woai/access.yaml new file mode 100644 index 00000000..8cc1a4d4 --- /dev/null +++ b/packages/ui/certd-server/src/plugins/plugin-woai/access.yaml @@ -0,0 +1,17 @@ +name: woai +title: 我爱云授权 +desc: 我爱云CDN +icon: clarity:plugin-line +input: + username: + title: 账号 + component: + placeholder: 我爱云的账号 + required: true + password: + title: 密码 + component: + placeholder: 我爱云的密码 + required: true + encrypt: true +pluginType: access diff --git a/packages/ui/certd-server/src/plugins/plugin-woai/index.yaml b/packages/ui/certd-server/src/plugins/plugin-woai/index.yaml new file mode 100644 index 00000000..74cc133f --- /dev/null +++ b/packages/ui/certd-server/src/plugins/plugin-woai/index.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.sxhjgy.cn) 末尾请不要携带`/` + component: + name: a-input + required: false + order: 0 + certId: + title: 证书ID + helper: 请填写 [证书列表](https://console.edge.sxhjgy.cn/site/certificate) 中的证书的ID + component: + name: a-input + required: true + order: 0 + cert: + title: 域名证书 + helper: 请选择前置任务输出的域名证书 + component: + name: output-selector + from: + - CertApply + - CertApplyLego + - CertApplyUpload + required: true + order: 0 + accessId: + title: Access授权 + helper: 我爱云的用户、密码授权 + component: + name: access-selector + type: woai + required: true + order: 0 +output: {} +pluginType: deploy diff --git a/packages/ui/certd-server/src/plugins/plugin-woai/plugins/index.yaml b/packages/ui/certd-server/src/plugins/plugin-woai/plugins/index.yaml new file mode 100644 index 00000000..74cc133f --- /dev/null +++ b/packages/ui/certd-server/src/plugins/plugin-woai/plugins/index.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.sxhjgy.cn) 末尾请不要携带`/` + component: + name: a-input + required: false + order: 0 + certId: + title: 证书ID + helper: 请填写 [证书列表](https://console.edge.sxhjgy.cn/site/certificate) 中的证书的ID + component: + name: a-input + required: true + order: 0 + cert: + title: 域名证书 + helper: 请选择前置任务输出的域名证书 + component: + name: output-selector + from: + - CertApply + - CertApplyLego + - CertApplyUpload + required: true + order: 0 + accessId: + title: Access授权 + helper: 我爱云的用户、密码授权 + component: + name: access-selector + type: woai + required: true + order: 0 +output: {} +pluginType: deploy diff --git a/packages/ui/certd-server/src/plugins/plugin-woai/plugins/plugin-deploy-to-cdn.yaml b/packages/ui/certd-server/src/plugins/plugin-woai/plugins/plugin-deploy-to-cdn.yaml new file mode 100644 index 00000000..74cc133f --- /dev/null +++ b/packages/ui/certd-server/src/plugins/plugin-woai/plugins/plugin-deploy-to-cdn.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.sxhjgy.cn) 末尾请不要携带`/` + component: + name: a-input + required: false + order: 0 + certId: + title: 证书ID + helper: 请填写 [证书列表](https://console.edge.sxhjgy.cn/site/certificate) 中的证书的ID + component: + name: a-input + required: true + order: 0 + cert: + title: 域名证书 + helper: 请选择前置任务输出的域名证书 + component: + name: output-selector + from: + - CertApply + - CertApplyLego + - CertApplyUpload + required: true + order: 0 + accessId: + title: Access授权 + helper: 我爱云的用户、密码授权 + component: + name: access-selector + type: woai + required: true + order: 0 +output: {} +pluginType: deploy