From 91ffb0820a0b91ff2ced7b4ec6c6ca0b3dc34eba Mon Sep 17 00:00:00 2001 From: xiaojunnuo Date: Tue, 15 Apr 2025 00:16:57 +0800 Subject: [PATCH 01/15] =?UTF-8?q?chore:=20plugin=E5=85=83=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E6=8D=A2=E6=88=90yaml=E6=A0=BC=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ui/certd-server/export-plugin-yaml.js | 33 ++- .../ui/certd-server/src/plugins/index.yaml | 43 ++++ .../dns-provider/aliyun-dns-provider.yaml | 6 + .../src/plugins/plugin-aliyun/index.yaml | 64 +++++ .../plugin/deploy-to-alb/index.yaml | 143 +++++++++++ .../plugin/deploy-to-cdn/index.yaml | 107 +++++++++ .../plugin/deploy-to-dcdn/index.yaml | 57 +++++ .../plugin/deploy-to-fc/index.yaml | 147 ++++++++++++ .../plugin/deploy-to-nlb/index.yaml | 143 +++++++++++ .../plugin/deploy-to-oss/index.yaml | 111 +++++++++ .../plugin/deploy-to-slb/index.yaml | 143 +++++++++++ .../plugin/deploy-to-waf/index.yaml | 106 +++++++++ .../plugins/plugin-aliyun/plugin/index.yaml | 64 +++++ .../plugin/upload-to-aliyun/index.yaml | 64 +++++ .../src/plugins/plugin-aws/access.yaml | 20 ++ .../src/plugins/plugin-aws/index.yaml | 142 +++++++++++ .../src/plugins/plugin-aws/plugins/index.yaml | 142 +++++++++++ .../plugins/plugin-deploy-to-cloudfront.yaml | 142 +++++++++++ .../plugins/plugin-upload-to-acm.yaml | 102 ++++++++ .../src/plugins/plugin-cachefly/access.yaml | 22 ++ .../src/plugins/plugin-cachefly/index.yaml | 22 ++ .../plugin-cachefly/plugins/index.yaml | 31 +++ .../plugins/plugin-deploy-to-cdn.yaml | 31 +++ .../src/plugins/plugin-cloudflare/access.yaml | 22 ++ .../plugin-cloudflare/dns-provider.yaml | 6 + .../src/plugins/plugin-cloudflare/index.yaml | 6 + .../src/plugins/plugin-demo/access.yaml | 17 ++ .../src/plugins/plugin-demo/dns-provider.yaml | 6 + .../src/plugins/plugin-demo/index.yaml | 122 ++++++++++ .../plugins/plugin-demo/plugins/index.yaml | 122 ++++++++++ .../plugin-demo/plugins/plugin-test.yaml | 122 ++++++++++ .../src/plugins/plugin-dnsla/access.yaml | 20 ++ .../plugins/plugin-dnsla/dns-provider.yaml | 6 + .../src/plugins/plugin-dnsla/index.yaml | 6 + .../src/plugins/plugin-doge/access.yaml | 20 ++ .../src/plugins/plugin-doge/index.yaml | 45 ++++ .../plugins/deploy-to-cdn/index.yaml | 45 ++++ .../plugins/plugin-doge/plugins/index.yaml | 45 ++++ .../src/plugins/plugin-gcore/access.yaml | 22 ++ .../src/plugins/plugin-gcore/index.yaml | 35 +++ .../plugins/plugin-gcore/plugins/index.yaml | 35 +++ .../plugin-gcore/plugins/plugin-flush.yaml | 38 +++ .../plugin-gcore/plugins/plugin-upload.yaml | 35 +++ .../src/plugins/plugin-host/index.yaml | 223 ++++++++++++++++++ .../plugin/copy-to-local/index.yaml | 167 +++++++++++++ .../plugin/host-shell-execute/index.yaml | 30 +++ .../src/plugins/plugin-host/plugin/index.yaml | 223 ++++++++++++++++++ .../plugin/upload-to-host/index.yaml | 223 ++++++++++++++++++ .../plugin-huawei/access/huawei-access.yaml | 19 ++ .../plugins/plugin-huawei/access/index.yaml | 19 ++ .../dns-provider/huawei-dns-provider.yaml | 6 + .../src/plugins/plugin-huawei/index.yaml | 19 ++ .../plugins/deploy-to-cdn/index.yaml | 72 ++++++ .../plugins/upload-to-ccm/index.yaml | 49 ++++ .../src/plugins/plugin-jdcloud/access.yaml | 18 ++ .../plugins/plugin-jdcloud/dns-provider.yaml | 6 + .../src/plugins/plugin-jdcloud/index.yaml | 39 +++ .../plugins/plugin-jdcloud/plugins/index.yaml | 39 +++ .../plugins/plugin-deploy-to-cdn.yaml | 74 ++++++ .../plugins/plugin-update-cert.yaml | 74 ++++++ .../plugins/plugin-upload-cert.yaml | 39 +++ .../src/plugins/plugin-namesilo/access.yaml | 17 ++ .../plugins/plugin-namesilo/dns-provider.yaml | 6 + .../src/plugins/plugin-namesilo/index.yaml | 6 + .../plugin-notification/anpush/index.yaml | 18 ++ .../plugin-notification/bark/index.yaml | 19 ++ .../plugin-notification/dingtalk/index.yaml | 49 ++++ .../plugin-notification/discord/index.yaml | 36 +++ .../plugin-notification/email/index.yaml | 16 ++ .../plugin-notification/feishu/index.yaml | 41 ++++ .../plugins/plugin-notification/index.yaml | 73 ++++++ .../plugin-notification/iyuu/index.yaml | 12 + .../plugin-notification/qywx/index.yaml | 30 +++ .../plugin-notification/serverchan/index.yaml | 35 +++ .../serverchan3/index.yaml | 30 +++ .../plugin-notification/slack/index.yaml | 28 +++ .../plugin-notification/telegram/index.yaml | 37 +++ .../plugin-notification/vocechat/index.yaml | 41 ++++ .../plugin-notification/webhook/index.yaml | 73 ++++++ .../src/plugins/plugin-other/index.yaml | 21 ++ .../plugins/plugin-other/plugins/index.yaml | 21 ++ .../plugins/plugin-db-backup.yaml | 77 ++++++ .../plugin-other/plugins/plugin-restart.yaml | 12 + .../plugin-other/plugins/plugin-script.yaml | 33 +++ .../plugin-other/plugins/plugin-wait.yaml | 21 ++ .../src/plugins/plugin-proxmox/access.yaml | 32 +++ .../src/plugins/plugin-proxmox/index.yaml | 55 +++++ .../plugins/plugin-proxmox/plugins/index.yaml | 55 +++++ .../plugin-proxmox/plugins/plugin-upload.yaml | 55 +++++ .../src/plugins/plugin-qiniu/index.yaml | 75 ++++++ .../plugin/deploy-to-cdn/index.yaml | 75 ++++++ .../plugins/plugin-qiniu/plugin/index.yaml | 75 ++++++ .../plugin/upload-cert/index.yaml | 37 +++ .../src/plugins/plugin-qnap/index.yaml | 32 +++ .../plugins/plugin-qnap/plugins/index.yaml | 32 +++ .../plugin-qnap/plugins/plugin-qnap.yaml | 32 +++ .../plugin-tencent/access/dnspod-access.yaml | 36 +++ .../plugins/plugin-tencent/access/index.yaml | 36 +++ .../dns-provider/dnspod-dns-provider.yaml | 7 + .../dns-provider/tencent-dns-provider.yaml | 6 + .../src/plugins/plugin-tencent/index.yaml | 36 +++ .../plugin/delete-expiring-cert/index.yaml | 59 +++++ .../plugin/deploy-to-all/index.yaml | 88 +++++++ .../plugin/deploy-to-cdn-v2/index.yaml | 57 +++++ .../plugin/deploy-to-cdn/index.yaml | 41 ++++ .../plugin/deploy-to-clb/index.yaml | 80 +++++++ .../plugin/deploy-to-cos/index.yaml | 120 ++++++++++ .../plugin/deploy-to-eo/index.yaml | 49 ++++ .../plugin/deploy-to-live/index.yaml | 58 +++++ .../plugin/deploy-to-tke-ingress/index.yaml | 94 ++++++++ .../plugins/plugin-tencent/plugin/index.yaml | 36 +++ .../plugin/start-instances/index.yaml | 133 +++++++++++ .../plugin/upload-to-tencent/index.yaml | 36 +++ .../src/plugins/plugin-upyun/access.yaml | 17 ++ .../src/plugins/plugin-upyun/index.yaml | 102 ++++++++ .../plugins/plugin-upyun/plugins/index.yaml | 102 ++++++++ .../plugins/plugin-depoy-to-cdn.yaml | 102 ++++++++ .../src/plugins/plugin-volcengine/access.yaml | 18 ++ .../src/plugins/plugin-volcengine/index.yaml | 6 + .../plugin-volcengine/plugins/index.yaml | 90 +++++++ .../plugins/plugin-deploy-to-cdn.yaml | 90 +++++++ .../volcengine-dns-provider.yaml | 6 + .../src/plugins/plugin-west/access.yaml | 65 +++++ .../src/plugins/plugin-west/dns-provider.yaml | 6 + .../src/plugins/plugin-west/index.yaml | 6 + .../src/plugins/plugin-woai/access.yaml | 17 ++ .../src/plugins/plugin-woai/index.yaml | 45 ++++ .../plugins/plugin-woai/plugins/index.yaml | 45 ++++ .../plugins/plugin-deploy-to-cdn.yaml | 45 ++++ 129 files changed, 7037 insertions(+), 3 deletions(-) create mode 100644 packages/ui/certd-server/src/plugins/index.yaml create mode 100644 packages/ui/certd-server/src/plugins/plugin-aliyun/dns-provider/aliyun-dns-provider.yaml create mode 100644 packages/ui/certd-server/src/plugins/plugin-aliyun/index.yaml create mode 100644 packages/ui/certd-server/src/plugins/plugin-aliyun/plugin/deploy-to-alb/index.yaml create mode 100644 packages/ui/certd-server/src/plugins/plugin-aliyun/plugin/deploy-to-cdn/index.yaml create mode 100644 packages/ui/certd-server/src/plugins/plugin-aliyun/plugin/deploy-to-dcdn/index.yaml create mode 100644 packages/ui/certd-server/src/plugins/plugin-aliyun/plugin/deploy-to-fc/index.yaml create mode 100644 packages/ui/certd-server/src/plugins/plugin-aliyun/plugin/deploy-to-nlb/index.yaml create mode 100644 packages/ui/certd-server/src/plugins/plugin-aliyun/plugin/deploy-to-oss/index.yaml create mode 100644 packages/ui/certd-server/src/plugins/plugin-aliyun/plugin/deploy-to-slb/index.yaml create mode 100644 packages/ui/certd-server/src/plugins/plugin-aliyun/plugin/deploy-to-waf/index.yaml create mode 100644 packages/ui/certd-server/src/plugins/plugin-aliyun/plugin/index.yaml create mode 100644 packages/ui/certd-server/src/plugins/plugin-aliyun/plugin/upload-to-aliyun/index.yaml create mode 100644 packages/ui/certd-server/src/plugins/plugin-aws/access.yaml create mode 100644 packages/ui/certd-server/src/plugins/plugin-aws/index.yaml create mode 100644 packages/ui/certd-server/src/plugins/plugin-aws/plugins/index.yaml create mode 100644 packages/ui/certd-server/src/plugins/plugin-aws/plugins/plugin-deploy-to-cloudfront.yaml create mode 100644 packages/ui/certd-server/src/plugins/plugin-aws/plugins/plugin-upload-to-acm.yaml create mode 100644 packages/ui/certd-server/src/plugins/plugin-cachefly/access.yaml create mode 100644 packages/ui/certd-server/src/plugins/plugin-cachefly/index.yaml create mode 100644 packages/ui/certd-server/src/plugins/plugin-cachefly/plugins/index.yaml create mode 100644 packages/ui/certd-server/src/plugins/plugin-cachefly/plugins/plugin-deploy-to-cdn.yaml create mode 100644 packages/ui/certd-server/src/plugins/plugin-cloudflare/access.yaml create mode 100644 packages/ui/certd-server/src/plugins/plugin-cloudflare/dns-provider.yaml create mode 100644 packages/ui/certd-server/src/plugins/plugin-cloudflare/index.yaml create mode 100644 packages/ui/certd-server/src/plugins/plugin-demo/access.yaml create mode 100644 packages/ui/certd-server/src/plugins/plugin-demo/dns-provider.yaml create mode 100644 packages/ui/certd-server/src/plugins/plugin-demo/index.yaml create mode 100644 packages/ui/certd-server/src/plugins/plugin-demo/plugins/index.yaml create mode 100644 packages/ui/certd-server/src/plugins/plugin-demo/plugins/plugin-test.yaml create mode 100644 packages/ui/certd-server/src/plugins/plugin-dnsla/access.yaml create mode 100644 packages/ui/certd-server/src/plugins/plugin-dnsla/dns-provider.yaml create mode 100644 packages/ui/certd-server/src/plugins/plugin-dnsla/index.yaml create mode 100644 packages/ui/certd-server/src/plugins/plugin-doge/access.yaml create mode 100644 packages/ui/certd-server/src/plugins/plugin-doge/index.yaml create mode 100644 packages/ui/certd-server/src/plugins/plugin-doge/plugins/deploy-to-cdn/index.yaml create mode 100644 packages/ui/certd-server/src/plugins/plugin-doge/plugins/index.yaml create mode 100644 packages/ui/certd-server/src/plugins/plugin-gcore/access.yaml create mode 100644 packages/ui/certd-server/src/plugins/plugin-gcore/index.yaml create mode 100644 packages/ui/certd-server/src/plugins/plugin-gcore/plugins/index.yaml create mode 100644 packages/ui/certd-server/src/plugins/plugin-gcore/plugins/plugin-flush.yaml create mode 100644 packages/ui/certd-server/src/plugins/plugin-gcore/plugins/plugin-upload.yaml create mode 100644 packages/ui/certd-server/src/plugins/plugin-host/index.yaml create mode 100644 packages/ui/certd-server/src/plugins/plugin-host/plugin/copy-to-local/index.yaml create mode 100644 packages/ui/certd-server/src/plugins/plugin-host/plugin/host-shell-execute/index.yaml create mode 100644 packages/ui/certd-server/src/plugins/plugin-host/plugin/index.yaml create mode 100644 packages/ui/certd-server/src/plugins/plugin-host/plugin/upload-to-host/index.yaml create mode 100644 packages/ui/certd-server/src/plugins/plugin-huawei/access/huawei-access.yaml create mode 100644 packages/ui/certd-server/src/plugins/plugin-huawei/access/index.yaml create mode 100644 packages/ui/certd-server/src/plugins/plugin-huawei/dns-provider/huawei-dns-provider.yaml create mode 100644 packages/ui/certd-server/src/plugins/plugin-huawei/index.yaml create mode 100644 packages/ui/certd-server/src/plugins/plugin-huawei/plugins/deploy-to-cdn/index.yaml create mode 100644 packages/ui/certd-server/src/plugins/plugin-huawei/plugins/upload-to-ccm/index.yaml create mode 100644 packages/ui/certd-server/src/plugins/plugin-jdcloud/access.yaml create mode 100644 packages/ui/certd-server/src/plugins/plugin-jdcloud/dns-provider.yaml create mode 100644 packages/ui/certd-server/src/plugins/plugin-jdcloud/index.yaml create mode 100644 packages/ui/certd-server/src/plugins/plugin-jdcloud/plugins/index.yaml create mode 100644 packages/ui/certd-server/src/plugins/plugin-jdcloud/plugins/plugin-deploy-to-cdn.yaml create mode 100644 packages/ui/certd-server/src/plugins/plugin-jdcloud/plugins/plugin-update-cert.yaml create mode 100644 packages/ui/certd-server/src/plugins/plugin-jdcloud/plugins/plugin-upload-cert.yaml create mode 100644 packages/ui/certd-server/src/plugins/plugin-namesilo/access.yaml create mode 100644 packages/ui/certd-server/src/plugins/plugin-namesilo/dns-provider.yaml create mode 100644 packages/ui/certd-server/src/plugins/plugin-namesilo/index.yaml create mode 100644 packages/ui/certd-server/src/plugins/plugin-notification/anpush/index.yaml create mode 100644 packages/ui/certd-server/src/plugins/plugin-notification/bark/index.yaml create mode 100644 packages/ui/certd-server/src/plugins/plugin-notification/dingtalk/index.yaml create mode 100644 packages/ui/certd-server/src/plugins/plugin-notification/discord/index.yaml create mode 100644 packages/ui/certd-server/src/plugins/plugin-notification/email/index.yaml create mode 100644 packages/ui/certd-server/src/plugins/plugin-notification/feishu/index.yaml create mode 100644 packages/ui/certd-server/src/plugins/plugin-notification/index.yaml create mode 100644 packages/ui/certd-server/src/plugins/plugin-notification/iyuu/index.yaml create mode 100644 packages/ui/certd-server/src/plugins/plugin-notification/qywx/index.yaml create mode 100644 packages/ui/certd-server/src/plugins/plugin-notification/serverchan/index.yaml create mode 100644 packages/ui/certd-server/src/plugins/plugin-notification/serverchan3/index.yaml create mode 100644 packages/ui/certd-server/src/plugins/plugin-notification/slack/index.yaml create mode 100644 packages/ui/certd-server/src/plugins/plugin-notification/telegram/index.yaml create mode 100644 packages/ui/certd-server/src/plugins/plugin-notification/vocechat/index.yaml create mode 100644 packages/ui/certd-server/src/plugins/plugin-notification/webhook/index.yaml create mode 100644 packages/ui/certd-server/src/plugins/plugin-other/index.yaml create mode 100644 packages/ui/certd-server/src/plugins/plugin-other/plugins/index.yaml create mode 100644 packages/ui/certd-server/src/plugins/plugin-other/plugins/plugin-db-backup.yaml create mode 100644 packages/ui/certd-server/src/plugins/plugin-other/plugins/plugin-restart.yaml create mode 100644 packages/ui/certd-server/src/plugins/plugin-other/plugins/plugin-script.yaml create mode 100644 packages/ui/certd-server/src/plugins/plugin-other/plugins/plugin-wait.yaml create mode 100644 packages/ui/certd-server/src/plugins/plugin-proxmox/access.yaml create mode 100644 packages/ui/certd-server/src/plugins/plugin-proxmox/index.yaml create mode 100644 packages/ui/certd-server/src/plugins/plugin-proxmox/plugins/index.yaml create mode 100644 packages/ui/certd-server/src/plugins/plugin-proxmox/plugins/plugin-upload.yaml create mode 100644 packages/ui/certd-server/src/plugins/plugin-qiniu/index.yaml create mode 100644 packages/ui/certd-server/src/plugins/plugin-qiniu/plugin/deploy-to-cdn/index.yaml create mode 100644 packages/ui/certd-server/src/plugins/plugin-qiniu/plugin/index.yaml create mode 100644 packages/ui/certd-server/src/plugins/plugin-qiniu/plugin/upload-cert/index.yaml create mode 100644 packages/ui/certd-server/src/plugins/plugin-qnap/index.yaml create mode 100644 packages/ui/certd-server/src/plugins/plugin-qnap/plugins/index.yaml create mode 100644 packages/ui/certd-server/src/plugins/plugin-qnap/plugins/plugin-qnap.yaml create mode 100644 packages/ui/certd-server/src/plugins/plugin-tencent/access/dnspod-access.yaml create mode 100644 packages/ui/certd-server/src/plugins/plugin-tencent/access/index.yaml create mode 100644 packages/ui/certd-server/src/plugins/plugin-tencent/dns-provider/dnspod-dns-provider.yaml create mode 100644 packages/ui/certd-server/src/plugins/plugin-tencent/dns-provider/tencent-dns-provider.yaml create mode 100644 packages/ui/certd-server/src/plugins/plugin-tencent/index.yaml create mode 100644 packages/ui/certd-server/src/plugins/plugin-tencent/plugin/delete-expiring-cert/index.yaml create mode 100644 packages/ui/certd-server/src/plugins/plugin-tencent/plugin/deploy-to-all/index.yaml create mode 100644 packages/ui/certd-server/src/plugins/plugin-tencent/plugin/deploy-to-cdn-v2/index.yaml create mode 100644 packages/ui/certd-server/src/plugins/plugin-tencent/plugin/deploy-to-cdn/index.yaml create mode 100644 packages/ui/certd-server/src/plugins/plugin-tencent/plugin/deploy-to-clb/index.yaml create mode 100644 packages/ui/certd-server/src/plugins/plugin-tencent/plugin/deploy-to-cos/index.yaml create mode 100644 packages/ui/certd-server/src/plugins/plugin-tencent/plugin/deploy-to-eo/index.yaml create mode 100644 packages/ui/certd-server/src/plugins/plugin-tencent/plugin/deploy-to-live/index.yaml create mode 100644 packages/ui/certd-server/src/plugins/plugin-tencent/plugin/deploy-to-tke-ingress/index.yaml create mode 100644 packages/ui/certd-server/src/plugins/plugin-tencent/plugin/index.yaml create mode 100644 packages/ui/certd-server/src/plugins/plugin-tencent/plugin/start-instances/index.yaml create mode 100644 packages/ui/certd-server/src/plugins/plugin-tencent/plugin/upload-to-tencent/index.yaml create mode 100644 packages/ui/certd-server/src/plugins/plugin-upyun/access.yaml create mode 100644 packages/ui/certd-server/src/plugins/plugin-upyun/index.yaml create mode 100644 packages/ui/certd-server/src/plugins/plugin-upyun/plugins/index.yaml create mode 100644 packages/ui/certd-server/src/plugins/plugin-upyun/plugins/plugin-depoy-to-cdn.yaml create mode 100644 packages/ui/certd-server/src/plugins/plugin-volcengine/access.yaml create mode 100644 packages/ui/certd-server/src/plugins/plugin-volcengine/index.yaml create mode 100644 packages/ui/certd-server/src/plugins/plugin-volcengine/plugins/index.yaml create mode 100644 packages/ui/certd-server/src/plugins/plugin-volcengine/plugins/plugin-deploy-to-cdn.yaml create mode 100644 packages/ui/certd-server/src/plugins/plugin-volcengine/volcengine-dns-provider.yaml create mode 100644 packages/ui/certd-server/src/plugins/plugin-west/access.yaml create mode 100644 packages/ui/certd-server/src/plugins/plugin-west/dns-provider.yaml create mode 100644 packages/ui/certd-server/src/plugins/plugin-west/index.yaml create mode 100644 packages/ui/certd-server/src/plugins/plugin-woai/access.yaml create mode 100644 packages/ui/certd-server/src/plugins/plugin-woai/index.yaml create mode 100644 packages/ui/certd-server/src/plugins/plugin-woai/plugins/index.yaml create mode 100644 packages/ui/certd-server/src/plugins/plugin-woai/plugins/plugin-deploy-to-cdn.yaml 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 From 9b1d822b5b0e9b58f88685af813ee132b683bf07 Mon Sep 17 00:00:00 2001 From: xiaojunnuo Date: Sun, 27 Apr 2025 11:05:01 +0800 Subject: [PATCH 02/15] chore: --- packages/ui/certd-server/src/configuration.ts | 10 +++++----- .../src/modules/auto/auto-b-load-plugins.ts | 1 + 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/packages/ui/certd-server/src/configuration.ts b/packages/ui/certd-server/src/configuration.ts index 00d4ddff..a730e592 100644 --- a/packages/ui/certd-server/src/configuration.ts +++ b/packages/ui/certd-server/src/configuration.ts @@ -26,11 +26,11 @@ process.on('uncaughtException', error => { }); @Configuration({ - // detectorOptions: { - // ignore: [ - // '**/plugins/**' - // ] - // }, + detectorOptions: { + ignore: [ + '**/plugins/**' + ] + }, imports: [ koa, orm, diff --git a/packages/ui/certd-server/src/modules/auto/auto-b-load-plugins.ts b/packages/ui/certd-server/src/modules/auto/auto-b-load-plugins.ts index a952004a..ff74f21b 100644 --- a/packages/ui/certd-server/src/modules/auto/auto-b-load-plugins.ts +++ b/packages/ui/certd-server/src/modules/auto/auto-b-load-plugins.ts @@ -12,6 +12,7 @@ export class AutoBLoadPlugins { @Init() async init() { logger.info('加载插件开始'); + await import("../../plugins/index.js") await this.pluginService.registerFromDb() logger.info('加载插件完成'); From deb38938204b29543f36d3266249958faaaa6b66 Mon Sep 17 00:00:00 2001 From: xiaojunnuo Date: Sun, 27 Apr 2025 15:11:50 +0800 Subject: [PATCH 03/15] =?UTF-8?q?feat:=20=E4=BB=8Eyaml=E6=96=87=E4=BB=B6?= =?UTF-8?q?=E6=B3=A8=E5=86=8C=E6=8F=92=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ui/certd-server/export-plugin-yaml.js | 50 +++- .../certd-server/metadata/access_51dns.yaml | 22 ++ .../metadata/access_CacheFly.yaml | 24 ++ .../certd-server/metadata/access_Gcore.yaml | 24 ++ .../ui/certd-server/metadata/access_aws.yaml | 22 ++ .../metadata/access_cloudflare.yaml | 24 ++ .../ui/certd-server/metadata/access_demo.yaml | 19 ++ .../certd-server/metadata/access_dnsla.yaml | 22 ++ .../certd-server/metadata/access_dnspod.yaml | 38 +++ .../metadata/access_dogecloud.yaml | 22 ++ .../certd-server/metadata/access_huawei.yaml | 21 ++ .../certd-server/metadata/access_jdcloud.yaml | 20 ++ .../metadata/access_namesilo.yaml | 19 ++ .../certd-server/metadata/access_proxmox.yaml | 34 +++ .../certd-server/metadata/access_upyun.yaml | 19 ++ .../metadata/access_volcengine.yaml | 20 ++ .../ui/certd-server/metadata/access_west.yaml | 67 ++++++ .../ui/certd-server/metadata/access_woai.yaml | 19 ++ .../deploy_AliyunDeployCertToALB.yaml | 145 +++++++++++ .../metadata/deploy_AliyunDeployCertToFC.yaml | 149 ++++++++++++ .../deploy_AliyunDeployCertToNLB.yaml | 145 +++++++++++ .../deploy_AliyunDeployCertToSLB.yaml | 145 +++++++++++ .../deploy_AliyunDeployCertToWaf.yaml | 108 +++++++++ .../deploy_AwsDeployToCloudFront.yaml | 144 +++++++++++ .../metadata/deploy_AwsUploadToACM.yaml | 104 ++++++++ .../metadata/deploy_CacheFly.yaml | 33 +++ .../metadata/deploy_CopyToLocal.yaml | 169 +++++++++++++ .../metadata/deploy_CustomScript.yaml | 35 +++ .../metadata/deploy_DBBackupPlugin.yaml | 127 ++++++++++ .../metadata/deploy_DemoTest.yaml | 124 ++++++++++ .../deploy_DeployCertToAliyunCDN.yaml | 109 +++++++++ .../deploy_DeployCertToAliyunDCDN.yaml | 59 +++++ .../deploy_DeployCertToAliyunOSS.yaml | 113 +++++++++ .../deploy_DeployCertToTencentAll.yaml | 90 +++++++ .../deploy_DeployCertToTencentCDN.yaml | 43 ++++ .../deploy_DeployCertToTencentCLB.yaml | 82 +++++++ .../deploy_DeployCertToTencentCosPlugin.yaml | 122 ++++++++++ .../deploy_DeployCertToTencentEO.yaml | 51 ++++ .../deploy_DeployCertToTencentTKEIngress.yaml | 96 ++++++++ .../metadata/deploy_DogeCloudDeployToCDN.yaml | 47 ++++ .../metadata/deploy_Gcoreflush.yaml | 40 ++++ .../metadata/deploy_Gcoreupload.yaml | 37 +++ .../deploy_HauweiDeployCertToCDN.yaml | 78 ++++++ .../metadata/deploy_HauweiUploadToCCM.yaml | 51 ++++ .../metadata/deploy_JDCloudDeployToCDN.yaml | 76 ++++++ .../metadata/deploy_JDCloudUpdateCert.yaml | 76 ++++++ .../metadata/deploy_JDCloudUploadCert.yaml | 41 ++++ .../metadata/deploy_ProxmoxUploadCert.yaml | 57 +++++ .../metadata/deploy_QiniuCertUpload.yaml | 39 +++ .../metadata/deploy_QiniuDeployCertToCDN.yaml | 77 ++++++ .../metadata/deploy_QnapDeploy.yaml | 34 +++ .../metadata/deploy_RestartCertd.yaml | 14 ++ .../deploy_TencentActionInstancesPlugin.yaml | 135 +++++++++++ .../deploy_TencentDeleteExpiringCert.yaml | 61 +++++ .../deploy_TencentDeployCertToCDNv2.yaml | 59 +++++ .../deploy_TencentDeployCertToLive.yaml | 60 +++++ .../metadata/deploy_UploadCertToTencent.yaml | 38 +++ .../metadata/deploy_UpyunDeployToCdn.yaml | 104 ++++++++ .../deploy_VolcengineDeployToALB.yaml | 100 ++++++++ .../deploy_VolcengineDeployToCDN.yaml | 92 +++++++ .../deploy_VolcengineDeployToCLB.yaml | 110 +++++++++ .../deploy_VolcengineDeployToLive.yaml | 75 ++++++ .../deploy_VolcengineDeployToVOD.yaml | 84 +++++++ .../deploy_VolcengineUploadToCertCenter.yaml | 51 ++++ .../metadata/deploy_WaitPlugin.yaml | 23 ++ .../certd-server/metadata/deploy_WoaiCDN.yaml | 47 ++++ .../metadata/deploy_hostShellExecute.yaml | 32 +++ .../metadata/deploy_uploadCertToAliyun.yaml | 66 +++++ .../metadata/deploy_uploadCertToHost.yaml | 225 ++++++++++++++++++ .../metadata/dnsProvider_51dns.yaml | 8 + .../metadata/dnsProvider_aliyun.yaml | 8 + .../metadata/dnsProvider_cloudflare.yaml | 8 + .../metadata/dnsProvider_demo.yaml | 8 + .../metadata/dnsProvider_dnsla.yaml | 8 + .../metadata/dnsProvider_dnspod.yaml | 9 + .../metadata/dnsProvider_huawei.yaml | 8 + .../metadata/dnsProvider_jdcloud.yaml | 8 + .../metadata/dnsProvider_namesilo.yaml | 8 + .../metadata/dnsProvider_tencent.yaml | 8 + .../metadata/dnsProvider_volcengine.yaml | 8 + .../metadata/dnsProvider_west.yaml | 8 + .../metadata/notification_anpush.yaml | 20 ++ .../metadata/notification_bark.yaml | 21 ++ .../metadata/notification_dingtalk.yaml | 51 ++++ .../metadata/notification_discord.yaml | 38 +++ .../metadata/notification_email.yaml | 18 ++ .../metadata/notification_feishu.yaml | 43 ++++ .../metadata/notification_iyuu.yaml | 14 ++ .../metadata/notification_qywx.yaml | 32 +++ .../metadata/notification_serverchan.yaml | 37 +++ .../metadata/notification_serverchan3.yaml | 32 +++ .../metadata/notification_slack.yaml | 30 +++ .../metadata/notification_telegram.yaml | 39 +++ .../metadata/notification_vocechat.yaml | 43 ++++ .../metadata/notification_webhook.yaml | 75 ++++++ .../src/modules/auto/auto-b-load-plugins.ts | 2 +- .../modules/plugin/service/plugin-service.ts | 73 ++++-- packages/ui/certd-server/src/plugins/index.ts | 38 +-- 98 files changed, 5366 insertions(+), 45 deletions(-) create mode 100644 packages/ui/certd-server/metadata/access_51dns.yaml create mode 100644 packages/ui/certd-server/metadata/access_CacheFly.yaml create mode 100644 packages/ui/certd-server/metadata/access_Gcore.yaml create mode 100644 packages/ui/certd-server/metadata/access_aws.yaml create mode 100644 packages/ui/certd-server/metadata/access_cloudflare.yaml create mode 100644 packages/ui/certd-server/metadata/access_demo.yaml create mode 100644 packages/ui/certd-server/metadata/access_dnsla.yaml create mode 100644 packages/ui/certd-server/metadata/access_dnspod.yaml create mode 100644 packages/ui/certd-server/metadata/access_dogecloud.yaml create mode 100644 packages/ui/certd-server/metadata/access_huawei.yaml create mode 100644 packages/ui/certd-server/metadata/access_jdcloud.yaml create mode 100644 packages/ui/certd-server/metadata/access_namesilo.yaml create mode 100644 packages/ui/certd-server/metadata/access_proxmox.yaml create mode 100644 packages/ui/certd-server/metadata/access_upyun.yaml create mode 100644 packages/ui/certd-server/metadata/access_volcengine.yaml create mode 100644 packages/ui/certd-server/metadata/access_west.yaml create mode 100644 packages/ui/certd-server/metadata/access_woai.yaml create mode 100644 packages/ui/certd-server/metadata/deploy_AliyunDeployCertToALB.yaml create mode 100644 packages/ui/certd-server/metadata/deploy_AliyunDeployCertToFC.yaml create mode 100644 packages/ui/certd-server/metadata/deploy_AliyunDeployCertToNLB.yaml create mode 100644 packages/ui/certd-server/metadata/deploy_AliyunDeployCertToSLB.yaml create mode 100644 packages/ui/certd-server/metadata/deploy_AliyunDeployCertToWaf.yaml create mode 100644 packages/ui/certd-server/metadata/deploy_AwsDeployToCloudFront.yaml create mode 100644 packages/ui/certd-server/metadata/deploy_AwsUploadToACM.yaml create mode 100644 packages/ui/certd-server/metadata/deploy_CacheFly.yaml create mode 100644 packages/ui/certd-server/metadata/deploy_CopyToLocal.yaml create mode 100644 packages/ui/certd-server/metadata/deploy_CustomScript.yaml create mode 100644 packages/ui/certd-server/metadata/deploy_DBBackupPlugin.yaml create mode 100644 packages/ui/certd-server/metadata/deploy_DemoTest.yaml create mode 100644 packages/ui/certd-server/metadata/deploy_DeployCertToAliyunCDN.yaml create mode 100644 packages/ui/certd-server/metadata/deploy_DeployCertToAliyunDCDN.yaml create mode 100644 packages/ui/certd-server/metadata/deploy_DeployCertToAliyunOSS.yaml create mode 100644 packages/ui/certd-server/metadata/deploy_DeployCertToTencentAll.yaml create mode 100644 packages/ui/certd-server/metadata/deploy_DeployCertToTencentCDN.yaml create mode 100644 packages/ui/certd-server/metadata/deploy_DeployCertToTencentCLB.yaml create mode 100644 packages/ui/certd-server/metadata/deploy_DeployCertToTencentCosPlugin.yaml create mode 100644 packages/ui/certd-server/metadata/deploy_DeployCertToTencentEO.yaml create mode 100644 packages/ui/certd-server/metadata/deploy_DeployCertToTencentTKEIngress.yaml create mode 100644 packages/ui/certd-server/metadata/deploy_DogeCloudDeployToCDN.yaml create mode 100644 packages/ui/certd-server/metadata/deploy_Gcoreflush.yaml create mode 100644 packages/ui/certd-server/metadata/deploy_Gcoreupload.yaml create mode 100644 packages/ui/certd-server/metadata/deploy_HauweiDeployCertToCDN.yaml create mode 100644 packages/ui/certd-server/metadata/deploy_HauweiUploadToCCM.yaml create mode 100644 packages/ui/certd-server/metadata/deploy_JDCloudDeployToCDN.yaml create mode 100644 packages/ui/certd-server/metadata/deploy_JDCloudUpdateCert.yaml create mode 100644 packages/ui/certd-server/metadata/deploy_JDCloudUploadCert.yaml create mode 100644 packages/ui/certd-server/metadata/deploy_ProxmoxUploadCert.yaml create mode 100644 packages/ui/certd-server/metadata/deploy_QiniuCertUpload.yaml create mode 100644 packages/ui/certd-server/metadata/deploy_QiniuDeployCertToCDN.yaml create mode 100644 packages/ui/certd-server/metadata/deploy_QnapDeploy.yaml create mode 100644 packages/ui/certd-server/metadata/deploy_RestartCertd.yaml create mode 100644 packages/ui/certd-server/metadata/deploy_TencentActionInstancesPlugin.yaml create mode 100644 packages/ui/certd-server/metadata/deploy_TencentDeleteExpiringCert.yaml create mode 100644 packages/ui/certd-server/metadata/deploy_TencentDeployCertToCDNv2.yaml create mode 100644 packages/ui/certd-server/metadata/deploy_TencentDeployCertToLive.yaml create mode 100644 packages/ui/certd-server/metadata/deploy_UploadCertToTencent.yaml create mode 100644 packages/ui/certd-server/metadata/deploy_UpyunDeployToCdn.yaml create mode 100644 packages/ui/certd-server/metadata/deploy_VolcengineDeployToALB.yaml create mode 100644 packages/ui/certd-server/metadata/deploy_VolcengineDeployToCDN.yaml create mode 100644 packages/ui/certd-server/metadata/deploy_VolcengineDeployToCLB.yaml create mode 100644 packages/ui/certd-server/metadata/deploy_VolcengineDeployToLive.yaml create mode 100644 packages/ui/certd-server/metadata/deploy_VolcengineDeployToVOD.yaml create mode 100644 packages/ui/certd-server/metadata/deploy_VolcengineUploadToCertCenter.yaml create mode 100644 packages/ui/certd-server/metadata/deploy_WaitPlugin.yaml create mode 100644 packages/ui/certd-server/metadata/deploy_WoaiCDN.yaml create mode 100644 packages/ui/certd-server/metadata/deploy_hostShellExecute.yaml create mode 100644 packages/ui/certd-server/metadata/deploy_uploadCertToAliyun.yaml create mode 100644 packages/ui/certd-server/metadata/deploy_uploadCertToHost.yaml create mode 100644 packages/ui/certd-server/metadata/dnsProvider_51dns.yaml create mode 100644 packages/ui/certd-server/metadata/dnsProvider_aliyun.yaml create mode 100644 packages/ui/certd-server/metadata/dnsProvider_cloudflare.yaml create mode 100644 packages/ui/certd-server/metadata/dnsProvider_demo.yaml create mode 100644 packages/ui/certd-server/metadata/dnsProvider_dnsla.yaml create mode 100644 packages/ui/certd-server/metadata/dnsProvider_dnspod.yaml create mode 100644 packages/ui/certd-server/metadata/dnsProvider_huawei.yaml create mode 100644 packages/ui/certd-server/metadata/dnsProvider_jdcloud.yaml create mode 100644 packages/ui/certd-server/metadata/dnsProvider_namesilo.yaml create mode 100644 packages/ui/certd-server/metadata/dnsProvider_tencent.yaml create mode 100644 packages/ui/certd-server/metadata/dnsProvider_volcengine.yaml create mode 100644 packages/ui/certd-server/metadata/dnsProvider_west.yaml create mode 100644 packages/ui/certd-server/metadata/notification_anpush.yaml create mode 100644 packages/ui/certd-server/metadata/notification_bark.yaml create mode 100644 packages/ui/certd-server/metadata/notification_dingtalk.yaml create mode 100644 packages/ui/certd-server/metadata/notification_discord.yaml create mode 100644 packages/ui/certd-server/metadata/notification_email.yaml create mode 100644 packages/ui/certd-server/metadata/notification_feishu.yaml create mode 100644 packages/ui/certd-server/metadata/notification_iyuu.yaml create mode 100644 packages/ui/certd-server/metadata/notification_qywx.yaml create mode 100644 packages/ui/certd-server/metadata/notification_serverchan.yaml create mode 100644 packages/ui/certd-server/metadata/notification_serverchan3.yaml create mode 100644 packages/ui/certd-server/metadata/notification_slack.yaml create mode 100644 packages/ui/certd-server/metadata/notification_telegram.yaml create mode 100644 packages/ui/certd-server/metadata/notification_vocechat.yaml create mode 100644 packages/ui/certd-server/metadata/notification_webhook.yaml diff --git a/packages/ui/certd-server/export-plugin-yaml.js b/packages/ui/certd-server/export-plugin-yaml.js index f9b885ab..955b3754 100644 --- a/packages/ui/certd-server/export-plugin-yaml.js +++ b/packages/ui/certd-server/export-plugin-yaml.js @@ -4,14 +4,13 @@ import { join } from 'path'; import fs from 'fs' import { pathToFileURL } from "node:url"; import path from 'path' +import * as yaml from "js-yaml"; +import {AbstractTaskPlugin, BaseAccess, BaseNotification} from "@certd/pipeline"; 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); @@ -31,7 +30,9 @@ export default async function loadModules(dir) { const files = scanDir(dir); const modules = {} for (const file of files) { - + if(file === "dist/plugins/index.js" || file === "dist\\plugins\\index.js"){ + continue + } try { // 转换为 file:// URL(Windows 必需) const moduleUrl = pathToFileURL(file).href @@ -46,8 +47,49 @@ export default async function loadModules(dir) { return modules; } +function isPrototypeOf(value,cls){ + return cls.prototype.isPrototypeOf(value.prototype) +} + const modules = await loadModules('./dist/plugins'); +fs.rmSync("./metadata", { recursive: true }); +fs.mkdirSync("./metadata", { recursive: true }); for (const key in modules) { console.log(key) + const module = modules[key] + const entry = Object.entries(module) + for (const [name, value] of entry) { + //如果有define属性 + if(value.define){ + //那么就是插件 + let location = key.substring(4) + location = location.substring(0, location.length - 3) + location = location.replaceAll("\\","/") + location += ".js" + location = `../../..${location}` // 从modules/plugin/plugin-service 加载 ../../plugins目录下的文件 + + const pluginDefine = { + ...value.define + } + pluginDefine.type = "builtIn" + if(pluginDefine.accessType){ + pluginDefine.pluginType = "dnsProvider" + }else if(isPrototypeOf(value,AbstractTaskPlugin)){ + pluginDefine.pluginType = "deploy" + }else if(isPrototypeOf(value,BaseNotification)){ + pluginDefine.pluginType = "notification" + }else if(isPrototypeOf(value,BaseAccess)){ + pluginDefine.pluginType = "access" + }else{ + console.log(`[warning] 未知的插件类型:${pluginDefine.name}`) + } + delete pluginDefine.autowire + const filePath = path.join(`./metadata/${pluginDefine.pluginType}_${pluginDefine.name}.yaml`) + + pluginDefine.scriptFilePath = location + const data = yaml.dump(pluginDefine) + fs.writeFileSync(filePath,data ,'utf8') + } + } } diff --git a/packages/ui/certd-server/metadata/access_51dns.yaml b/packages/ui/certd-server/metadata/access_51dns.yaml new file mode 100644 index 00000000..9c28c1d5 --- /dev/null +++ b/packages/ui/certd-server/metadata/access_51dns.yaml @@ -0,0 +1,22 @@ +name: 51dns +title: 51dns授权 +icon: arcticons:dns-changer-3 +desc: '' +input: + username: + title: 用户名 + component: + placeholder: 用户名或手机号 + required: true + encrypt: false + password: + title: 登录密码 + component: + name: a-input-password + vModel: value + placeholder: 密码 + required: true + encrypt: true +type: builtIn +pluginType: access +scriptFilePath: ../../../plugins/plugin-51dns/index.js diff --git a/packages/ui/certd-server/metadata/access_CacheFly.yaml b/packages/ui/certd-server/metadata/access_CacheFly.yaml new file mode 100644 index 00000000..592caf61 --- /dev/null +++ b/packages/ui/certd-server/metadata/access_CacheFly.yaml @@ -0,0 +1,24 @@ +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 +type: builtIn +pluginType: access +scriptFilePath: ../../../plugins/plugin-cachefly/index.js diff --git a/packages/ui/certd-server/metadata/access_Gcore.yaml b/packages/ui/certd-server/metadata/access_Gcore.yaml new file mode 100644 index 00000000..ddc0ac5f --- /dev/null +++ b/packages/ui/certd-server/metadata/access_Gcore.yaml @@ -0,0 +1,24 @@ +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 +type: builtIn +pluginType: access +scriptFilePath: ../../../plugins/plugin-gcore/index.js diff --git a/packages/ui/certd-server/metadata/access_aws.yaml b/packages/ui/certd-server/metadata/access_aws.yaml new file mode 100644 index 00000000..f653131b --- /dev/null +++ b/packages/ui/certd-server/metadata/access_aws.yaml @@ -0,0 +1,22 @@ +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中创建新的访问密钥。 +type: builtIn +pluginType: access +scriptFilePath: ../../../plugins/plugin-aws/index.js diff --git a/packages/ui/certd-server/metadata/access_cloudflare.yaml b/packages/ui/certd-server/metadata/access_cloudflare.yaml new file mode 100644 index 00000000..28ef4fff --- /dev/null +++ b/packages/ui/certd-server/metadata/access_cloudflare.yaml @@ -0,0 +1,24 @@ +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 +type: builtIn +pluginType: access +scriptFilePath: ../../../plugins/plugin-cloudflare/index.js diff --git a/packages/ui/certd-server/metadata/access_demo.yaml b/packages/ui/certd-server/metadata/access_demo.yaml new file mode 100644 index 00000000..38d04246 --- /dev/null +++ b/packages/ui/certd-server/metadata/access_demo.yaml @@ -0,0 +1,19 @@ +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 +type: builtIn +pluginType: access +scriptFilePath: ../../../plugins/plugin-demo/index.js diff --git a/packages/ui/certd-server/metadata/access_dnsla.yaml b/packages/ui/certd-server/metadata/access_dnsla.yaml new file mode 100644 index 00000000..ecff94d7 --- /dev/null +++ b/packages/ui/certd-server/metadata/access_dnsla.yaml @@ -0,0 +1,22 @@ +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 +type: builtIn +pluginType: access +scriptFilePath: ../../../plugins/plugin-dnsla/index.js diff --git a/packages/ui/certd-server/metadata/access_dnspod.yaml b/packages/ui/certd-server/metadata/access_dnspod.yaml new file mode 100644 index 00000000..779c4229 --- /dev/null +++ b/packages/ui/certd-server/metadata/access_dnspod.yaml @@ -0,0 +1,38 @@ +name: dnspod +title: dnspod(已废弃) +desc: 腾讯云的域名解析接口已迁移到dnspod +deprecated: dnspod已废弃,请换成腾讯云 +icon: svg:icon-tencentcloud +input: + endpoint: + title: 端点 + component: + placeholder: endpoint + name: a-auto-complete + vModel: value + options: + - value: https://dnsapi.cn + label: 中国站 + - value: https://api.dnspod.com + label: 国际站 + rules: + - required: true + message: 该项必填 + id: + title: ID + component: + placeholder: dnspod token 的 id + rules: + - required: true + message: 该项必填 + token: + title: token + component: + placeholder: 开放接口token + encrypt: true + rules: + - required: true + message: 该项必填 +type: builtIn +pluginType: access +scriptFilePath: ../../../plugins/plugin-tencent/index.js diff --git a/packages/ui/certd-server/metadata/access_dogecloud.yaml b/packages/ui/certd-server/metadata/access_dogecloud.yaml new file mode 100644 index 00000000..adaa412d --- /dev/null +++ b/packages/ui/certd-server/metadata/access_dogecloud.yaml @@ -0,0 +1,22 @@ +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 +type: builtIn +pluginType: access +scriptFilePath: ../../../plugins/plugin-doge/index.js diff --git a/packages/ui/certd-server/metadata/access_huawei.yaml b/packages/ui/certd-server/metadata/access_huawei.yaml new file mode 100644 index 00000000..e04c2ea3 --- /dev/null +++ b/packages/ui/certd-server/metadata/access_huawei.yaml @@ -0,0 +1,21 @@ +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 +type: builtIn +pluginType: access +scriptFilePath: ../../../plugins/plugin-huawei/index.js diff --git a/packages/ui/certd-server/metadata/access_jdcloud.yaml b/packages/ui/certd-server/metadata/access_jdcloud.yaml new file mode 100644 index 00000000..99f7a4f5 --- /dev/null +++ b/packages/ui/certd-server/metadata/access_jdcloud.yaml @@ -0,0 +1,20 @@ +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 +type: builtIn +pluginType: access +scriptFilePath: ../../../plugins/plugin-jdcloud/index.js diff --git a/packages/ui/certd-server/metadata/access_namesilo.yaml b/packages/ui/certd-server/metadata/access_namesilo.yaml new file mode 100644 index 00000000..fa088ed0 --- /dev/null +++ b/packages/ui/certd-server/metadata/access_namesilo.yaml @@ -0,0 +1,19 @@ +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 +type: builtIn +pluginType: access +scriptFilePath: ../../../plugins/plugin-namesilo/index.js diff --git a/packages/ui/certd-server/metadata/access_proxmox.yaml b/packages/ui/certd-server/metadata/access_proxmox.yaml new file mode 100644 index 00000000..40201fce --- /dev/null +++ b/packages/ui/certd-server/metadata/access_proxmox.yaml @@ -0,0 +1,34 @@ +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 +type: builtIn +pluginType: access +scriptFilePath: ../../../plugins/plugin-proxmox/index.js diff --git a/packages/ui/certd-server/metadata/access_upyun.yaml b/packages/ui/certd-server/metadata/access_upyun.yaml new file mode 100644 index 00000000..2ddd99be --- /dev/null +++ b/packages/ui/certd-server/metadata/access_upyun.yaml @@ -0,0 +1,19 @@ +name: upyun +title: 又拍云 +desc: '' +icon: svg:icon-upyun +input: + username: + title: 账号 + component: + placeholder: 又拍云账号 + required: true + password: + title: 密码 + component: + placeholder: 又拍云密码 + required: true + encrypt: true +type: builtIn +pluginType: access +scriptFilePath: ../../../plugins/plugin-upyun/index.js diff --git a/packages/ui/certd-server/metadata/access_volcengine.yaml b/packages/ui/certd-server/metadata/access_volcengine.yaml new file mode 100644 index 00000000..cdff6178 --- /dev/null +++ b/packages/ui/certd-server/metadata/access_volcengine.yaml @@ -0,0 +1,20 @@ +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 +type: builtIn +pluginType: access +scriptFilePath: ../../../plugins/plugin-volcengine/index.js diff --git a/packages/ui/certd-server/metadata/access_west.yaml b/packages/ui/certd-server/metadata/access_west.yaml new file mode 100644 index 00000000..a3076254 --- /dev/null +++ b/packages/ui/certd-server/metadata/access_west.yaml @@ -0,0 +1,67 @@ +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' + }) + } + +type: builtIn +pluginType: access +scriptFilePath: ../../../plugins/plugin-west/index.js diff --git a/packages/ui/certd-server/metadata/access_woai.yaml b/packages/ui/certd-server/metadata/access_woai.yaml new file mode 100644 index 00000000..941592af --- /dev/null +++ b/packages/ui/certd-server/metadata/access_woai.yaml @@ -0,0 +1,19 @@ +name: woai +title: 我爱云授权 +desc: 我爱云CDN +icon: clarity:plugin-line +input: + username: + title: 账号 + component: + placeholder: 我爱云的账号 + required: true + password: + title: 密码 + component: + placeholder: 我爱云的密码 + required: true + encrypt: true +type: builtIn +pluginType: access +scriptFilePath: ../../../plugins/plugin-woai/index.js diff --git a/packages/ui/certd-server/metadata/deploy_AliyunDeployCertToALB.yaml b/packages/ui/certd-server/metadata/deploy_AliyunDeployCertToALB.yaml new file mode 100644 index 00000000..acec5e24 --- /dev/null +++ b/packages/ui/certd-server/metadata/deploy_AliyunDeployCertToALB.yaml @@ -0,0 +1,145 @@ +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: {} +type: builtIn +pluginType: deploy +scriptFilePath: ../../../plugins/plugin-aliyun/plugin/index.js diff --git a/packages/ui/certd-server/metadata/deploy_AliyunDeployCertToFC.yaml b/packages/ui/certd-server/metadata/deploy_AliyunDeployCertToFC.yaml new file mode 100644 index 00000000..05a2240f --- /dev/null +++ b/packages/ui/certd-server/metadata/deploy_AliyunDeployCertToFC.yaml @@ -0,0 +1,149 @@ +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: {} +type: builtIn +pluginType: deploy +scriptFilePath: ../../../plugins/plugin-aliyun/plugin/index.js diff --git a/packages/ui/certd-server/metadata/deploy_AliyunDeployCertToNLB.yaml b/packages/ui/certd-server/metadata/deploy_AliyunDeployCertToNLB.yaml new file mode 100644 index 00000000..6dcb652a --- /dev/null +++ b/packages/ui/certd-server/metadata/deploy_AliyunDeployCertToNLB.yaml @@ -0,0 +1,145 @@ +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: {} +type: builtIn +pluginType: deploy +scriptFilePath: ../../../plugins/plugin-aliyun/plugin/index.js diff --git a/packages/ui/certd-server/metadata/deploy_AliyunDeployCertToSLB.yaml b/packages/ui/certd-server/metadata/deploy_AliyunDeployCertToSLB.yaml new file mode 100644 index 00000000..73a04154 --- /dev/null +++ b/packages/ui/certd-server/metadata/deploy_AliyunDeployCertToSLB.yaml @@ -0,0 +1,145 @@ +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: {} +type: builtIn +pluginType: deploy +scriptFilePath: ../../../plugins/plugin-aliyun/plugin/index.js diff --git a/packages/ui/certd-server/metadata/deploy_AliyunDeployCertToWaf.yaml b/packages/ui/certd-server/metadata/deploy_AliyunDeployCertToWaf.yaml new file mode 100644 index 00000000..c1b88511 --- /dev/null +++ b/packages/ui/certd-server/metadata/deploy_AliyunDeployCertToWaf.yaml @@ -0,0 +1,108 @@ +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: {} +type: builtIn +pluginType: deploy +scriptFilePath: ../../../plugins/plugin-aliyun/plugin/index.js diff --git a/packages/ui/certd-server/metadata/deploy_AwsDeployToCloudFront.yaml b/packages/ui/certd-server/metadata/deploy_AwsDeployToCloudFront.yaml new file mode 100644 index 00000000..e991c426 --- /dev/null +++ b/packages/ui/certd-server/metadata/deploy_AwsDeployToCloudFront.yaml @@ -0,0 +1,144 @@ +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: {} +type: builtIn +pluginType: deploy +scriptFilePath: ../../../plugins/plugin-aws/plugins/plugin-deploy-to-cloudfront.js diff --git a/packages/ui/certd-server/metadata/deploy_AwsUploadToACM.yaml b/packages/ui/certd-server/metadata/deploy_AwsUploadToACM.yaml new file mode 100644 index 00000000..c77ea9a0 --- /dev/null +++ b/packages/ui/certd-server/metadata/deploy_AwsUploadToACM.yaml @@ -0,0 +1,104 @@ +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 +type: builtIn +pluginType: deploy +scriptFilePath: ../../../plugins/plugin-aws/plugins/plugin-upload-to-acm.js diff --git a/packages/ui/certd-server/metadata/deploy_CacheFly.yaml b/packages/ui/certd-server/metadata/deploy_CacheFly.yaml new file mode 100644 index 00000000..f16fb3d9 --- /dev/null +++ b/packages/ui/certd-server/metadata/deploy_CacheFly.yaml @@ -0,0 +1,33 @@ +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: {} +type: builtIn +pluginType: deploy +scriptFilePath: ../../../plugins/plugin-cachefly/plugins/plugin-deploy-to-cdn.js diff --git a/packages/ui/certd-server/metadata/deploy_CopyToLocal.yaml b/packages/ui/certd-server/metadata/deploy_CopyToLocal.yaml new file mode 100644 index 00000000..423619a2 --- /dev/null +++ b/packages/ui/certd-server/metadata/deploy_CopyToLocal.yaml @@ -0,0 +1,169 @@ +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 +type: builtIn +pluginType: deploy +scriptFilePath: ../../../plugins/plugin-host/plugin/copy-to-local/index.js diff --git a/packages/ui/certd-server/metadata/deploy_CustomScript.yaml b/packages/ui/certd-server/metadata/deploy_CustomScript.yaml new file mode 100644 index 00000000..6d55123a --- /dev/null +++ b/packages/ui/certd-server/metadata/deploy_CustomScript.yaml @@ -0,0 +1,35 @@ +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: {} +type: builtIn +pluginType: deploy +scriptFilePath: ../../../plugins/plugin-other/plugins/plugin-script.js diff --git a/packages/ui/certd-server/metadata/deploy_DBBackupPlugin.yaml b/packages/ui/certd-server/metadata/deploy_DBBackupPlugin.yaml new file mode 100644 index 00000000..5a18216a --- /dev/null +++ b/packages/ui/certd-server/metadata/deploy_DBBackupPlugin.yaml @@ -0,0 +1,127 @@ +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 + - label: oss上传 + value: oss + 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 + ossType: + title: OSS类型 + component: + name: a-select + options: + - value: alioss + label: 阿里云OSS + - value: s3 + label: MinIO/S3 + - value: qiniuoss + label: 七牛云 + - value: tencentcos + label: 腾讯云COS + - value: ftp + label: Ftp + - value: sftp + label: Sftp + mergeScript: |2- + + return { + show:ctx.compute(({form})=>{ + return form.backupMode === 'oss'; + }) + } + + required: true + order: 0 + ossAccessId: + title: OSS授权 + component: + name: access-selector + mergeScript: |2- + + return { + show:ctx.compute(({form})=>{ + return form.backupMode === 'oss'; + }), + component:{ + type: ctx.compute(({form})=>{ + return form.ossType; + }), + } + } + + 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: {} +type: builtIn +pluginType: deploy +scriptFilePath: ../../../plugins/plugin-other/plugins/plugin-db-backup.js diff --git a/packages/ui/certd-server/metadata/deploy_DemoTest.yaml b/packages/ui/certd-server/metadata/deploy_DemoTest.yaml new file mode 100644 index 00000000..057a1b71 --- /dev/null +++ b/packages/ui/certd-server/metadata/deploy_DemoTest.yaml @@ -0,0 +1,124 @@ +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: {} +type: builtIn +pluginType: deploy +scriptFilePath: ../../../plugins/plugin-demo/plugins/plugin-test.js diff --git a/packages/ui/certd-server/metadata/deploy_DeployCertToAliyunCDN.yaml b/packages/ui/certd-server/metadata/deploy_DeployCertToAliyunCDN.yaml new file mode 100644 index 00000000..a1959e3f --- /dev/null +++ b/packages/ui/certd-server/metadata/deploy_DeployCertToAliyunCDN.yaml @@ -0,0 +1,109 @@ +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: {} +type: builtIn +pluginType: deploy +scriptFilePath: ../../../plugins/plugin-aliyun/plugin/index.js diff --git a/packages/ui/certd-server/metadata/deploy_DeployCertToAliyunDCDN.yaml b/packages/ui/certd-server/metadata/deploy_DeployCertToAliyunDCDN.yaml new file mode 100644 index 00000000..95d6c152 --- /dev/null +++ b/packages/ui/certd-server/metadata/deploy_DeployCertToAliyunDCDN.yaml @@ -0,0 +1,59 @@ +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: {} +type: builtIn +pluginType: deploy +scriptFilePath: ../../../plugins/plugin-aliyun/plugin/index.js diff --git a/packages/ui/certd-server/metadata/deploy_DeployCertToAliyunOSS.yaml b/packages/ui/certd-server/metadata/deploy_DeployCertToAliyunOSS.yaml new file mode 100644 index 00000000..e1665f8f --- /dev/null +++ b/packages/ui/certd-server/metadata/deploy_DeployCertToAliyunOSS.yaml @@ -0,0 +1,113 @@ +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: {} +type: builtIn +pluginType: deploy +scriptFilePath: ../../../plugins/plugin-aliyun/plugin/index.js diff --git a/packages/ui/certd-server/metadata/deploy_DeployCertToTencentAll.yaml b/packages/ui/certd-server/metadata/deploy_DeployCertToTencentAll.yaml new file mode 100644 index 00000000..1544efcc --- /dev/null +++ b/packages/ui/certd-server/metadata/deploy_DeployCertToTencentAll.yaml @@ -0,0 +1,90 @@ +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: {} +type: builtIn +pluginType: deploy +scriptFilePath: ../../../plugins/plugin-tencent/plugin/index.js diff --git a/packages/ui/certd-server/metadata/deploy_DeployCertToTencentCDN.yaml b/packages/ui/certd-server/metadata/deploy_DeployCertToTencentCDN.yaml new file mode 100644 index 00000000..6bfc252d --- /dev/null +++ b/packages/ui/certd-server/metadata/deploy_DeployCertToTencentCDN.yaml @@ -0,0 +1,43 @@ +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: {} +type: builtIn +pluginType: deploy +scriptFilePath: ../../../plugins/plugin-tencent/plugin/index.js diff --git a/packages/ui/certd-server/metadata/deploy_DeployCertToTencentCLB.yaml b/packages/ui/certd-server/metadata/deploy_DeployCertToTencentCLB.yaml new file mode 100644 index 00000000..cdc86fc8 --- /dev/null +++ b/packages/ui/certd-server/metadata/deploy_DeployCertToTencentCLB.yaml @@ -0,0 +1,82 @@ +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: {} +type: builtIn +pluginType: deploy +scriptFilePath: ../../../plugins/plugin-tencent/plugin/index.js diff --git a/packages/ui/certd-server/metadata/deploy_DeployCertToTencentCosPlugin.yaml b/packages/ui/certd-server/metadata/deploy_DeployCertToTencentCosPlugin.yaml new file mode 100644 index 00000000..9ba3aef9 --- /dev/null +++ b/packages/ui/certd-server/metadata/deploy_DeployCertToTencentCosPlugin.yaml @@ -0,0 +1,122 @@ +showRunStrategy: false +default: + strategy: + runStrategy: 1 +name: DeployCertToTencentCosPlugin +title: 腾讯云-部署证书到COS +needPlus: false +icon: svg:icon-tencentcloud +group: tencent +desc: 部署到腾讯云COS源站域名证书【注意:很不稳定,需要重试很多次偶尔才能成功一次】 +input: + accessId: + title: Access授权 + helper: access授权 + component: + name: access-selector + type: tencent + required: true + order: 0 + bucket: + title: 存储桶名称 + helper: 请输入存储桶名称 + order: 0 + region: + title: 所在地域 + helper: 存储桶所在地域 + component: + name: a-auto-complete + vModel: value + options: + - value: '' + label: '--------中国大陆地区-------' + disabled: true + - value: ap-beijing-1 + label: 北京1区 + - value: ap-beijing + label: 北京 + - value: ap-nanjing + label: 南京 + - value: ap-shanghai + label: 上海 + - value: ap-guangzhou + label: 广州 + - value: ap-chengdu + label: 成都 + - value: ap-chongqing + label: 重庆 + - value: ap-shenzhen-fsi + label: 深圳金融 + - value: ap-shanghai-fsi + label: 上海金融 + - value: ap-beijing-fsi + label: 北京金融 + - value: '' + label: '--------中国香港及境外-------' + disabled: true + - value: ap-hongkong + label: 中国香港 + - value: ap-singapore + label: 新加坡 + - value: ap-mumbai + label: 孟买 + - value: ap-jakarta + label: 雅加达 + - value: ap-seoul + label: 首尔 + - value: ap-bangkok + label: 曼谷 + - value: ap-tokyo + label: 东京 + - value: na-siliconvalley + label: 硅谷 + - value: na-ashburn + label: 弗吉尼亚 + - value: sa-saopaulo + label: 圣保罗 + - value: eu-frankfurt + label: 法兰克福 + order: 0 + domains: + title: COS域名 + component: + name: remote-select + vModel: value + mode: tags + type: plugin + typeName: DeployCertToTencentCosPlugin + action: onGetDomainList + 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: {} +type: builtIn +pluginType: deploy +scriptFilePath: ../../../plugins/plugin-tencent/plugin/index.js diff --git a/packages/ui/certd-server/metadata/deploy_DeployCertToTencentEO.yaml b/packages/ui/certd-server/metadata/deploy_DeployCertToTencentEO.yaml new file mode 100644 index 00000000..c6a712a3 --- /dev/null +++ b/packages/ui/certd-server/metadata/deploy_DeployCertToTencentEO.yaml @@ -0,0 +1,51 @@ +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: {} +type: builtIn +pluginType: deploy +scriptFilePath: ../../../plugins/plugin-tencent/plugin/index.js diff --git a/packages/ui/certd-server/metadata/deploy_DeployCertToTencentTKEIngress.yaml b/packages/ui/certd-server/metadata/deploy_DeployCertToTencentTKEIngress.yaml new file mode 100644 index 00000000..17deeddf --- /dev/null +++ b/packages/ui/certd-server/metadata/deploy_DeployCertToTencentTKEIngress.yaml @@ -0,0 +1,96 @@ +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: {} +type: builtIn +pluginType: deploy +scriptFilePath: ../../../plugins/plugin-tencent/plugin/index.js diff --git a/packages/ui/certd-server/metadata/deploy_DogeCloudDeployToCDN.yaml b/packages/ui/certd-server/metadata/deploy_DogeCloudDeployToCDN.yaml new file mode 100644 index 00000000..79402962 --- /dev/null +++ b/packages/ui/certd-server/metadata/deploy_DogeCloudDeployToCDN.yaml @@ -0,0 +1,47 @@ +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: {} +type: builtIn +pluginType: deploy +scriptFilePath: ../../../plugins/plugin-doge/plugins/index.js diff --git a/packages/ui/certd-server/metadata/deploy_Gcoreflush.yaml b/packages/ui/certd-server/metadata/deploy_Gcoreflush.yaml new file mode 100644 index 00000000..745b583a --- /dev/null +++ b/packages/ui/certd-server/metadata/deploy_Gcoreflush.yaml @@ -0,0 +1,40 @@ +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: {} +type: builtIn +pluginType: deploy +scriptFilePath: ../../../plugins/plugin-gcore/plugins/plugin-flush.js diff --git a/packages/ui/certd-server/metadata/deploy_Gcoreupload.yaml b/packages/ui/certd-server/metadata/deploy_Gcoreupload.yaml new file mode 100644 index 00000000..030a10e6 --- /dev/null +++ b/packages/ui/certd-server/metadata/deploy_Gcoreupload.yaml @@ -0,0 +1,37 @@ +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: {} +type: builtIn +pluginType: deploy +scriptFilePath: ../../../plugins/plugin-gcore/plugins/plugin-upload.js diff --git a/packages/ui/certd-server/metadata/deploy_HauweiDeployCertToCDN.yaml b/packages/ui/certd-server/metadata/deploy_HauweiDeployCertToCDN.yaml new file mode 100644 index 00000000..2fe891cc --- /dev/null +++ b/packages/ui/certd-server/metadata/deploy_HauweiDeployCertToCDN.yaml @@ -0,0 +1,78 @@ +showRunStrategy: false +default: + strategy: + runStrategy: 1 +name: HauweiDeployCertToCDN +title: 华为云-部署证书至CDN +icon: svg:icon-huawei +group: huawei +desc: '' +input: + cert: + title: 域名证书 + helper: >- + 请选择前置任务输出的域名证书 + + 如果你选择使用ccm证书ID,则需要在[域名管理页面右上角开启SCM授权](https://console.huaweicloud.com/cdn/#/cdn/domain) + component: + name: output-selector + from: + - CertApply + - CertApplyLego + - CertApplyUpload + - HauweiUploadToCCM + 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: {} +type: builtIn +pluginType: deploy +scriptFilePath: ../../../plugins/plugin-huawei/plugins/deploy-to-cdn/index.js diff --git a/packages/ui/certd-server/metadata/deploy_HauweiUploadToCCM.yaml b/packages/ui/certd-server/metadata/deploy_HauweiUploadToCCM.yaml new file mode 100644 index 00000000..6d5647df --- /dev/null +++ b/packages/ui/certd-server/metadata/deploy_HauweiUploadToCCM.yaml @@ -0,0 +1,51 @@ +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 +type: builtIn +pluginType: deploy +scriptFilePath: ../../../plugins/plugin-huawei/plugins/upload-to-ccm/index.js diff --git a/packages/ui/certd-server/metadata/deploy_JDCloudDeployToCDN.yaml b/packages/ui/certd-server/metadata/deploy_JDCloudDeployToCDN.yaml new file mode 100644 index 00000000..ebdda4c8 --- /dev/null +++ b/packages/ui/certd-server/metadata/deploy_JDCloudDeployToCDN.yaml @@ -0,0 +1,76 @@ +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: {} +type: builtIn +pluginType: deploy +scriptFilePath: ../../../plugins/plugin-jdcloud/plugins/plugin-deploy-to-cdn.js diff --git a/packages/ui/certd-server/metadata/deploy_JDCloudUpdateCert.yaml b/packages/ui/certd-server/metadata/deploy_JDCloudUpdateCert.yaml new file mode 100644 index 00000000..aeda33c7 --- /dev/null +++ b/packages/ui/certd-server/metadata/deploy_JDCloudUpdateCert.yaml @@ -0,0 +1,76 @@ +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: {} +type: builtIn +pluginType: deploy +scriptFilePath: ../../../plugins/plugin-jdcloud/plugins/plugin-update-cert.js diff --git a/packages/ui/certd-server/metadata/deploy_JDCloudUploadCert.yaml b/packages/ui/certd-server/metadata/deploy_JDCloudUploadCert.yaml new file mode 100644 index 00000000..080a2bff --- /dev/null +++ b/packages/ui/certd-server/metadata/deploy_JDCloudUploadCert.yaml @@ -0,0 +1,41 @@ +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 +type: builtIn +pluginType: deploy +scriptFilePath: ../../../plugins/plugin-jdcloud/plugins/plugin-upload-cert.js diff --git a/packages/ui/certd-server/metadata/deploy_ProxmoxUploadCert.yaml b/packages/ui/certd-server/metadata/deploy_ProxmoxUploadCert.yaml new file mode 100644 index 00000000..7a3b082e --- /dev/null +++ b/packages/ui/certd-server/metadata/deploy_ProxmoxUploadCert.yaml @@ -0,0 +1,57 @@ +showRunStrategy: false +default: + strategy: + runStrategy: 1 +name: ProxmoxUploadCert +title: Proxmox-上传证书到Proxmox +icon: svg:icon-proxmox +group: panel +needPlus: true +input: + cert: + title: 域名证书 + helper: 请选择前置任务输出的域名证书 + component: + name: output-selector + from: + - 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: {} +type: builtIn +pluginType: deploy +scriptFilePath: ../../../plugins/plugin-proxmox/plugins/plugin-upload.js diff --git a/packages/ui/certd-server/metadata/deploy_QiniuCertUpload.yaml b/packages/ui/certd-server/metadata/deploy_QiniuCertUpload.yaml new file mode 100644 index 00000000..c741a031 --- /dev/null +++ b/packages/ui/certd-server/metadata/deploy_QiniuCertUpload.yaml @@ -0,0 +1,39 @@ +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 +type: builtIn +pluginType: deploy +scriptFilePath: ../../../plugins/plugin-qiniu/plugin/upload-cert/index.js diff --git a/packages/ui/certd-server/metadata/deploy_QiniuDeployCertToCDN.yaml b/packages/ui/certd-server/metadata/deploy_QiniuDeployCertToCDN.yaml new file mode 100644 index 00000000..4298273b --- /dev/null +++ b/packages/ui/certd-server/metadata/deploy_QiniuDeployCertToCDN.yaml @@ -0,0 +1,77 @@ +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: {} +type: builtIn +pluginType: deploy +scriptFilePath: ../../../plugins/plugin-qiniu/plugin/index.js diff --git a/packages/ui/certd-server/metadata/deploy_QnapDeploy.yaml b/packages/ui/certd-server/metadata/deploy_QnapDeploy.yaml new file mode 100644 index 00000000..2dc09253 --- /dev/null +++ b/packages/ui/certd-server/metadata/deploy_QnapDeploy.yaml @@ -0,0 +1,34 @@ +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: {} +type: builtIn +pluginType: deploy +scriptFilePath: ../../../plugins/plugin-qnap/plugins/plugin-qnap.js diff --git a/packages/ui/certd-server/metadata/deploy_RestartCertd.yaml b/packages/ui/certd-server/metadata/deploy_RestartCertd.yaml new file mode 100644 index 00000000..95886928 --- /dev/null +++ b/packages/ui/certd-server/metadata/deploy_RestartCertd.yaml @@ -0,0 +1,14 @@ +showRunStrategy: false +default: + strategy: + runStrategy: 1 +name: RestartCertd +title: 重启 Certd +icon: mdi:restart +desc: 【仅管理员可用】 重启 certd的https服务,用于更新 Certd 的 ssl 证书 +group: other +input: {} +output: {} +type: builtIn +pluginType: deploy +scriptFilePath: ../../../plugins/plugin-other/plugins/plugin-restart.js diff --git a/packages/ui/certd-server/metadata/deploy_TencentActionInstancesPlugin.yaml b/packages/ui/certd-server/metadata/deploy_TencentActionInstancesPlugin.yaml new file mode 100644 index 00000000..82268c56 --- /dev/null +++ b/packages/ui/certd-server/metadata/deploy_TencentActionInstancesPlugin.yaml @@ -0,0 +1,135 @@ +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: {} +type: builtIn +pluginType: deploy +scriptFilePath: ../../../plugins/plugin-tencent/plugin/start-instances/index.js diff --git a/packages/ui/certd-server/metadata/deploy_TencentDeleteExpiringCert.yaml b/packages/ui/certd-server/metadata/deploy_TencentDeleteExpiringCert.yaml new file mode 100644 index 00000000..db929388 --- /dev/null +++ b/packages/ui/certd-server/metadata/deploy_TencentDeleteExpiringCert.yaml @@ -0,0 +1,61 @@ +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: {} +type: builtIn +pluginType: deploy +scriptFilePath: ../../../plugins/plugin-tencent/plugin/index.js diff --git a/packages/ui/certd-server/metadata/deploy_TencentDeployCertToCDNv2.yaml b/packages/ui/certd-server/metadata/deploy_TencentDeployCertToCDNv2.yaml new file mode 100644 index 00000000..0835f9e0 --- /dev/null +++ b/packages/ui/certd-server/metadata/deploy_TencentDeployCertToCDNv2.yaml @@ -0,0 +1,59 @@ +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: {} +type: builtIn +pluginType: deploy +scriptFilePath: ../../../plugins/plugin-tencent/plugin/index.js diff --git a/packages/ui/certd-server/metadata/deploy_TencentDeployCertToLive.yaml b/packages/ui/certd-server/metadata/deploy_TencentDeployCertToLive.yaml new file mode 100644 index 00000000..45f0e854 --- /dev/null +++ b/packages/ui/certd-server/metadata/deploy_TencentDeployCertToLive.yaml @@ -0,0 +1,60 @@ +showRunStrategy: false +default: + strategy: + runStrategy: 1 +name: TencentDeployCertToLive +title: 腾讯云-部署到腾讯云直播 +icon: svg:icon-tencentcloud +desc: https://console.cloud.tencent.com/live/ +group: tencent +needPlus: 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: {} +type: builtIn +pluginType: deploy +scriptFilePath: ../../../plugins/plugin-tencent/plugin/deploy-to-live/index.js diff --git a/packages/ui/certd-server/metadata/deploy_UploadCertToTencent.yaml b/packages/ui/certd-server/metadata/deploy_UploadCertToTencent.yaml new file mode 100644 index 00000000..f3170882 --- /dev/null +++ b/packages/ui/certd-server/metadata/deploy_UploadCertToTencent.yaml @@ -0,0 +1,38 @@ +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 +type: builtIn +pluginType: deploy +scriptFilePath: ../../../plugins/plugin-tencent/plugin/upload-to-tencent/index.js diff --git a/packages/ui/certd-server/metadata/deploy_UpyunDeployToCdn.yaml b/packages/ui/certd-server/metadata/deploy_UpyunDeployToCdn.yaml new file mode 100644 index 00000000..de7147a0 --- /dev/null +++ b/packages/ui/certd-server/metadata/deploy_UpyunDeployToCdn.yaml @@ -0,0 +1,104 @@ +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: {} +type: builtIn +pluginType: deploy +scriptFilePath: ../../../plugins/plugin-upyun/plugins/plugin-depoy-to-cdn.js diff --git a/packages/ui/certd-server/metadata/deploy_VolcengineDeployToALB.yaml b/packages/ui/certd-server/metadata/deploy_VolcengineDeployToALB.yaml new file mode 100644 index 00000000..6bb210f5 --- /dev/null +++ b/packages/ui/certd-server/metadata/deploy_VolcengineDeployToALB.yaml @@ -0,0 +1,100 @@ +showRunStrategy: false +default: + strategy: + runStrategy: 1 +name: VolcengineDeployToALB +title: 火山引擎-部署证书至ALB +icon: svg:icon-volcengine +group: volcengine +desc: 部署至火山引擎应用负载均衡 +input: + cert: + title: 域名证书 + helper: 请选择前置任务输出的域名证书 + component: + name: output-selector + from: + - CertApply + - CertApplyLego + - CertApplyUpload + - VolcengineUploadToCertCenter + 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 + regionId: + title: Region + helper: 地区选择 + component: + name: a-select + options: + - label: 北京 + value: cn-beijing + - label: 上海 + value: cn-shanghai + - label: 广州 + value: cn-guangzhou + - label: 香港 + value: cn-hongkong + - label: 柔佛 + value: ap-southeast-1 + - label: 雅加达 + value: ap-southeast-3 + value: cn-beijing + required: true + order: 0 + listenerList: + title: 监听器列表 + component: + name: remote-select + vModel: value + mode: tags + type: plugin + action: onGetListenerList + watches: + - certDomains + - accessId + - certDomains + - accessId + - regionId + required: true + mergeScript: |2- + + return { + component:{ + form: ctx.compute(({form})=>{ + return form + }) + }, + } + + helper: |- + 选择要部署证书的监听器 + 需要在监听器中选择证书中心,进行跨服务访问授权 + order: 0 +output: {} +type: builtIn +pluginType: deploy +scriptFilePath: ../../../plugins/plugin-volcengine/plugins/plugin-deploy-to-alb.js diff --git a/packages/ui/certd-server/metadata/deploy_VolcengineDeployToCDN.yaml b/packages/ui/certd-server/metadata/deploy_VolcengineDeployToCDN.yaml new file mode 100644 index 00000000..f6b545c6 --- /dev/null +++ b/packages/ui/certd-server/metadata/deploy_VolcengineDeployToCDN.yaml @@ -0,0 +1,92 @@ +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 + - VolcengineUploadToCertCenter + 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: {} +type: builtIn +pluginType: deploy +scriptFilePath: ../../../plugins/plugin-volcengine/plugins/plugin-deploy-to-cdn.js diff --git a/packages/ui/certd-server/metadata/deploy_VolcengineDeployToCLB.yaml b/packages/ui/certd-server/metadata/deploy_VolcengineDeployToCLB.yaml new file mode 100644 index 00000000..b2b1c889 --- /dev/null +++ b/packages/ui/certd-server/metadata/deploy_VolcengineDeployToCLB.yaml @@ -0,0 +1,110 @@ +showRunStrategy: false +default: + strategy: + runStrategy: 1 +name: VolcengineDeployToCLB +title: 火山引擎-部署证书至CLB +icon: svg:icon-volcengine +group: volcengine +desc: 部署至火山引擎负载均衡 +input: + cert: + title: 域名证书 + helper: 请选择前置任务输出的域名证书 + component: + name: output-selector + from: + - CertApply + - CertApplyLego + - CertApplyUpload + - VolcengineUploadToCertCenter + 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 + regionId: + title: Region + helper: 地区选择 + component: + name: a-select + options: + - label: 北京 + value: cn-beijing + - label: 上海 + value: cn-shanghai + - label: 广州 + value: cn-guangzhou + - label: 深圳 + value: cn-shenzhen + - label: 杭州 + value: cn-hangzhou + - label: 南京 + value: cn-north-1 + - label: 青岛 + value: cn-qingdao + - label: 重庆 + value: cn-chengdu + - label: 香港 + value: cn-hongkong + - label: 柔佛 + value: ap-southeast-1 + - label: 雅加达 + value: ap-southeast-3 + value: cn-beijing + required: true + order: 0 + listenerList: + title: 监听器列表 + component: + name: remote-select + vModel: value + mode: tags + type: plugin + action: onGetListenerList + watches: + - certDomains + - accessId + - certDomains + - accessId + - regionId + required: true + mergeScript: |2- + + return { + component:{ + form: ctx.compute(({form})=>{ + return form + }) + }, + } + + helper: |- + 选择要部署证书的监听器 + 需要在监听器中选择证书中心,进行跨服务访问授权 + order: 0 +output: {} +type: builtIn +pluginType: deploy +scriptFilePath: ../../../plugins/plugin-volcengine/plugins/plugin-deploy-to-clb.js diff --git a/packages/ui/certd-server/metadata/deploy_VolcengineDeployToLive.yaml b/packages/ui/certd-server/metadata/deploy_VolcengineDeployToLive.yaml new file mode 100644 index 00000000..47b3574a --- /dev/null +++ b/packages/ui/certd-server/metadata/deploy_VolcengineDeployToLive.yaml @@ -0,0 +1,75 @@ +showRunStrategy: false +default: + strategy: + runStrategy: 1 +name: VolcengineDeployToLive +title: 火山引擎-部署证书至Live +icon: svg:icon-volcengine +group: volcengine +desc: 部署至火山引擎视频直播 +input: + cert: + title: 域名证书 + helper: 请选择前置任务输出的域名证书 + component: + name: output-selector + from: + - 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: volcengine + required: true + order: 0 + domainList: + title: 直播域名 + 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: 选择要部署证书的直播域名 + order: 0 +output: {} +type: builtIn +pluginType: deploy +scriptFilePath: ../../../plugins/plugin-volcengine/plugins/plugin-deploy-to-live.js diff --git a/packages/ui/certd-server/metadata/deploy_VolcengineDeployToVOD.yaml b/packages/ui/certd-server/metadata/deploy_VolcengineDeployToVOD.yaml new file mode 100644 index 00000000..c3da7fe8 --- /dev/null +++ b/packages/ui/certd-server/metadata/deploy_VolcengineDeployToVOD.yaml @@ -0,0 +1,84 @@ +showRunStrategy: false +default: + strategy: + runStrategy: 1 +name: VolcengineDeployToVOD +title: 火山引擎-部署证书至VOD +icon: svg:icon-volcengine +group: volcengine +desc: 部署至火山引擎视频点播(暂不可用) +deprecated: 暂时缺少部署ssl接口 +input: + cert: + title: 域名证书 + helper: 请选择前置任务输出的域名证书 + component: + name: output-selector + from: + - CertApply + - CertApplyLego + - CertApplyUpload + - VolcengineUploadToCertCenter + 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 + spaceName: + title: 空间名称 + required: true + order: 0 + domainList: + title: 点播域名 + component: + name: remote-select + vModel: value + mode: tags + type: plugin + action: onGetDomainList + watches: + - certDomains + - accessId + - certDomains + - accessId + - spaceName + required: true + mergeScript: |2- + + return { + component:{ + form: ctx.compute(({form})=>{ + return form + }) + }, + } + + helper: |- + 选择要部署证书的点播域名 + 需要先在域名管理页面进行证书中心访问授权(即点击去配置SSL证书) + order: 0 +output: {} +type: builtIn +pluginType: deploy +scriptFilePath: ../../../plugins/plugin-volcengine/plugins/plugin-deploy-to-vod.js diff --git a/packages/ui/certd-server/metadata/deploy_VolcengineUploadToCertCenter.yaml b/packages/ui/certd-server/metadata/deploy_VolcengineUploadToCertCenter.yaml new file mode 100644 index 00000000..6eaad56d --- /dev/null +++ b/packages/ui/certd-server/metadata/deploy_VolcengineUploadToCertCenter.yaml @@ -0,0 +1,51 @@ +showRunStrategy: false +default: + strategy: + runStrategy: 1 +name: VolcengineUploadToCertCenter +title: 火山引擎-上传证书至证书中心 +icon: svg:icon-volcengine +group: volcengine +desc: 上传证书至火山引擎证书中心 +input: + cert: + title: 域名证书 + helper: 请选择前置任务输出的域名证书 + component: + name: output-selector + from: + - 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: volcengine + required: true + order: 0 +output: + volcengineCertId: + title: 上传成功后的火山引擎证书Id +type: builtIn +pluginType: deploy +scriptFilePath: ../../../plugins/plugin-volcengine/plugins/plugin-upload-to-cert-center.js diff --git a/packages/ui/certd-server/metadata/deploy_WaitPlugin.yaml b/packages/ui/certd-server/metadata/deploy_WaitPlugin.yaml new file mode 100644 index 00000000..803d16b5 --- /dev/null +++ b/packages/ui/certd-server/metadata/deploy_WaitPlugin.yaml @@ -0,0 +1,23 @@ +showRunStrategy: true +default: + strategy: + runStrategy: 1 +name: WaitPlugin +title: 等待 +icon: ri:rest-time-line +desc: 等待一段时间 +group: other +input: + waitTime: + title: 等待时长 + value: 30 + component: + name: a-input-number + vModel: value + helper: 单位:秒 + required: true + order: 0 +output: {} +type: builtIn +pluginType: deploy +scriptFilePath: ../../../plugins/plugin-other/plugins/plugin-wait.js diff --git a/packages/ui/certd-server/metadata/deploy_WoaiCDN.yaml b/packages/ui/certd-server/metadata/deploy_WoaiCDN.yaml new file mode 100644 index 00000000..f815f7c7 --- /dev/null +++ b/packages/ui/certd-server/metadata/deploy_WoaiCDN.yaml @@ -0,0 +1,47 @@ +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: {} +type: builtIn +pluginType: deploy +scriptFilePath: ../../../plugins/plugin-woai/plugins/plugin-deploy-to-cdn.js diff --git a/packages/ui/certd-server/metadata/deploy_hostShellExecute.yaml b/packages/ui/certd-server/metadata/deploy_hostShellExecute.yaml new file mode 100644 index 00000000..19e67a1c --- /dev/null +++ b/packages/ui/certd-server/metadata/deploy_hostShellExecute.yaml @@ -0,0 +1,32 @@ +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: {} +type: builtIn +pluginType: deploy +scriptFilePath: ../../../plugins/plugin-host/plugin/index.js diff --git a/packages/ui/certd-server/metadata/deploy_uploadCertToAliyun.yaml b/packages/ui/certd-server/metadata/deploy_uploadCertToAliyun.yaml new file mode 100644 index 00000000..e2114bab --- /dev/null +++ b/packages/ui/certd-server/metadata/deploy_uploadCertToAliyun.yaml @@ -0,0 +1,66 @@ +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 +type: builtIn +pluginType: deploy +scriptFilePath: ../../../plugins/plugin-aliyun/plugin/upload-to-aliyun/index.js diff --git a/packages/ui/certd-server/metadata/deploy_uploadCertToHost.yaml b/packages/ui/certd-server/metadata/deploy_uploadCertToHost.yaml new file mode 100644 index 00000000..b34a6737 --- /dev/null +++ b/packages/ui/certd-server/metadata/deploy_uploadCertToHost.yaml @@ -0,0 +1,225 @@ +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: 一体证书保存路径 +type: builtIn +pluginType: deploy +scriptFilePath: ../../../plugins/plugin-host/plugin/upload-to-host/index.js diff --git a/packages/ui/certd-server/metadata/dnsProvider_51dns.yaml b/packages/ui/certd-server/metadata/dnsProvider_51dns.yaml new file mode 100644 index 00000000..0a9ab1fc --- /dev/null +++ b/packages/ui/certd-server/metadata/dnsProvider_51dns.yaml @@ -0,0 +1,8 @@ +name: 51dns +title: 51dns +desc: 51DNS +icon: arcticons:dns-changer-3 +accessType: 51dns +type: builtIn +pluginType: dnsProvider +scriptFilePath: ../../../plugins/plugin-51dns/index.js diff --git a/packages/ui/certd-server/metadata/dnsProvider_aliyun.yaml b/packages/ui/certd-server/metadata/dnsProvider_aliyun.yaml new file mode 100644 index 00000000..92dbd060 --- /dev/null +++ b/packages/ui/certd-server/metadata/dnsProvider_aliyun.yaml @@ -0,0 +1,8 @@ +name: aliyun +title: 阿里云 +desc: 阿里云DNS解析提供商 +accessType: aliyun +icon: svg:icon-aliyun +type: builtIn +pluginType: dnsProvider +scriptFilePath: ../../../plugins/plugin-aliyun/dns-provider/aliyun-dns-provider.js diff --git a/packages/ui/certd-server/metadata/dnsProvider_cloudflare.yaml b/packages/ui/certd-server/metadata/dnsProvider_cloudflare.yaml new file mode 100644 index 00000000..8e9442f9 --- /dev/null +++ b/packages/ui/certd-server/metadata/dnsProvider_cloudflare.yaml @@ -0,0 +1,8 @@ +name: cloudflare +title: cloudflare +desc: cloudflare dns provider +icon: simple-icons:cloudflare +accessType: cloudflare +type: builtIn +pluginType: dnsProvider +scriptFilePath: ../../../plugins/plugin-cloudflare/index.js diff --git a/packages/ui/certd-server/metadata/dnsProvider_demo.yaml b/packages/ui/certd-server/metadata/dnsProvider_demo.yaml new file mode 100644 index 00000000..44c0c7a7 --- /dev/null +++ b/packages/ui/certd-server/metadata/dnsProvider_demo.yaml @@ -0,0 +1,8 @@ +name: demo +title: Dns提供商Demo +desc: dns provider示例 +icon: clarity:plugin-line +accessType: demo +type: builtIn +pluginType: dnsProvider +scriptFilePath: ../../../plugins/plugin-demo/index.js diff --git a/packages/ui/certd-server/metadata/dnsProvider_dnsla.yaml b/packages/ui/certd-server/metadata/dnsProvider_dnsla.yaml new file mode 100644 index 00000000..5957de62 --- /dev/null +++ b/packages/ui/certd-server/metadata/dnsProvider_dnsla.yaml @@ -0,0 +1,8 @@ +name: dnsla +title: dns.la +desc: dns.la +icon: arcticons:dns-changer-3 +accessType: dnsla +type: builtIn +pluginType: dnsProvider +scriptFilePath: ../../../plugins/plugin-dnsla/index.js diff --git a/packages/ui/certd-server/metadata/dnsProvider_dnspod.yaml b/packages/ui/certd-server/metadata/dnsProvider_dnspod.yaml new file mode 100644 index 00000000..e1945801 --- /dev/null +++ b/packages/ui/certd-server/metadata/dnsProvider_dnspod.yaml @@ -0,0 +1,9 @@ +name: dnspod +title: dnspod(已过时,请尽快换成腾讯云) +desc: 已废弃,请尽快换成腾讯云类型 +accessType: dnspod +deprecated: dnspod已废弃,请换成腾讯云 +icon: svg:icon-tencentcloud +type: builtIn +pluginType: dnsProvider +scriptFilePath: ../../../plugins/plugin-tencent/dns-provider/dnspod-dns-provider.js diff --git a/packages/ui/certd-server/metadata/dnsProvider_huawei.yaml b/packages/ui/certd-server/metadata/dnsProvider_huawei.yaml new file mode 100644 index 00000000..f6ce11de --- /dev/null +++ b/packages/ui/certd-server/metadata/dnsProvider_huawei.yaml @@ -0,0 +1,8 @@ +name: huawei +title: 华为云 +desc: 华为云DNS解析提供商 +accessType: huawei +icon: svg:icon-huawei +type: builtIn +pluginType: dnsProvider +scriptFilePath: ../../../plugins/plugin-huawei/dns-provider/huawei-dns-provider.js diff --git a/packages/ui/certd-server/metadata/dnsProvider_jdcloud.yaml b/packages/ui/certd-server/metadata/dnsProvider_jdcloud.yaml new file mode 100644 index 00000000..74f461e8 --- /dev/null +++ b/packages/ui/certd-server/metadata/dnsProvider_jdcloud.yaml @@ -0,0 +1,8 @@ +name: jdcloud +title: 京东云 +desc: 京东云DNS解析提供商 +accessType: jdcloud +icon: svg:icon-jdcloud +type: builtIn +pluginType: dnsProvider +scriptFilePath: ../../../plugins/plugin-jdcloud/index.js diff --git a/packages/ui/certd-server/metadata/dnsProvider_namesilo.yaml b/packages/ui/certd-server/metadata/dnsProvider_namesilo.yaml new file mode 100644 index 00000000..bbe073c6 --- /dev/null +++ b/packages/ui/certd-server/metadata/dnsProvider_namesilo.yaml @@ -0,0 +1,8 @@ +name: namesilo +title: namesilo +desc: namesilo dns provider +icon: simple-icons:namesilo +accessType: namesilo +type: builtIn +pluginType: dnsProvider +scriptFilePath: ../../../plugins/plugin-namesilo/index.js diff --git a/packages/ui/certd-server/metadata/dnsProvider_tencent.yaml b/packages/ui/certd-server/metadata/dnsProvider_tencent.yaml new file mode 100644 index 00000000..b3668b42 --- /dev/null +++ b/packages/ui/certd-server/metadata/dnsProvider_tencent.yaml @@ -0,0 +1,8 @@ +name: tencent +title: 腾讯云 +desc: 腾讯云域名DNS解析提供者 +accessType: tencent +icon: svg:icon-tencentcloud +type: builtIn +pluginType: dnsProvider +scriptFilePath: ../../../plugins/plugin-tencent/dns-provider/tencent-dns-provider.js diff --git a/packages/ui/certd-server/metadata/dnsProvider_volcengine.yaml b/packages/ui/certd-server/metadata/dnsProvider_volcengine.yaml new file mode 100644 index 00000000..d5ec854e --- /dev/null +++ b/packages/ui/certd-server/metadata/dnsProvider_volcengine.yaml @@ -0,0 +1,8 @@ +name: volcengine +title: 火山引擎 +desc: 火山引擎DNS解析提供商 +accessType: volcengine +icon: svg:icon-volcengine +type: builtIn +pluginType: dnsProvider +scriptFilePath: ../../../plugins/plugin-volcengine/volcengine-dns-provider.js diff --git a/packages/ui/certd-server/metadata/dnsProvider_west.yaml b/packages/ui/certd-server/metadata/dnsProvider_west.yaml new file mode 100644 index 00000000..1d764c56 --- /dev/null +++ b/packages/ui/certd-server/metadata/dnsProvider_west.yaml @@ -0,0 +1,8 @@ +name: west +title: 西部数码 +desc: west dns provider +icon: svg:icon-xibushuma +accessType: west +type: builtIn +pluginType: dnsProvider +scriptFilePath: ../../../plugins/plugin-west/index.js diff --git a/packages/ui/certd-server/metadata/notification_anpush.yaml b/packages/ui/certd-server/metadata/notification_anpush.yaml new file mode 100644 index 00000000..fda58adf --- /dev/null +++ b/packages/ui/certd-server/metadata/notification_anpush.yaml @@ -0,0 +1,20 @@ +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 +type: builtIn +pluginType: notification +scriptFilePath: ../../../plugins/plugin-notification/index.js diff --git a/packages/ui/certd-server/metadata/notification_bark.yaml b/packages/ui/certd-server/metadata/notification_bark.yaml new file mode 100644 index 00000000..4ff58c85 --- /dev/null +++ b/packages/ui/certd-server/metadata/notification_bark.yaml @@ -0,0 +1,21 @@ +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 +type: builtIn +pluginType: notification +scriptFilePath: ../../../plugins/plugin-notification/index.js diff --git a/packages/ui/certd-server/metadata/notification_dingtalk.yaml b/packages/ui/certd-server/metadata/notification_dingtalk.yaml new file mode 100644 index 00000000..99da0025 --- /dev/null +++ b/packages/ui/certd-server/metadata/notification_dingtalk.yaml @@ -0,0 +1,51 @@ +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 +type: builtIn +pluginType: notification +scriptFilePath: ../../../plugins/plugin-notification/dingtalk/index.js diff --git a/packages/ui/certd-server/metadata/notification_discord.yaml b/packages/ui/certd-server/metadata/notification_discord.yaml new file mode 100644 index 00000000..833f440b --- /dev/null +++ b/packages/ui/certd-server/metadata/notification_discord.yaml @@ -0,0 +1,38 @@ +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 +type: builtIn +pluginType: notification +scriptFilePath: ../../../plugins/plugin-notification/index.js diff --git a/packages/ui/certd-server/metadata/notification_email.yaml b/packages/ui/certd-server/metadata/notification_email.yaml new file mode 100644 index 00000000..b43ed45c --- /dev/null +++ b/packages/ui/certd-server/metadata/notification_email.yaml @@ -0,0 +1,18 @@ +name: email +title: 电子邮件 +desc: 电子邮件通知 +input: + receivers: + title: 收件人邮箱 + component: + name: a-select + vModel: value + mode: tags + open: false + required: true + helper: |- + 可以填写多个,填写一个按回车键再填写下一个 + 需要先[配置邮件服务器](#/sys/settings/email) +type: builtIn +pluginType: notification +scriptFilePath: ../../../plugins/plugin-notification/index.js diff --git a/packages/ui/certd-server/metadata/notification_feishu.yaml b/packages/ui/certd-server/metadata/notification_feishu.yaml new file mode 100644 index 00000000..e75c89af --- /dev/null +++ b/packages/ui/certd-server/metadata/notification_feishu.yaml @@ -0,0 +1,43 @@ +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 +type: builtIn +pluginType: notification +scriptFilePath: ../../../plugins/plugin-notification/index.js diff --git a/packages/ui/certd-server/metadata/notification_iyuu.yaml b/packages/ui/certd-server/metadata/notification_iyuu.yaml new file mode 100644 index 00000000..3754a6ce --- /dev/null +++ b/packages/ui/certd-server/metadata/notification_iyuu.yaml @@ -0,0 +1,14 @@ +name: iyuu +title: 爱语飞飞微信通知(iyuu) +desc: https://iyuu.cn/ +needPlus: true +input: + token: + title: Token令牌 + component: + placeholder: '' + helper: https://iyuu.cn/ 微信扫码获取 + required: true +type: builtIn +pluginType: notification +scriptFilePath: ../../../plugins/plugin-notification/iyuu/index.js diff --git a/packages/ui/certd-server/metadata/notification_qywx.yaml b/packages/ui/certd-server/metadata/notification_qywx.yaml new file mode 100644 index 00000000..5f0d0c5f --- /dev/null +++ b/packages/ui/certd-server/metadata/notification_qywx.yaml @@ -0,0 +1,32 @@ +name: qywx +title: 企业微信通知 +desc: 企业微信群聊机器人通知 +needPlus: true +input: + webhook: + title: webhook地址 + component: + placeholder: https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=xxxxx + helper: '[企微群聊机器人配置说明](https://developer.work.weixin.qq.com/document/path/91770)' + required: true + mentionedList: + title: 提醒指定成员 + component: + name: a-select + vModel: value + mode: tags + open: false + required: false + helper: 填写成员名字,@all 为提醒所有人 + mentionedMobileList: + title: 提醒指定手机号成员 + component: + name: a-select + vModel: value + mode: tags + open: false + required: false + helper: 填写成员手机号,@all 为提醒所有人 +type: builtIn +pluginType: notification +scriptFilePath: ../../../plugins/plugin-notification/qywx/index.js diff --git a/packages/ui/certd-server/metadata/notification_serverchan.yaml b/packages/ui/certd-server/metadata/notification_serverchan.yaml new file mode 100644 index 00000000..b1ed8d66 --- /dev/null +++ b/packages/ui/certd-server/metadata/notification_serverchan.yaml @@ -0,0 +1,37 @@ +name: serverchan +title: Server酱ᵀ +desc: https://sct.ftqq.com/ +needPlus: true +input: + endpoint: + title: 服务地址 + value: https://sctapi.ftqq.com + required: true + sendKey: + title: SendKey + component: + placeholder: https://sctapi.ftqq.com/.send + helper: https://sct.ftqq.com/ 微信扫码获取 + required: true + channel: + title: 消息通道号 + component: + placeholder: 9|66 + helper: 可以不填,最多两个通道,[通道配置说明](https://sct.ftqq.com/sendkey) + required: false + noip: + title: 是否隐藏IP + component: + name: a-switch + vModel: checked + required: false + skipSslVerify: + title: 忽略证书校验 + value: false + component: + name: a-switch + vModel: checked + required: false +type: builtIn +pluginType: notification +scriptFilePath: ../../../plugins/plugin-notification/serverchan/index.js diff --git a/packages/ui/certd-server/metadata/notification_serverchan3.yaml b/packages/ui/certd-server/metadata/notification_serverchan3.yaml new file mode 100644 index 00000000..a87ff5e0 --- /dev/null +++ b/packages/ui/certd-server/metadata/notification_serverchan3.yaml @@ -0,0 +1,32 @@ +name: serverchan3 +title: Server酱³ +desc: https://doc.sc3.ft07.com/serverchan3 +needPlus: true +input: + apiURL: + title: ApiURL + component: + placeholder: https://uid.push.ft07.com/send/sendKey.send + required: true + tags: + title: 标签Tags + component: + name: a-select + vModel: value + mode: tags + open: false + helper: 支持多个,回车后填写下一个 + required: false + short: + title: short + required: false + skipSslVerify: + title: 忽略证书校验 + value: false + component: + name: a-switch + vModel: checked + required: false +type: builtIn +pluginType: notification +scriptFilePath: ../../../plugins/plugin-notification/serverchan3/index.js diff --git a/packages/ui/certd-server/metadata/notification_slack.yaml b/packages/ui/certd-server/metadata/notification_slack.yaml new file mode 100644 index 00000000..29af1cc6 --- /dev/null +++ b/packages/ui/certd-server/metadata/notification_slack.yaml @@ -0,0 +1,30 @@ +name: slack +title: Slack通知 +desc: Slack消息推送通知 +needPlus: true +input: + webhook: + title: webhook地址 + component: + placeholder: >- + https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX + helper: >- + [APPS](https://api.slack.com/apps/)->进入APP->incoming-webhooks->Add New + Webhook to Workspace + required: true + httpsProxy: + title: 代理 + component: + placeholder: http://xxxxx:xx + helper: 使用https_proxy + required: false + skipSslVerify: + title: 忽略证书校验 + value: false + component: + name: a-switch + vModel: checked + required: false +type: builtIn +pluginType: notification +scriptFilePath: ../../../plugins/plugin-notification/slack/index.js diff --git a/packages/ui/certd-server/metadata/notification_telegram.yaml b/packages/ui/certd-server/metadata/notification_telegram.yaml new file mode 100644 index 00000000..5ade9f4b --- /dev/null +++ b/packages/ui/certd-server/metadata/notification_telegram.yaml @@ -0,0 +1,39 @@ +name: telegram +title: Telegram通知 +desc: Telegram Bot推送通知 +needPlus: true +input: + endpoint: + title: URL + value: https://api.telegram.org + component: + placeholder: https://api.telegram.org + required: true + botToken: + title: Bot Token + component: + placeholder: 123456789:ABCdefGhijklmnopqrstUVWXyz + helper: '[token获取](https://core.telegram.org/bots/features#botfather)' + required: true + chatId: + title: 聊天ID + component: + placeholder: 聊天ID,例如 123456789 或 @channelusername + helper: 用户ID(纯数字)或频道名称(@xxxx) + required: true + httpsProxy: + title: 代理 + component: + placeholder: http://xxxxx:xx + helper: 使用https_proxy + required: false + skipSslVerify: + title: 忽略证书校验 + value: false + component: + name: a-switch + vModel: checked + required: false +type: builtIn +pluginType: notification +scriptFilePath: ../../../plugins/plugin-notification/telegram/index.js diff --git a/packages/ui/certd-server/metadata/notification_vocechat.yaml b/packages/ui/certd-server/metadata/notification_vocechat.yaml new file mode 100644 index 00000000..bcfd9a08 --- /dev/null +++ b/packages/ui/certd-server/metadata/notification_vocechat.yaml @@ -0,0 +1,43 @@ +name: vocechat +title: VoceChat通知 +desc: https://voce.chat +needPlus: true +input: + endpoint: + title: 服务地址 + component: + placeholder: https://replace.your.domain + required: true + apiKey: + title: apiKey + component: + placeholder: '' + helper: '[获取APIKEY](https://doc.voce.chat/bot/bot-and-webhook)' + required: true + targetType: + title: 目标类型 + component: + name: a-select + options: + - value: user + label: 用户 + - value: channel + label: 频道 + required: true + helper: 发送消息的目标类型 + targetId: + title: 目标ID + component: + placeholder: 发送消息的目标ID + required: true + helper: 目标ID可以是用户ID或频道ID + skipSslVerify: + title: 忽略证书校验 + value: false + component: + name: a-switch + vModel: checked + required: false +type: builtIn +pluginType: notification +scriptFilePath: ../../../plugins/plugin-notification/vocechat/index.js diff --git a/packages/ui/certd-server/metadata/notification_webhook.yaml b/packages/ui/certd-server/metadata/notification_webhook.yaml new file mode 100644 index 00000000..05585fb4 --- /dev/null +++ b/packages/ui/certd-server/metadata/notification_webhook.yaml @@ -0,0 +1,75 @@ +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 +type: builtIn +pluginType: notification +scriptFilePath: ../../../plugins/plugin-notification/webhook/index.js diff --git a/packages/ui/certd-server/src/modules/auto/auto-b-load-plugins.ts b/packages/ui/certd-server/src/modules/auto/auto-b-load-plugins.ts index ff74f21b..571c5a07 100644 --- a/packages/ui/certd-server/src/modules/auto/auto-b-load-plugins.ts +++ b/packages/ui/certd-server/src/modules/auto/auto-b-load-plugins.ts @@ -12,7 +12,7 @@ export class AutoBLoadPlugins { @Init() async init() { logger.info('加载插件开始'); - await import("../../plugins/index.js") + await this.pluginService.registerFromLocal("./metadata") await this.pluginService.registerFromDb() logger.info('加载插件完成'); diff --git a/packages/ui/certd-server/src/modules/plugin/service/plugin-service.ts b/packages/ui/certd-server/src/modules/plugin/service/plugin-service.ts index 67b6c62e..f56f11bc 100644 --- a/packages/ui/certd-server/src/modules/plugin/service/plugin-service.ts +++ b/packages/ui/certd-server/src/modules/plugin/service/plugin-service.ts @@ -1,16 +1,18 @@ -import { Inject, Provide, Scope, ScopeEnum } from "@midwayjs/core"; -import { BaseService, PageReq } from "@certd/lib-server"; -import { PluginEntity } from "../entity/plugin.js"; -import { InjectEntityModel } from "@midwayjs/typeorm"; -import { Repository } from "typeorm"; -import { isComm } from "@certd/plus-core"; -import { BuiltInPluginService } from "../../pipeline/service/builtin-plugin-service.js"; -import { merge } from "lodash-es"; -import { accessRegistry, pluginRegistry } from "@certd/pipeline"; -import { dnsProviderRegistry } from "@certd/plugin-cert"; -import { logger } from "@certd/basic"; +import {Inject, Provide, Scope, ScopeEnum} from "@midwayjs/core"; +import {BaseService, PageReq} from "@certd/lib-server"; +import {PluginEntity} from "../entity/plugin.js"; +import {InjectEntityModel} from "@midwayjs/typeorm"; +import {Repository} from "typeorm"; +import {isComm} from "@certd/plus-core"; +import {BuiltInPluginService} from "../../pipeline/service/builtin-plugin-service.js"; +import {merge} from "lodash-es"; +import {accessRegistry, notificationRegistry, pluginRegistry} from "@certd/pipeline"; +import {dnsProviderRegistry} from "@certd/plugin-cert"; +import {logger} from "@certd/basic"; import yaml from "js-yaml"; -import { getDefaultAccessPlugin, getDefaultDeployPlugin, getDefaultDnsPlugin } from "./default-plugin.js"; +import {getDefaultAccessPlugin, getDefaultDeployPlugin, getDefaultDnsPlugin} from "./default-plugin.js"; +import fs from "fs"; +import path from "path"; export type PluginImportReq = { content: string, @@ -18,7 +20,7 @@ export type PluginImportReq = { }; @Provide() -@Scope(ScopeEnum.Request, { allowDowngrade: true }) +@Scope(ScopeEnum.Request, {allowDowngrade: true}) export class PluginService extends BaseService { @InjectEntityModel(PluginEntity) repository: Repository; @@ -136,13 +138,13 @@ export class PluginService extends BaseService { } async setDisabled(opts: { id?: number; name?: string; type: string; disabled: boolean }) { - const { id, name, type, disabled } = opts; + const {id, name, type, disabled} = opts; if (!type) { throw new Error("参数错误: type 不能为空"); } if (id > 0) { //update - await this.repository.update({ id }, { disabled }); + await this.repository.update({id}, {disabled}); return; } @@ -215,11 +217,19 @@ export class PluginService extends BaseService { async compile(code: string) { const ts = await import("typescript"); return ts.transpileModule(code, { - compilerOptions: { module: ts.ModuleKind.ESNext } + compilerOptions: {module: ts.ModuleKind.ESNext} }).outputText; } - async getPluginTarget(pluginName: string) { + + private async getPluginClassFromFile(item: any) { + const scriptFilePath = item.scriptFilePath; + const res = await import((`${scriptFilePath}`)) + const classNames = Object.keys(res) + return res[classNames[0]] + } + + async getPluginClassFromDb(pluginName: string) { //获取插件类实例对象 let author = undefined; let name = ""; @@ -245,7 +255,7 @@ export class PluginService extends BaseService { // const script = await this.compile(plugin.content); const script = plugin.content; const getPluginClass = new AsyncFunction(script); - return await getPluginClass({ logger: logger }); + return await getPluginClass({logger: logger}); } catch (e) { logger.error("编译插件失败:", e); throw e; @@ -272,8 +282,21 @@ export class PluginService extends BaseService { } } + async registerFromLocal(localDir: string) { + //scan path + const files = fs.readdirSync(localDir); + for (const file of files) { + if (!file.endsWith(".yaml")) { + continue; + } + const item = yaml.load(fs.readFileSync(path.join(localDir, file), "utf8")); + + await this.registerPlugin(item); + } + } + async registerPlugin(plugin: PluginEntity) { - const metadata = yaml.load(plugin.metadata); + const metadata = plugin.metadata ? yaml.load(plugin.metadata) : {}; const item = { ...plugin, ...metadata @@ -290,6 +313,8 @@ export class PluginService extends BaseService { registry = pluginRegistry; } else if (item.pluginType === "dnsProvider") { registry = dnsProviderRegistry; + } else if (item.pluginType === "notification") { + registry = notificationRegistry; } else { logger.warn(`插件${item.name}类型错误:${item.pluginType}`); return; @@ -298,7 +323,11 @@ export class PluginService extends BaseService { registry.register(item.name, { define: item, target: async () => { - return await this.getPluginTarget(item.name); + if (item.type === "builtIn") { + return await this.getPluginClassFromFile(item); + } else { + return await this.getPluginClassFromDb(item.name); + } } }); } @@ -372,11 +401,13 @@ export class PluginService extends BaseService { await this.update(pluginEntity); } else { //add - const { id } = await this.add(pluginEntity); + const {id} = await this.add(pluginEntity); pluginEntity.id = id; } return { id: pluginEntity.id }; } + + } diff --git a/packages/ui/certd-server/src/plugins/index.ts b/packages/ui/certd-server/src/plugins/index.ts index 594dd56e..ea52c316 100644 --- a/packages/ui/certd-server/src/plugins/index.ts +++ b/packages/ui/certd-server/src/plugins/index.ts @@ -1,21 +1,21 @@ export * from '@certd/plugin-cert'; export * from '@certd/plugin-plus'; -export * from './plugin-aliyun/index.js'; -export * from './plugin-tencent/index.js'; -export * from './plugin-host/index.js'; -export * from './plugin-huawei/index.js'; -export * from './plugin-demo/index.js'; -export * from './plugin-other/index.js'; -export * from './plugin-west/index.js'; -export * from './plugin-doge/index.js'; -export * from './plugin-qiniu/index.js'; -export * from './plugin-woai/index.js'; -export * from './plugin-cachefly/index.js'; -export * from './plugin-gcore/index.js'; -export * from './plugin-qnap/index.js'; -export * from './plugin-aws/index.js'; -export * from './plugin-dnsla/index.js'; -export * from './plugin-upyun/index.js'; -export * from './plugin-volcengine/index.js' -export * from './plugin-jdcloud/index.js' -export * from './plugin-51dns/index.js' +// export * from './plugin-aliyun/index.js'; +// export * from './plugin-tencent/index.js'; +// export * from './plugin-host/index.js'; +// export * from './plugin-huawei/index.js'; +// export * from './plugin-demo/index.js'; +// export * from './plugin-other/index.js'; +// export * from './plugin-west/index.js'; +// export * from './plugin-doge/index.js'; +// export * from './plugin-qiniu/index.js'; +// export * from './plugin-woai/index.js'; +// export * from './plugin-cachefly/index.js'; +// export * from './plugin-gcore/index.js'; +// export * from './plugin-qnap/index.js'; +// export * from './plugin-aws/index.js'; +// export * from './plugin-dnsla/index.js'; +// export * from './plugin-upyun/index.js'; +// export * from './plugin-volcengine/index.js' +// export * from './plugin-jdcloud/index.js' +// export * from './plugin-51dns/index.js' From a96264ff6a027e3a77bf875b8ef69658353dc87c Mon Sep 17 00:00:00 2001 From: xiaojunnuo Date: Sun, 27 Apr 2025 15:50:38 +0800 Subject: [PATCH 04/15] chore: --- packages/plugins/plugin-cert/src/dns-provider/base.ts | 2 +- packages/plugins/plugin-cert/src/dns-provider/decorator.ts | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/packages/plugins/plugin-cert/src/dns-provider/base.ts b/packages/plugins/plugin-cert/src/dns-provider/base.ts index e262c605..bdcf42b3 100644 --- a/packages/plugins/plugin-cert/src/dns-provider/base.ts +++ b/packages/plugins/plugin-cert/src/dns-provider/base.ts @@ -32,7 +32,7 @@ export abstract class AbstractDnsProvider implements IDnsProvider { export async function createDnsProvider(opts: { dnsProviderType: string; context: DnsProviderContext }): Promise { const { dnsProviderType, context } = opts; const dnsProviderPlugin = dnsProviderRegistry.get(dnsProviderType); - const DnsProviderClass = dnsProviderPlugin.target; + const DnsProviderClass = await dnsProviderPlugin.target(); const dnsProviderDefine = dnsProviderPlugin.define as DnsProviderDefine; if (dnsProviderDefine.deprecated) { context.logger.warn(dnsProviderDefine.deprecated); diff --git a/packages/plugins/plugin-cert/src/dns-provider/decorator.ts b/packages/plugins/plugin-cert/src/dns-provider/decorator.ts index c2c89a91..34e17048 100644 --- a/packages/plugins/plugin-cert/src/dns-provider/decorator.ts +++ b/packages/plugins/plugin-cert/src/dns-provider/decorator.ts @@ -24,7 +24,9 @@ export function IsDnsProvider(define: DnsProviderDefine): ClassDecorator { target.define = define; dnsProviderRegistry.register(define.name, { define, - target, + target: async () => { + return target; + }, }); }; } From 8087524bef74f72ed18d68a12d076c488d82cb1c Mon Sep 17 00:00:00 2001 From: xiaojunnuo Date: Sun, 27 Apr 2025 22:51:47 +0800 Subject: [PATCH 05/15] chore: product info --- .../src/aliyun/access/aliyun-access.ts | 1 + .../src/components/vip-button/index.vue | 81 ++++--- .../src/store/settings/api.basic.ts | 8 + .../certd-client/src/store/settings/index.ts | 39 ++- .../ui/certd-server/export-plugin-yaml.js | 1 + packages/ui/certd-server/package.json | 3 +- .../controller/basic/settings-controller.ts | 45 ++-- .../ui/certd-server/src/plugins/index.yaml | 43 ---- .../dns-provider/aliyun-dns-provider.yaml | 6 - .../src/plugins/plugin-aliyun/index.yaml | 64 ----- .../plugin/deploy-to-alb/index.yaml | 143 ----------- .../plugin/deploy-to-cdn/index.yaml | 107 --------- .../plugin/deploy-to-dcdn/index.yaml | 57 ----- .../plugin/deploy-to-fc/index.yaml | 147 ------------ .../plugin/deploy-to-nlb/index.yaml | 143 ----------- .../plugin/deploy-to-oss/index.yaml | 111 --------- .../plugin/deploy-to-slb/index.yaml | 143 ----------- .../plugin/deploy-to-waf/index.yaml | 106 --------- .../plugins/plugin-aliyun/plugin/index.yaml | 64 ----- .../plugin/upload-to-aliyun/index.yaml | 64 ----- .../src/plugins/plugin-aws/access.yaml | 20 -- .../src/plugins/plugin-aws/index.yaml | 142 ----------- .../src/plugins/plugin-aws/plugins/index.yaml | 142 ----------- .../plugins/plugin-deploy-to-cloudfront.yaml | 142 ----------- .../plugins/plugin-upload-to-acm.yaml | 102 -------- .../src/plugins/plugin-cachefly/access.yaml | 22 -- .../src/plugins/plugin-cachefly/index.yaml | 22 -- .../plugin-cachefly/plugins/index.yaml | 31 --- .../plugins/plugin-deploy-to-cdn.yaml | 31 --- .../src/plugins/plugin-cloudflare/access.yaml | 22 -- .../plugin-cloudflare/dns-provider.yaml | 6 - .../src/plugins/plugin-cloudflare/index.yaml | 6 - .../src/plugins/plugin-demo/access.yaml | 17 -- .../src/plugins/plugin-demo/dns-provider.yaml | 6 - .../src/plugins/plugin-demo/index.yaml | 122 ---------- .../plugins/plugin-demo/plugins/index.yaml | 122 ---------- .../plugin-demo/plugins/plugin-test.yaml | 122 ---------- .../src/plugins/plugin-dnsla/access.yaml | 20 -- .../plugins/plugin-dnsla/dns-provider.yaml | 6 - .../src/plugins/plugin-dnsla/index.yaml | 6 - .../src/plugins/plugin-doge/access.yaml | 20 -- .../src/plugins/plugin-doge/index.yaml | 45 ---- .../plugins/deploy-to-cdn/index.yaml | 45 ---- .../plugins/plugin-doge/plugins/index.yaml | 45 ---- .../src/plugins/plugin-gcore/access.yaml | 22 -- .../src/plugins/plugin-gcore/index.yaml | 35 --- .../plugins/plugin-gcore/plugins/index.yaml | 35 --- .../plugin-gcore/plugins/plugin-flush.yaml | 38 --- .../plugin-gcore/plugins/plugin-upload.yaml | 35 --- .../src/plugins/plugin-host/index.yaml | 223 ------------------ .../plugin/copy-to-local/index.yaml | 167 ------------- .../plugin/host-shell-execute/index.yaml | 30 --- .../src/plugins/plugin-host/plugin/index.yaml | 223 ------------------ .../plugin/upload-to-host/index.yaml | 223 ------------------ .../plugin-huawei/access/huawei-access.yaml | 19 -- .../plugins/plugin-huawei/access/index.yaml | 19 -- .../dns-provider/huawei-dns-provider.yaml | 6 - .../src/plugins/plugin-huawei/index.yaml | 19 -- .../plugins/deploy-to-cdn/index.yaml | 72 ------ .../upload-to-ccm/huawei-upload-to-ccm.yaml | 61 ----- .../plugins/upload-to-ccm/index.yaml | 49 ---- .../src/plugins/plugin-jdcloud/access.yaml | 18 -- .../plugins/plugin-jdcloud/dns-provider.yaml | 6 - .../src/plugins/plugin-jdcloud/index.yaml | 39 --- .../plugins/plugin-jdcloud/plugins/index.yaml | 39 --- .../plugins/plugin-deploy-to-cdn.yaml | 74 ------ .../plugins/plugin-update-cert.yaml | 74 ------ .../plugins/plugin-upload-cert.yaml | 39 --- .../src/plugins/plugin-namesilo/access.yaml | 17 -- .../plugins/plugin-namesilo/dns-provider.yaml | 6 - .../src/plugins/plugin-namesilo/index.yaml | 6 - .../plugin-notification/anpush/index.yaml | 18 -- .../plugin-notification/bark/index.yaml | 19 -- .../plugin-notification/dingtalk/index.yaml | 49 ---- .../plugin-notification/discord/index.yaml | 36 --- .../plugin-notification/email/index.yaml | 16 -- .../plugin-notification/feishu/index.yaml | 41 ---- .../plugins/plugin-notification/index.yaml | 73 ------ .../plugin-notification/iyuu/index.yaml | 12 - .../plugin-notification/qywx/index.yaml | 30 --- .../plugin-notification/serverchan/index.yaml | 35 --- .../serverchan3/index.yaml | 30 --- .../plugin-notification/slack/index.yaml | 28 --- .../plugin-notification/telegram/index.yaml | 37 --- .../plugin-notification/vocechat/index.yaml | 41 ---- .../plugin-notification/webhook/index.yaml | 73 ------ .../src/plugins/plugin-other/index.yaml | 21 -- .../plugins/plugin-other/plugins/index.yaml | 21 -- .../plugins/plugin-db-backup.yaml | 77 ------ .../plugin-other/plugins/plugin-restart.yaml | 12 - .../plugin-other/plugins/plugin-script.yaml | 33 --- .../plugin-other/plugins/plugin-wait.yaml | 21 -- .../src/plugins/plugin-proxmox/access.yaml | 32 --- .../src/plugins/plugin-proxmox/index.yaml | 55 ----- .../plugins/plugin-proxmox/plugins/index.yaml | 55 ----- .../plugin-proxmox/plugins/plugin-upload.yaml | 55 ----- .../src/plugins/plugin-qiniu/index.yaml | 75 ------ .../plugin/deploy-to-cdn/index.yaml | 75 ------ .../plugins/plugin-qiniu/plugin/index.yaml | 75 ------ .../plugin/upload-cert/index.yaml | 37 --- .../src/plugins/plugin-qnap/index.yaml | 32 --- .../plugins/plugin-qnap/plugins/index.yaml | 32 --- .../plugin-qnap/plugins/plugin-qnap.yaml | 32 --- .../plugin-tencent/access/dnspod-access.yaml | 36 --- .../plugins/plugin-tencent/access/index.yaml | 36 --- .../dns-provider/dnspod-dns-provider.yaml | 7 - .../dns-provider/tencent-dns-provider.yaml | 6 - .../src/plugins/plugin-tencent/index.yaml | 36 --- .../plugin/delete-expiring-cert/index.yaml | 59 ----- .../plugin/deploy-to-all/index.yaml | 88 ------- .../plugin/deploy-to-cdn-v2/index.yaml | 57 ----- .../plugin/deploy-to-cdn/index.yaml | 41 ---- .../plugin/deploy-to-clb/index.yaml | 80 ------- .../plugin/deploy-to-cos/index.yaml | 120 ---------- .../plugin/deploy-to-eo/index.yaml | 49 ---- .../plugin/deploy-to-live/index.yaml | 58 ----- .../plugin/deploy-to-tke-ingress/index.yaml | 94 -------- .../plugins/plugin-tencent/plugin/index.yaml | 36 --- .../plugin/start-instances/index.yaml | 133 ----------- .../plugin/upload-to-tencent/index.yaml | 36 --- .../src/plugins/plugin-upyun/access.yaml | 17 -- .../src/plugins/plugin-upyun/index.yaml | 102 -------- .../plugins/plugin-upyun/plugins/index.yaml | 102 -------- .../plugins/plugin-depoy-to-cdn.yaml | 102 -------- .../src/plugins/plugin-volcengine/access.yaml | 18 -- .../src/plugins/plugin-volcengine/index.yaml | 6 - .../plugin-volcengine/plugins/index.yaml | 90 ------- .../plugins/plugin-deploy-to-cdn.yaml | 90 ------- .../volcengine-dns-provider.yaml | 6 - .../src/plugins/plugin-west/access.yaml | 65 ----- .../src/plugins/plugin-west/dns-provider.yaml | 6 - .../src/plugins/plugin-west/index.yaml | 6 - .../src/plugins/plugin-woai/access.yaml | 17 -- .../src/plugins/plugin-woai/index.yaml | 45 ---- .../plugins/plugin-woai/plugins/index.yaml | 45 ---- .../plugins/plugin-deploy-to-cdn.yaml | 45 ---- 136 files changed, 124 insertions(+), 7122 deletions(-) delete mode 100644 packages/ui/certd-server/src/plugins/index.yaml delete mode 100644 packages/ui/certd-server/src/plugins/plugin-aliyun/dns-provider/aliyun-dns-provider.yaml delete mode 100644 packages/ui/certd-server/src/plugins/plugin-aliyun/index.yaml delete mode 100644 packages/ui/certd-server/src/plugins/plugin-aliyun/plugin/deploy-to-alb/index.yaml delete mode 100644 packages/ui/certd-server/src/plugins/plugin-aliyun/plugin/deploy-to-cdn/index.yaml delete mode 100644 packages/ui/certd-server/src/plugins/plugin-aliyun/plugin/deploy-to-dcdn/index.yaml delete mode 100644 packages/ui/certd-server/src/plugins/plugin-aliyun/plugin/deploy-to-fc/index.yaml delete mode 100644 packages/ui/certd-server/src/plugins/plugin-aliyun/plugin/deploy-to-nlb/index.yaml delete mode 100644 packages/ui/certd-server/src/plugins/plugin-aliyun/plugin/deploy-to-oss/index.yaml delete mode 100644 packages/ui/certd-server/src/plugins/plugin-aliyun/plugin/deploy-to-slb/index.yaml delete mode 100644 packages/ui/certd-server/src/plugins/plugin-aliyun/plugin/deploy-to-waf/index.yaml delete mode 100644 packages/ui/certd-server/src/plugins/plugin-aliyun/plugin/index.yaml delete mode 100644 packages/ui/certd-server/src/plugins/plugin-aliyun/plugin/upload-to-aliyun/index.yaml delete mode 100644 packages/ui/certd-server/src/plugins/plugin-aws/access.yaml delete mode 100644 packages/ui/certd-server/src/plugins/plugin-aws/index.yaml delete mode 100644 packages/ui/certd-server/src/plugins/plugin-aws/plugins/index.yaml delete mode 100644 packages/ui/certd-server/src/plugins/plugin-aws/plugins/plugin-deploy-to-cloudfront.yaml delete mode 100644 packages/ui/certd-server/src/plugins/plugin-aws/plugins/plugin-upload-to-acm.yaml delete mode 100644 packages/ui/certd-server/src/plugins/plugin-cachefly/access.yaml delete mode 100644 packages/ui/certd-server/src/plugins/plugin-cachefly/index.yaml delete mode 100644 packages/ui/certd-server/src/plugins/plugin-cachefly/plugins/index.yaml delete mode 100644 packages/ui/certd-server/src/plugins/plugin-cachefly/plugins/plugin-deploy-to-cdn.yaml delete mode 100644 packages/ui/certd-server/src/plugins/plugin-cloudflare/access.yaml delete mode 100644 packages/ui/certd-server/src/plugins/plugin-cloudflare/dns-provider.yaml delete mode 100644 packages/ui/certd-server/src/plugins/plugin-cloudflare/index.yaml delete mode 100644 packages/ui/certd-server/src/plugins/plugin-demo/access.yaml delete mode 100644 packages/ui/certd-server/src/plugins/plugin-demo/dns-provider.yaml delete mode 100644 packages/ui/certd-server/src/plugins/plugin-demo/index.yaml delete mode 100644 packages/ui/certd-server/src/plugins/plugin-demo/plugins/index.yaml delete mode 100644 packages/ui/certd-server/src/plugins/plugin-demo/plugins/plugin-test.yaml delete mode 100644 packages/ui/certd-server/src/plugins/plugin-dnsla/access.yaml delete mode 100644 packages/ui/certd-server/src/plugins/plugin-dnsla/dns-provider.yaml delete mode 100644 packages/ui/certd-server/src/plugins/plugin-dnsla/index.yaml delete mode 100644 packages/ui/certd-server/src/plugins/plugin-doge/access.yaml delete mode 100644 packages/ui/certd-server/src/plugins/plugin-doge/index.yaml delete mode 100644 packages/ui/certd-server/src/plugins/plugin-doge/plugins/deploy-to-cdn/index.yaml delete mode 100644 packages/ui/certd-server/src/plugins/plugin-doge/plugins/index.yaml delete mode 100644 packages/ui/certd-server/src/plugins/plugin-gcore/access.yaml delete mode 100644 packages/ui/certd-server/src/plugins/plugin-gcore/index.yaml delete mode 100644 packages/ui/certd-server/src/plugins/plugin-gcore/plugins/index.yaml delete mode 100644 packages/ui/certd-server/src/plugins/plugin-gcore/plugins/plugin-flush.yaml delete mode 100644 packages/ui/certd-server/src/plugins/plugin-gcore/plugins/plugin-upload.yaml delete mode 100644 packages/ui/certd-server/src/plugins/plugin-host/index.yaml delete mode 100644 packages/ui/certd-server/src/plugins/plugin-host/plugin/copy-to-local/index.yaml delete mode 100644 packages/ui/certd-server/src/plugins/plugin-host/plugin/host-shell-execute/index.yaml delete mode 100644 packages/ui/certd-server/src/plugins/plugin-host/plugin/index.yaml delete mode 100644 packages/ui/certd-server/src/plugins/plugin-host/plugin/upload-to-host/index.yaml delete mode 100644 packages/ui/certd-server/src/plugins/plugin-huawei/access/huawei-access.yaml delete mode 100644 packages/ui/certd-server/src/plugins/plugin-huawei/access/index.yaml delete mode 100644 packages/ui/certd-server/src/plugins/plugin-huawei/dns-provider/huawei-dns-provider.yaml delete mode 100644 packages/ui/certd-server/src/plugins/plugin-huawei/index.yaml delete mode 100644 packages/ui/certd-server/src/plugins/plugin-huawei/plugins/deploy-to-cdn/index.yaml delete mode 100644 packages/ui/certd-server/src/plugins/plugin-huawei/plugins/upload-to-ccm/huawei-upload-to-ccm.yaml delete mode 100644 packages/ui/certd-server/src/plugins/plugin-huawei/plugins/upload-to-ccm/index.yaml delete mode 100644 packages/ui/certd-server/src/plugins/plugin-jdcloud/access.yaml delete mode 100644 packages/ui/certd-server/src/plugins/plugin-jdcloud/dns-provider.yaml delete mode 100644 packages/ui/certd-server/src/plugins/plugin-jdcloud/index.yaml delete mode 100644 packages/ui/certd-server/src/plugins/plugin-jdcloud/plugins/index.yaml delete mode 100644 packages/ui/certd-server/src/plugins/plugin-jdcloud/plugins/plugin-deploy-to-cdn.yaml delete mode 100644 packages/ui/certd-server/src/plugins/plugin-jdcloud/plugins/plugin-update-cert.yaml delete mode 100644 packages/ui/certd-server/src/plugins/plugin-jdcloud/plugins/plugin-upload-cert.yaml delete mode 100644 packages/ui/certd-server/src/plugins/plugin-namesilo/access.yaml delete mode 100644 packages/ui/certd-server/src/plugins/plugin-namesilo/dns-provider.yaml delete mode 100644 packages/ui/certd-server/src/plugins/plugin-namesilo/index.yaml delete mode 100644 packages/ui/certd-server/src/plugins/plugin-notification/anpush/index.yaml delete mode 100644 packages/ui/certd-server/src/plugins/plugin-notification/bark/index.yaml delete mode 100644 packages/ui/certd-server/src/plugins/plugin-notification/dingtalk/index.yaml delete mode 100644 packages/ui/certd-server/src/plugins/plugin-notification/discord/index.yaml delete mode 100644 packages/ui/certd-server/src/plugins/plugin-notification/email/index.yaml delete mode 100644 packages/ui/certd-server/src/plugins/plugin-notification/feishu/index.yaml delete mode 100644 packages/ui/certd-server/src/plugins/plugin-notification/index.yaml delete mode 100644 packages/ui/certd-server/src/plugins/plugin-notification/iyuu/index.yaml delete mode 100644 packages/ui/certd-server/src/plugins/plugin-notification/qywx/index.yaml delete mode 100644 packages/ui/certd-server/src/plugins/plugin-notification/serverchan/index.yaml delete mode 100644 packages/ui/certd-server/src/plugins/plugin-notification/serverchan3/index.yaml delete mode 100644 packages/ui/certd-server/src/plugins/plugin-notification/slack/index.yaml delete mode 100644 packages/ui/certd-server/src/plugins/plugin-notification/telegram/index.yaml delete mode 100644 packages/ui/certd-server/src/plugins/plugin-notification/vocechat/index.yaml delete mode 100644 packages/ui/certd-server/src/plugins/plugin-notification/webhook/index.yaml delete mode 100644 packages/ui/certd-server/src/plugins/plugin-other/index.yaml delete mode 100644 packages/ui/certd-server/src/plugins/plugin-other/plugins/index.yaml delete mode 100644 packages/ui/certd-server/src/plugins/plugin-other/plugins/plugin-db-backup.yaml delete mode 100644 packages/ui/certd-server/src/plugins/plugin-other/plugins/plugin-restart.yaml delete mode 100644 packages/ui/certd-server/src/plugins/plugin-other/plugins/plugin-script.yaml delete mode 100644 packages/ui/certd-server/src/plugins/plugin-other/plugins/plugin-wait.yaml delete mode 100644 packages/ui/certd-server/src/plugins/plugin-proxmox/access.yaml delete mode 100644 packages/ui/certd-server/src/plugins/plugin-proxmox/index.yaml delete mode 100644 packages/ui/certd-server/src/plugins/plugin-proxmox/plugins/index.yaml delete mode 100644 packages/ui/certd-server/src/plugins/plugin-proxmox/plugins/plugin-upload.yaml delete mode 100644 packages/ui/certd-server/src/plugins/plugin-qiniu/index.yaml delete mode 100644 packages/ui/certd-server/src/plugins/plugin-qiniu/plugin/deploy-to-cdn/index.yaml delete mode 100644 packages/ui/certd-server/src/plugins/plugin-qiniu/plugin/index.yaml delete mode 100644 packages/ui/certd-server/src/plugins/plugin-qiniu/plugin/upload-cert/index.yaml delete mode 100644 packages/ui/certd-server/src/plugins/plugin-qnap/index.yaml delete mode 100644 packages/ui/certd-server/src/plugins/plugin-qnap/plugins/index.yaml delete mode 100644 packages/ui/certd-server/src/plugins/plugin-qnap/plugins/plugin-qnap.yaml delete mode 100644 packages/ui/certd-server/src/plugins/plugin-tencent/access/dnspod-access.yaml delete mode 100644 packages/ui/certd-server/src/plugins/plugin-tencent/access/index.yaml delete mode 100644 packages/ui/certd-server/src/plugins/plugin-tencent/dns-provider/dnspod-dns-provider.yaml delete mode 100644 packages/ui/certd-server/src/plugins/plugin-tencent/dns-provider/tencent-dns-provider.yaml delete mode 100644 packages/ui/certd-server/src/plugins/plugin-tencent/index.yaml delete mode 100644 packages/ui/certd-server/src/plugins/plugin-tencent/plugin/delete-expiring-cert/index.yaml delete mode 100644 packages/ui/certd-server/src/plugins/plugin-tencent/plugin/deploy-to-all/index.yaml delete mode 100644 packages/ui/certd-server/src/plugins/plugin-tencent/plugin/deploy-to-cdn-v2/index.yaml delete mode 100644 packages/ui/certd-server/src/plugins/plugin-tencent/plugin/deploy-to-cdn/index.yaml delete mode 100644 packages/ui/certd-server/src/plugins/plugin-tencent/plugin/deploy-to-clb/index.yaml delete mode 100644 packages/ui/certd-server/src/plugins/plugin-tencent/plugin/deploy-to-cos/index.yaml delete mode 100644 packages/ui/certd-server/src/plugins/plugin-tencent/plugin/deploy-to-eo/index.yaml delete mode 100644 packages/ui/certd-server/src/plugins/plugin-tencent/plugin/deploy-to-live/index.yaml delete mode 100644 packages/ui/certd-server/src/plugins/plugin-tencent/plugin/deploy-to-tke-ingress/index.yaml delete mode 100644 packages/ui/certd-server/src/plugins/plugin-tencent/plugin/index.yaml delete mode 100644 packages/ui/certd-server/src/plugins/plugin-tencent/plugin/start-instances/index.yaml delete mode 100644 packages/ui/certd-server/src/plugins/plugin-tencent/plugin/upload-to-tencent/index.yaml delete mode 100644 packages/ui/certd-server/src/plugins/plugin-upyun/access.yaml delete mode 100644 packages/ui/certd-server/src/plugins/plugin-upyun/index.yaml delete mode 100644 packages/ui/certd-server/src/plugins/plugin-upyun/plugins/index.yaml delete mode 100644 packages/ui/certd-server/src/plugins/plugin-upyun/plugins/plugin-depoy-to-cdn.yaml delete mode 100644 packages/ui/certd-server/src/plugins/plugin-volcengine/access.yaml delete mode 100644 packages/ui/certd-server/src/plugins/plugin-volcengine/index.yaml delete mode 100644 packages/ui/certd-server/src/plugins/plugin-volcengine/plugins/index.yaml delete mode 100644 packages/ui/certd-server/src/plugins/plugin-volcengine/plugins/plugin-deploy-to-cdn.yaml delete mode 100644 packages/ui/certd-server/src/plugins/plugin-volcengine/volcengine-dns-provider.yaml delete mode 100644 packages/ui/certd-server/src/plugins/plugin-west/access.yaml delete mode 100644 packages/ui/certd-server/src/plugins/plugin-west/dns-provider.yaml delete mode 100644 packages/ui/certd-server/src/plugins/plugin-west/index.yaml delete mode 100644 packages/ui/certd-server/src/plugins/plugin-woai/access.yaml delete mode 100644 packages/ui/certd-server/src/plugins/plugin-woai/index.yaml delete mode 100644 packages/ui/certd-server/src/plugins/plugin-woai/plugins/index.yaml delete mode 100644 packages/ui/certd-server/src/plugins/plugin-woai/plugins/plugin-deploy-to-cdn.yaml diff --git a/packages/plugins/plugin-lib/src/aliyun/access/aliyun-access.ts b/packages/plugins/plugin-lib/src/aliyun/access/aliyun-access.ts index eb9ee0c4..5d05a3d6 100644 --- a/packages/plugins/plugin-lib/src/aliyun/access/aliyun-access.ts +++ b/packages/plugins/plugin-lib/src/aliyun/access/aliyun-access.ts @@ -5,6 +5,7 @@ import { IsAccess, AccessInput, BaseAccess } from "@certd/pipeline"; title: "阿里云授权", desc: "", icon: "ant-design:aliyun-outlined", + order: 0, }) export class AliyunAccess extends BaseAccess { @AccessInput({ diff --git a/packages/ui/certd-client/src/components/vip-button/index.vue b/packages/ui/certd-client/src/components/vip-button/index.vue index 731aba3c..4b90018c 100644 --- a/packages/ui/certd-client/src/components/vip-button/index.vue +++ b/packages/ui/certd-client/src/components/vip-button/index.vue @@ -27,7 +27,7 @@ const props = withDefaults( mode?: "comm" | "button" | "nav" | "icon"; }>(), { - mode: "button" + mode: "button", } ); type Text = { @@ -40,57 +40,57 @@ const text = computed(() => { isComm: { comm: { name: `${vipLabel}已开通`, - title: "到期时间:" + expireTime.value + title: "到期时间:" + expireTime.value, }, button: { name: `${vipLabel}已开通`, - title: "到期时间:" + expireTime.value + title: "到期时间:" + expireTime.value, }, icon: { name: "", - title: `${vipLabel}已开通` + title: `${vipLabel}已开通`, }, nav: { name: `${vipLabel}`, - title: "到期时间:" + expireTime.value - } + title: "到期时间:" + expireTime.value, + }, }, isPlus: { comm: { name: "商业版功能", - title: "升级商业版,获取商业授权" + title: "升级商业版,获取商业授权", }, button: { name: `${vipLabel}已开通`, - title: "到期时间:" + expireTime.value + title: "到期时间:" + expireTime.value, }, icon: { name: "", - title: `${vipLabel}已开通` + title: `${vipLabel}已开通`, }, nav: { name: `${vipLabel}`, - title: "到期时间:" + expireTime.value - } + title: "到期时间:" + expireTime.value, + }, }, free: { comm: { name: "商业版功能", - title: "升级商业版,获取商业授权" + title: "升级商业版,获取商业授权", }, button: { name: "专业版功能", - title: "升级专业版,享受更多VIP特权" + title: "升级专业版,享受更多VIP特权", }, icon: { name: "", - title: "专业版功能" + title: "专业版功能", }, nav: { name: "基础版", - title: "升级专业版,享受更多VIP特权" - } - } + title: "升级专业版,享受更多VIP特权", + }, + }, }; if (settingStore.isComm) { return map.isComm[props.mode]; @@ -119,7 +119,7 @@ const expiredDays = computed(() => { const formState = reactive({ code: "", - inviteCode: "" + inviteCode: "", }); const router = useRouter(); @@ -143,10 +143,10 @@ async function doActive() { content: "绑定账号后,可以避免License丢失,强烈建议绑定", onOk() { router.push("/sys/account"); - } + }, }); } - } + }, }); } } @@ -183,7 +183,7 @@ function openTrialModal() {
点击确认,即可获取7天专业版试用
); - } + }, }); } @@ -208,7 +208,7 @@ function openStarModal() { ); - } + }, }); } @@ -226,13 +226,14 @@ function openUpgrade() { title = "续期专业版/升级商业版"; } + const productInfo = settingStore.productInfo; const vipTypeDefine = { free: { title: "基础版", desc: "社区免费版", type: "free", icon: "lucide:package-open", - privilege: ["证书申请无限制", "域名数量无限制", "证书流水线数量无限制", "常用的主机、云平台、cdn等部署插件", "邮件、webhook通知方式"] + privilege: ["证书申请无限制", "域名数量无限制", "证书流水线数量无限制", "常用的主机、云平台、cdn等部署插件", "邮件、webhook通知方式"], }, plus: { title: "专业版", @@ -243,10 +244,12 @@ function openUpgrade() { title: "点击获取7天试用", click: () => { openStarModal(); - } + }, }, icon: "stash:thumb-up", - price: 29.9, + price: productInfo.plus.price, + price3: `¥${productInfo.plus.price3}/3年`, + tooltip: productInfo.plus.tooltip, get() { return ( @@ -255,7 +258,7 @@ function openUpgrade() { ); - } + }, }, comm: { title: "商业版", @@ -263,11 +266,13 @@ function openUpgrade() { type: "comm", icon: "vaadin:handshake", privilege: ["拥有专业版所有特权", "允许商用,可修改logo、标题", "数据统计", "插件管理", "多用户无限制", "支持用户支付"], - price: 399, + price: productInfo.comm.price, + price3: `¥${productInfo.comm.price3}/3年`, + tooltip: productInfo.comm.tooltip, get() { - return 请联系作者获取; - } - } + return 请联系作者获取试用; + }, + }, }; const modalRef = modal.confirm({ @@ -321,9 +326,12 @@ function openUpgrade() {