mirror of https://github.com/certd/certd
refactor: access selector
parent
b10ff5b6ee
commit
038b1c9ca4
|
@ -6,19 +6,16 @@ export class AliyunAccessProvider {
|
||||||
desc: '',
|
desc: '',
|
||||||
input: {
|
input: {
|
||||||
accessKeyId: {
|
accessKeyId: {
|
||||||
type: String,
|
|
||||||
component: {
|
component: {
|
||||||
placeholder: 'accessKeyId',
|
placeholder: 'accessKeyId'
|
||||||
rules: [{ required: true, message: '必填项' }]
|
|
||||||
},
|
},
|
||||||
required: true
|
rules: [{ required: true, message: '必填项' }]
|
||||||
},
|
},
|
||||||
accessKeySecret: {
|
accessKeySecret: {
|
||||||
type: String,
|
|
||||||
component: {
|
component: {
|
||||||
placeholder: 'accessKeySecret',
|
placeholder: 'accessKeySecret'
|
||||||
rules: [{ required: true, message: '必填项' }]
|
},
|
||||||
}
|
rules: [{ required: true, message: '必填项' }]
|
||||||
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
|
@ -9,14 +9,13 @@ export class AliyunDnsProvider extends AbstractDnsProvider {
|
||||||
desc: '',
|
desc: '',
|
||||||
input: {
|
input: {
|
||||||
accessProvider: {
|
accessProvider: {
|
||||||
label: '授权',
|
title: '授权',
|
||||||
type: [String, Object],
|
helper: '需要aliyun类型的授权',
|
||||||
desc: '需要aliyun类型的授权',
|
|
||||||
component: {
|
component: {
|
||||||
name: 'access-provider-selector',
|
name: 'access-provider-selector',
|
||||||
filter: 'aliyun'
|
filter: 'aliyun'
|
||||||
},
|
},
|
||||||
required: true
|
rules: [{ required: true, message: '必填项' }]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
output: {
|
output: {
|
||||||
|
|
|
@ -8,11 +8,10 @@ const define = {
|
||||||
label: '部署到阿里云AckIngress',
|
label: '部署到阿里云AckIngress',
|
||||||
input: {
|
input: {
|
||||||
clusterId: {
|
clusterId: {
|
||||||
label: '集群id',
|
title: '集群id',
|
||||||
component: {
|
component: {
|
||||||
placeholder: '集群id'
|
placeholder: '集群id'
|
||||||
},
|
}
|
||||||
required: true
|
|
||||||
},
|
},
|
||||||
secretName: {
|
secretName: {
|
||||||
label: '保密字典Id',
|
label: '保密字典Id',
|
||||||
|
|
|
@ -5,20 +5,19 @@ export class SSHAccessProvider {
|
||||||
label: '主机',
|
label: '主机',
|
||||||
desc: '',
|
desc: '',
|
||||||
input: {
|
input: {
|
||||||
host: { required: true },
|
host: { rules: [{ required: true, message: '此项必填' }] },
|
||||||
port: {
|
port: {
|
||||||
label: '端口',
|
title: '端口',
|
||||||
type: Number,
|
value: '22',
|
||||||
default: '22',
|
rules: [{ required: true, message: '此项必填' }]
|
||||||
required: true
|
|
||||||
},
|
},
|
||||||
username: {
|
username: {
|
||||||
default: 'root',
|
value: 'root',
|
||||||
required: true
|
rules: [{ required: true, message: '此项必填' }]
|
||||||
},
|
},
|
||||||
password: { desc: '登录密码' },
|
password: { helper: '登录密码' },
|
||||||
privateKey: {
|
privateKey: {
|
||||||
desc: '密钥,密码或此项必填一项'
|
helper: '密钥,密码或此项必填一项'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -13,17 +13,16 @@ export class HostShellExecute extends AbstractHostPlugin {
|
||||||
label: '执行远程主机脚本命令',
|
label: '执行远程主机脚本命令',
|
||||||
input: {
|
input: {
|
||||||
accessProvider: {
|
accessProvider: {
|
||||||
label: '主机登录配置',
|
title: '主机登录配置',
|
||||||
type: [String, Object],
|
helper: '登录',
|
||||||
desc: '登录',
|
|
||||||
component: {
|
component: {
|
||||||
name: 'access-provider-selector',
|
name: 'access-selector',
|
||||||
filter: 'ssh'
|
type: 'ssh'
|
||||||
},
|
},
|
||||||
required: true
|
required: true
|
||||||
},
|
},
|
||||||
script: {
|
script: {
|
||||||
label: 'shell脚本命令',
|
title: 'shell脚本命令',
|
||||||
component: {
|
component: {
|
||||||
name: 'a-textarea'
|
name: 'a-textarea'
|
||||||
}
|
}
|
||||||
|
|
|
@ -13,33 +13,30 @@ export class UploadCertToHost extends AbstractHostPlugin {
|
||||||
label: '上传证书到主机',
|
label: '上传证书到主机',
|
||||||
input: {
|
input: {
|
||||||
crtPath: {
|
crtPath: {
|
||||||
label: '证书保存路径'
|
title: '证书保存路径'
|
||||||
},
|
},
|
||||||
keyPath: {
|
keyPath: {
|
||||||
label: '私钥保存路径'
|
title: '私钥保存路径'
|
||||||
},
|
},
|
||||||
accessProvider: {
|
accessProvider: {
|
||||||
label: '主机登录配置',
|
title: '主机登录配置',
|
||||||
type: [String, Object],
|
helper: 'access授权',
|
||||||
desc: 'access授权',
|
|
||||||
component: {
|
component: {
|
||||||
name: 'access-provider-selector',
|
name: 'access-provider-selector',
|
||||||
filter: 'ssh'
|
filter: 'ssh'
|
||||||
},
|
},
|
||||||
required: true
|
rules: [{ required: true, message: '此项必填' }]
|
||||||
},
|
},
|
||||||
sudo: {
|
sudo: {
|
||||||
label: '是否sudo'
|
title: '是否sudo'
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
output: {
|
output: {
|
||||||
hostCrtPath: {
|
hostCrtPath: {
|
||||||
type: String,
|
helper: '上传成功后的证书路径'
|
||||||
desc: '上传成功后的证书路径'
|
|
||||||
},
|
},
|
||||||
hostKeyPath: {
|
hostKeyPath: {
|
||||||
type: String,
|
helper: '上传成功后的私钥路径'
|
||||||
desc: '上传成功后的私钥路径'
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,19 +6,17 @@ export class DnspodAccessProvider {
|
||||||
desc: '腾讯云的域名解析接口已迁移到dnspod',
|
desc: '腾讯云的域名解析接口已迁移到dnspod',
|
||||||
input: {
|
input: {
|
||||||
id: {
|
id: {
|
||||||
type: String,
|
|
||||||
component: {
|
component: {
|
||||||
placeholder: 'dnspod接口账户id',
|
placeholder: 'dnspod接口账户id'
|
||||||
rules: [{ required: true, message: '该项必填' }]
|
},
|
||||||
}
|
rules: [{ required: true, message: '该项必填' }]
|
||||||
},
|
},
|
||||||
token: {
|
token: {
|
||||||
type: String,
|
title: 'token',
|
||||||
label: 'token',
|
|
||||||
component: {
|
component: {
|
||||||
placeholder: '开放接口token',
|
placeholder: '开放接口token'
|
||||||
rules: [{ required: true, message: '该项必填' }]
|
},
|
||||||
}
|
rules: [{ required: true, message: '该项必填' }]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,20 +5,16 @@ export class TencentAccessProvider {
|
||||||
label: '腾讯云',
|
label: '腾讯云',
|
||||||
input: {
|
input: {
|
||||||
secretId: {
|
secretId: {
|
||||||
type: String,
|
|
||||||
label: 'secretId',
|
|
||||||
component: {
|
component: {
|
||||||
placeholder: 'secretId',
|
placeholder: 'secretId'
|
||||||
rules: [{ required: true, message: '该项必填' }]
|
},
|
||||||
}
|
rules: [{ required: true, message: '该项必填' }]
|
||||||
},
|
},
|
||||||
secretKey: {
|
secretKey: {
|
||||||
type: String,
|
|
||||||
label: 'secretKey',
|
|
||||||
component: {
|
component: {
|
||||||
placeholder: 'secretKey',
|
placeholder: 'secretKey'
|
||||||
rules: [{ required: true, message: '该项必填' }]
|
},
|
||||||
}
|
rules: [{ required: true, message: '该项必填' }]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,12 +9,11 @@ export class DnspodDnsProvider extends AbstractDnsProvider {
|
||||||
desc: '腾讯云的域名解析接口已迁移到dnspod',
|
desc: '腾讯云的域名解析接口已迁移到dnspod',
|
||||||
input: {
|
input: {
|
||||||
accessProvider: {
|
accessProvider: {
|
||||||
label: '授权',
|
title: '授权',
|
||||||
type: [String, Object],
|
helper: '需要dnspod类型的授权',
|
||||||
desc: '需要dnspod类型的授权',
|
|
||||||
component: {
|
component: {
|
||||||
name: 'access-provider-selector',
|
name: 'access-selector',
|
||||||
filter: 'dnspod'
|
type: 'dnspod'
|
||||||
},
|
},
|
||||||
required: true
|
required: true
|
||||||
}
|
}
|
||||||
|
|
|
@ -15,30 +15,19 @@ export class DeployCertToTencentCDN extends AbstractTencentPlugin {
|
||||||
label: '部署到腾讯云CDN',
|
label: '部署到腾讯云CDN',
|
||||||
input: {
|
input: {
|
||||||
domainName: {
|
domainName: {
|
||||||
label: 'cdn加速域名',
|
title: 'cdn加速域名',
|
||||||
required: true
|
rules: [{ required: true, message: '该项必填' }]
|
||||||
},
|
},
|
||||||
certName: {
|
certName: {
|
||||||
label: '证书名称',
|
title: '证书名称',
|
||||||
desc: '证书上传后将以此参数作为名称前缀'
|
helper: '证书上传后将以此参数作为名称前缀'
|
||||||
},
|
|
||||||
certType: {
|
|
||||||
default: 'upload',
|
|
||||||
label: '证书来源',
|
|
||||||
options: [
|
|
||||||
{ value: 'upload', label: '直接上传' },
|
|
||||||
{ value: 'cloud', label: '从证书库', desc: '需要uploadCertToTencent作为前置任务' }
|
|
||||||
],
|
|
||||||
desc: '如果选择‘从证书库’类型,则需要以《上传证书到腾讯云》作为前置任务',
|
|
||||||
required: true
|
|
||||||
},
|
},
|
||||||
accessProvider: {
|
accessProvider: {
|
||||||
label: 'Access提供者',
|
title: 'Access提供者',
|
||||||
type: [String, Object],
|
helper: 'access 授权',
|
||||||
desc: 'access 授权',
|
|
||||||
component: {
|
component: {
|
||||||
name: 'access-provider-selector',
|
name: 'access-selector',
|
||||||
filter: 'tencent'
|
type: 'tencent'
|
||||||
},
|
},
|
||||||
required: true
|
required: true
|
||||||
}
|
}
|
||||||
|
|
|
@ -14,36 +14,37 @@ export class DeployCertToTencentCLB extends AbstractTencentPlugin {
|
||||||
desc: '暂时只支持单向认证证书,暂时只支持通用负载均衡',
|
desc: '暂时只支持单向认证证书,暂时只支持通用负载均衡',
|
||||||
input: {
|
input: {
|
||||||
region: {
|
region: {
|
||||||
label: '大区',
|
title: '大区',
|
||||||
default: 'ap-guangzhou',
|
value: 'ap-guangzhou',
|
||||||
|
component: {
|
||||||
|
name: 'a-select',
|
||||||
|
options: [{ value: 'ap-guangzhou' }]
|
||||||
|
},
|
||||||
required: true
|
required: true
|
||||||
},
|
},
|
||||||
domain: {
|
domain: {
|
||||||
label: '域名',
|
title: '域名',
|
||||||
type: [String, Array],
|
|
||||||
required: true,
|
required: true,
|
||||||
desc: '要更新的支持https的负载均衡的域名'
|
helper: '要更新的支持https的负载均衡的域名'
|
||||||
},
|
},
|
||||||
loadBalancerId: {
|
loadBalancerId: {
|
||||||
label: '负载均衡ID',
|
title: '负载均衡ID',
|
||||||
desc: '如果没有配置,则根据域名匹配负载均衡下的监听器(根据域名匹配时暂时只支持前100个)',
|
helper: '如果没有配置,则根据域名匹配负载均衡下的监听器(根据域名匹配时暂时只支持前100个)',
|
||||||
required: true
|
required: true
|
||||||
},
|
},
|
||||||
listenerId: {
|
listenerId: {
|
||||||
label: '监听器ID',
|
title: '监听器ID',
|
||||||
desc: '如果没有配置,则根据域名或负载均衡id匹配监听器'
|
helper: '如果没有配置,则根据域名或负载均衡id匹配监听器'
|
||||||
},
|
},
|
||||||
certName: {
|
certName: {
|
||||||
label: '证书名称',
|
title: '证书名称前缀'
|
||||||
desc: '如无uploadCertToTencent作为前置,则此项需要设置,默认为域名'
|
|
||||||
},
|
},
|
||||||
accessProvider: {
|
accessProvider: {
|
||||||
label: 'Access提供者',
|
title: 'Access提供者',
|
||||||
type: [String, Object],
|
helper: 'access授权',
|
||||||
desc: 'access授权',
|
|
||||||
component: {
|
component: {
|
||||||
name: 'access-provider-selector',
|
name: 'access-selector',
|
||||||
filter: 'tencent'
|
type: 'tencent'
|
||||||
},
|
},
|
||||||
required: true
|
required: true
|
||||||
}
|
}
|
||||||
|
|
|
@ -15,57 +15,57 @@ export class DeployCertToTencentTKEIngress extends AbstractTencentPlugin {
|
||||||
desc: '需要【上传到腾讯云】作为前置任务',
|
desc: '需要【上传到腾讯云】作为前置任务',
|
||||||
input: {
|
input: {
|
||||||
region: {
|
region: {
|
||||||
label: '大区',
|
title: '大区',
|
||||||
default: 'ap-guangzhou',
|
value: 'ap-guangzhou',
|
||||||
required: true
|
required: true
|
||||||
},
|
},
|
||||||
clusterId: {
|
clusterId: {
|
||||||
label: '集群ID',
|
title: '集群ID',
|
||||||
required: true,
|
required: true,
|
||||||
desc: '例如:cls-6lbj1vee',
|
desc: '例如:cls-6lbj1vee',
|
||||||
request: true
|
request: true
|
||||||
},
|
},
|
||||||
namespace: {
|
namespace: {
|
||||||
label: '集群namespace',
|
title: '集群namespace',
|
||||||
default: 'default',
|
value: 'default',
|
||||||
required: true
|
required: true
|
||||||
},
|
},
|
||||||
secreteName: {
|
secreteName: {
|
||||||
type: [String, Array],
|
title: '证书的secret名称',
|
||||||
label: '证书的secret名称',
|
|
||||||
desc: '支持多个(传入数组)',
|
|
||||||
required: true
|
required: true
|
||||||
},
|
},
|
||||||
ingressName: {
|
ingressName: {
|
||||||
type: [String, Array],
|
title: 'ingress名称',
|
||||||
label: 'ingress名称',
|
required: true
|
||||||
desc: '支持多个(传入数组)'
|
|
||||||
},
|
},
|
||||||
ingressClass: {
|
ingressClass: {
|
||||||
type: String,
|
title: 'ingress类型',
|
||||||
label: 'ingress类型',
|
component: {
|
||||||
desc: '可选 qcloud / nginx'
|
name: 'a-select',
|
||||||
|
options: [
|
||||||
|
{ value: 'qcloud' },
|
||||||
|
{ value: 'nginx' }
|
||||||
|
]
|
||||||
|
},
|
||||||
|
helper: '可选 qcloud / nginx'
|
||||||
},
|
},
|
||||||
clusterIp: {
|
clusterIp: {
|
||||||
type: String,
|
title: '集群内网ip',
|
||||||
label: '集群内网ip',
|
helper: '如果开启了外网的话,无需设置'
|
||||||
desc: '如果开启了外网的话,无需设置'
|
|
||||||
},
|
},
|
||||||
clusterDomain: {
|
clusterDomain: {
|
||||||
type: String,
|
title: '集群域名',
|
||||||
label: '集群域名',
|
helper: '可不填,默认为:[clusterId].ccs.tencent-cloud.com'
|
||||||
desc: '可不填,默认为:[clusterId].ccs.tencent-cloud.com'
|
|
||||||
},
|
},
|
||||||
/**
|
/**
|
||||||
* AccessProvider的key,或者一个包含access的具体的对象
|
* AccessProvider的key,或者一个包含access的具体的对象
|
||||||
*/
|
*/
|
||||||
accessProvider: {
|
accessProvider: {
|
||||||
label: 'Access授权',
|
title: 'Access授权',
|
||||||
type: [String, Object],
|
helper: 'access授权',
|
||||||
desc: 'access授权',
|
|
||||||
component: {
|
component: {
|
||||||
name: 'access-provider-selector',
|
name: 'access-selector',
|
||||||
filter: 'tencent'
|
type: 'tencent'
|
||||||
},
|
},
|
||||||
required: true
|
required: true
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue