Merge branch 'v2-dev-yaml' into v2-dev

pull/409/head
xiaojunnuo 2025-04-27 21:35:36 +08:00
commit b10c6eb615
129 changed files with 7037 additions and 3 deletions

View File

@ -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')
}
}
}

View File

@ -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

View File

@ -0,0 +1,6 @@
name: aliyun
title: 阿里云
desc: 阿里云DNS解析提供商
accessType: aliyun
icon: svg:icon-aliyun
pluginType: dnsProvider

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -0,0 +1,6 @@
name: cloudflare
title: cloudflare
desc: cloudflare dns provider
icon: simple-icons:cloudflare
accessType: cloudflare
pluginType: dnsProvider

View File

@ -0,0 +1,6 @@
name: cloudflare
title: cloudflare
desc: cloudflare dns provider
icon: simple-icons:cloudflare
accessType: cloudflare
pluginType: dnsProvider

View File

@ -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

View File

@ -0,0 +1,6 @@
name: demo
title: Dns提供商Demo
desc: dns provider示例
icon: clarity:plugin-line
accessType: demo
pluginType: dnsProvider

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -0,0 +1,6 @@
name: dnsla
title: dns.la
desc: dns.la
icon: arcticons:dns-changer-3
accessType: dnsla
pluginType: dnsProvider

View File

@ -0,0 +1,6 @@
name: dnsla
title: dns.la
desc: dns.la
icon: arcticons:dns-changer-3
accessType: dnsla
pluginType: dnsProvider

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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: pemcrtNginx等大部分应用
- 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

View File

@ -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

View File

@ -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

View File

@ -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: pemcrtNginx等大部分应用
- 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

View File

@ -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: pemcrtNginx等大部分应用
- 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

View File

@ -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

View File

@ -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

View File

@ -0,0 +1,6 @@
name: huawei
title: 华为云
desc: 华为云DNS解析提供商
accessType: huawei
icon: svg:icon-huawei
pluginType: dnsProvider

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -0,0 +1,6 @@
name: jdcloud
title: 京东云
desc: 京东云DNS解析提供商
accessType: jdcloud
icon: svg:icon-jdcloud
pluginType: dnsProvider

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -0,0 +1,6 @@
name: namesilo
title: namesilo
desc: namesilo dns provider
icon: simple-icons:namesilo
accessType: namesilo
pluginType: dnsProvider

View File

@ -0,0 +1,6 @@
name: namesilo
title: namesilo
desc: namesilo dns provider
icon: simple-icons:namesilo
accessType: namesilo
pluginType: dnsProvider

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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/<SENDKEY>.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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -0,0 +1,7 @@
name: dnspod
title: dnspod(已过时,请尽快换成腾讯云)
desc: 已废弃,请尽快换成腾讯云类型
accessType: dnspod
deprecated: dnspod已废弃请换成腾讯云
icon: svg:icon-tencentcloud
pluginType: dnsProvider

View File

@ -0,0 +1,6 @@
name: tencent
title: 腾讯云
desc: 腾讯云域名DNS解析提供者
accessType: tencent
icon: svg:icon-tencentcloud
pluginType: dnsProvider

Some files were not shown because too many files have changed in this diff Show More