mirror of https://github.com/certd/certd
perf: 支持阿里云API网关
parent
221e068bac
commit
9e1e4eeec2
|
@ -120,7 +120,7 @@
|
||||||
"@vue/compiler-sfc": "^3.4.21",
|
"@vue/compiler-sfc": "^3.4.21",
|
||||||
"@vue/eslint-config-typescript": "^13.0.0",
|
"@vue/eslint-config-typescript": "^13.0.0",
|
||||||
"@vue/test-utils": "^2.4.6",
|
"@vue/test-utils": "^2.4.6",
|
||||||
"autoprefixer": "^10.4.20",
|
"autoprefixer": "^10.4.21",
|
||||||
"caller-path": "^4.0.0",
|
"caller-path": "^4.0.0",
|
||||||
"chai": "^5.1.0",
|
"chai": "^5.1.0",
|
||||||
"dependency-cruiser": "^16.2.3",
|
"dependency-cruiser": "^16.2.3",
|
||||||
|
|
|
@ -54,6 +54,36 @@
|
||||||
<div class="content unicode" style="display: block;">
|
<div class="content unicode" style="display: block;">
|
||||||
<ul class="icon_lists dib-box">
|
<ul class="icon_lists dib-box">
|
||||||
|
|
||||||
|
<li class="dib">
|
||||||
|
<span class="icon iconfont"></span>
|
||||||
|
<div class="name">social-foursquare</div>
|
||||||
|
<div class="code-name">&#xe8fb;</div>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="dib">
|
||||||
|
<span class="icon iconfont"></span>
|
||||||
|
<div class="name">ksyun-logo</div>
|
||||||
|
<div class="code-name">&#xe65a;</div>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="dib">
|
||||||
|
<span class="icon iconfont"></span>
|
||||||
|
<div class="name">雨-copy</div>
|
||||||
|
<div class="code-name">&#xe608;</div>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="dib">
|
||||||
|
<span class="icon iconfont"></span>
|
||||||
|
<div class="name">网宿</div>
|
||||||
|
<div class="code-name">&#xe655;</div>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="dib">
|
||||||
|
<span class="icon iconfont"></span>
|
||||||
|
<div class="name">ai客服</div>
|
||||||
|
<div class="code-name">&#xe727;</div>
|
||||||
|
</li>
|
||||||
|
|
||||||
<li class="dib">
|
<li class="dib">
|
||||||
<span class="icon iconfont"></span>
|
<span class="icon iconfont"></span>
|
||||||
<div class="name">cdn</div>
|
<div class="name">cdn</div>
|
||||||
|
@ -198,7 +228,7 @@
|
||||||
<pre><code class="language-css"
|
<pre><code class="language-css"
|
||||||
>@font-face {
|
>@font-face {
|
||||||
font-family: 'iconfont';
|
font-family: 'iconfont';
|
||||||
src: url('iconfont.svg?t=1743267254898#iconfont') format('svg');
|
src: url('iconfont.svg?t=1754884110189#iconfont') format('svg');
|
||||||
}
|
}
|
||||||
</code></pre>
|
</code></pre>
|
||||||
<h3 id="-iconfont-">第二步:定义使用 iconfont 的样式</h3>
|
<h3 id="-iconfont-">第二步:定义使用 iconfont 的样式</h3>
|
||||||
|
@ -224,6 +254,51 @@
|
||||||
<div class="content font-class">
|
<div class="content font-class">
|
||||||
<ul class="icon_lists dib-box">
|
<ul class="icon_lists dib-box">
|
||||||
|
|
||||||
|
<li class="dib">
|
||||||
|
<span class="icon iconfont icon-four"></span>
|
||||||
|
<div class="name">
|
||||||
|
social-foursquare
|
||||||
|
</div>
|
||||||
|
<div class="code-name">.icon-four
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="dib">
|
||||||
|
<span class="icon iconfont icon-ksyun"></span>
|
||||||
|
<div class="name">
|
||||||
|
ksyun-logo
|
||||||
|
</div>
|
||||||
|
<div class="code-name">.icon-ksyun
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="dib">
|
||||||
|
<span class="icon iconfont icon-rainyun"></span>
|
||||||
|
<div class="name">
|
||||||
|
雨-copy
|
||||||
|
</div>
|
||||||
|
<div class="code-name">.icon-rainyun
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="dib">
|
||||||
|
<span class="icon iconfont icon-wangsu"></span>
|
||||||
|
<div class="name">
|
||||||
|
网宿
|
||||||
|
</div>
|
||||||
|
<div class="code-name">.icon-wangsu
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="dib">
|
||||||
|
<span class="icon iconfont icon-aikefu"></span>
|
||||||
|
<div class="name">
|
||||||
|
ai客服
|
||||||
|
</div>
|
||||||
|
<div class="code-name">.icon-aikefu
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
|
||||||
<li class="dib">
|
<li class="dib">
|
||||||
<span class="icon iconfont icon-cdn"></span>
|
<span class="icon iconfont icon-cdn"></span>
|
||||||
<div class="name">
|
<div class="name">
|
||||||
|
@ -440,6 +515,46 @@
|
||||||
<div class="content symbol">
|
<div class="content symbol">
|
||||||
<ul class="icon_lists dib-box">
|
<ul class="icon_lists dib-box">
|
||||||
|
|
||||||
|
<li class="dib">
|
||||||
|
<svg class="icon svg-icon" aria-hidden="true">
|
||||||
|
<use xlink:href="#icon-four"></use>
|
||||||
|
</svg>
|
||||||
|
<div class="name">social-foursquare</div>
|
||||||
|
<div class="code-name">#icon-four</div>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="dib">
|
||||||
|
<svg class="icon svg-icon" aria-hidden="true">
|
||||||
|
<use xlink:href="#icon-ksyun"></use>
|
||||||
|
</svg>
|
||||||
|
<div class="name">ksyun-logo</div>
|
||||||
|
<div class="code-name">#icon-ksyun</div>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="dib">
|
||||||
|
<svg class="icon svg-icon" aria-hidden="true">
|
||||||
|
<use xlink:href="#icon-rainyun"></use>
|
||||||
|
</svg>
|
||||||
|
<div class="name">雨-copy</div>
|
||||||
|
<div class="code-name">#icon-rainyun</div>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="dib">
|
||||||
|
<svg class="icon svg-icon" aria-hidden="true">
|
||||||
|
<use xlink:href="#icon-wangsu"></use>
|
||||||
|
</svg>
|
||||||
|
<div class="name">网宿</div>
|
||||||
|
<div class="code-name">#icon-wangsu</div>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="dib">
|
||||||
|
<svg class="icon svg-icon" aria-hidden="true">
|
||||||
|
<use xlink:href="#icon-aikefu"></use>
|
||||||
|
</svg>
|
||||||
|
<div class="name">ai客服</div>
|
||||||
|
<div class="code-name">#icon-aikefu</div>
|
||||||
|
</li>
|
||||||
|
|
||||||
<li class="dib">
|
<li class="dib">
|
||||||
<svg class="icon svg-icon" aria-hidden="true">
|
<svg class="icon svg-icon" aria-hidden="true">
|
||||||
<use xlink:href="#icon-cdn"></use>
|
<use xlink:href="#icon-cdn"></use>
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
@font-face {
|
@font-face {
|
||||||
font-family: "iconfont"; /* Project id 4688792 */
|
font-family: "iconfont"; /* Project id 4688792 */
|
||||||
src: url('iconfont.svg?t=1743267254898#iconfont') format('svg');
|
src: url('iconfont.svg?t=1754884110189#iconfont') format('svg');
|
||||||
}
|
}
|
||||||
|
|
||||||
.iconfont {
|
.iconfont {
|
||||||
|
@ -11,6 +11,26 @@
|
||||||
-moz-osx-font-smoothing: grayscale;
|
-moz-osx-font-smoothing: grayscale;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.icon-four:before {
|
||||||
|
content: "\e8fb";
|
||||||
|
}
|
||||||
|
|
||||||
|
.icon-ksyun:before {
|
||||||
|
content: "\e65a";
|
||||||
|
}
|
||||||
|
|
||||||
|
.icon-rainyun:before {
|
||||||
|
content: "\e608";
|
||||||
|
}
|
||||||
|
|
||||||
|
.icon-wangsu:before {
|
||||||
|
content: "\e655";
|
||||||
|
}
|
||||||
|
|
||||||
|
.icon-aikefu:before {
|
||||||
|
content: "\e727";
|
||||||
|
}
|
||||||
|
|
||||||
.icon-cdn:before {
|
.icon-cdn:before {
|
||||||
content: "\e6e4";
|
content: "\e6e4";
|
||||||
}
|
}
|
||||||
|
|
File diff suppressed because one or more lines are too long
|
@ -5,6 +5,41 @@
|
||||||
"css_prefix_text": "icon-",
|
"css_prefix_text": "icon-",
|
||||||
"description": "",
|
"description": "",
|
||||||
"glyphs": [
|
"glyphs": [
|
||||||
|
{
|
||||||
|
"icon_id": "544964",
|
||||||
|
"name": "social-foursquare",
|
||||||
|
"font_class": "four",
|
||||||
|
"unicode": "e8fb",
|
||||||
|
"unicode_decimal": 59643
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"icon_id": "8567079",
|
||||||
|
"name": "ksyun-logo",
|
||||||
|
"font_class": "ksyun",
|
||||||
|
"unicode": "e65a",
|
||||||
|
"unicode_decimal": 58970
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"icon_id": "42174864",
|
||||||
|
"name": "雨-copy",
|
||||||
|
"font_class": "rainyun",
|
||||||
|
"unicode": "e608",
|
||||||
|
"unicode_decimal": 58888
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"icon_id": "14065547",
|
||||||
|
"name": "网宿",
|
||||||
|
"font_class": "wangsu",
|
||||||
|
"unicode": "e655",
|
||||||
|
"unicode_decimal": 58965
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"icon_id": "41324539",
|
||||||
|
"name": "ai客服",
|
||||||
|
"font_class": "aikefu",
|
||||||
|
"unicode": "e727",
|
||||||
|
"unicode_decimal": 59175
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"icon_id": "13592652",
|
"icon_id": "13592652",
|
||||||
"name": "cdn",
|
"name": "cdn",
|
||||||
|
|
File diff suppressed because one or more lines are too long
Before Width: | Height: | Size: 49 KiB After Width: | Height: | Size: 77 KiB |
|
@ -91,6 +91,7 @@
|
||||||
"jsonwebtoken": "^9.0.0",
|
"jsonwebtoken": "^9.0.0",
|
||||||
"jszip": "^3.10.1",
|
"jszip": "^3.10.1",
|
||||||
"koa-send": "^5.0.1",
|
"koa-send": "^5.0.1",
|
||||||
|
"ksyun-sdk-node": "^1.2.4",
|
||||||
"kubernetes-client": "^9.0.0",
|
"kubernetes-client": "^9.0.0",
|
||||||
"lodash-es": "^4.17.21",
|
"lodash-es": "^4.17.21",
|
||||||
"log4js": "^6.7.1",
|
"log4js": "^6.7.1",
|
||||||
|
|
|
@ -0,0 +1,228 @@
|
||||||
|
import {AbstractTaskPlugin, IsTaskPlugin, pluginGroups, RunStrategy, TaskInput} from '@certd/pipeline';
|
||||||
|
import {AliyunAccess, createCertDomainGetterInputDefine, createRemoteSelectInputDefine} from "@certd/plugin-lib";
|
||||||
|
import {CertApplyPluginNames, CertInfo} from '@certd/plugin-cert';
|
||||||
|
import {optionsUtils} from "@certd/basic/dist/utils/util.options.js";
|
||||||
|
|
||||||
|
@IsTaskPlugin({
|
||||||
|
name: 'DeployCertToAliyunApiGateway',
|
||||||
|
title: '阿里云-部署证书至API网关',
|
||||||
|
icon: 'svg:icon-aliyun',
|
||||||
|
group: pluginGroups.aliyun.key,
|
||||||
|
desc: '自动部署域名证书至阿里云API网关(APIGateway)',
|
||||||
|
default: {
|
||||||
|
strategy: {
|
||||||
|
runStrategy: RunStrategy.SkipWhenSucceed,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
})
|
||||||
|
export class DeployCertToAliyunApiGateway extends AbstractTaskPlugin {
|
||||||
|
@TaskInput({
|
||||||
|
title: '域名证书',
|
||||||
|
helper: '请选择前置任务输出的域名证书',
|
||||||
|
component: {
|
||||||
|
name: 'output-selector',
|
||||||
|
from: [...CertApplyPluginNames],
|
||||||
|
},
|
||||||
|
required: true,
|
||||||
|
})
|
||||||
|
cert!: CertInfo;
|
||||||
|
|
||||||
|
@TaskInput(createCertDomainGetterInputDefine({ props: { required: false } }))
|
||||||
|
certDomains!: string[];
|
||||||
|
|
||||||
|
@TaskInput({
|
||||||
|
title: 'Access授权',
|
||||||
|
helper: '阿里云授权AccessKeyId、AccessKeySecret',
|
||||||
|
component: {
|
||||||
|
name: 'access-selector',
|
||||||
|
type: 'aliyun',
|
||||||
|
},
|
||||||
|
required: true,
|
||||||
|
})
|
||||||
|
accessId!: string;
|
||||||
|
|
||||||
|
|
||||||
|
@TaskInput({
|
||||||
|
title: '证书名称',
|
||||||
|
helper: '上传后将以此名称作为前缀备注',
|
||||||
|
})
|
||||||
|
certName!: string;
|
||||||
|
|
||||||
|
@TaskInput(
|
||||||
|
createRemoteSelectInputDefine({
|
||||||
|
title: '区域',
|
||||||
|
helper: '请选择区域',
|
||||||
|
action: DeployCertToAliyunApiGateway.prototype.onGetRegionList.name,
|
||||||
|
watches: ['certDomains', 'accessId'],
|
||||||
|
required: true,
|
||||||
|
component:{
|
||||||
|
name:"remote-auto-complete"
|
||||||
|
}
|
||||||
|
})
|
||||||
|
)
|
||||||
|
regionEndpoint!: string;
|
||||||
|
|
||||||
|
@TaskInput(
|
||||||
|
createRemoteSelectInputDefine({
|
||||||
|
title: 'API分组',
|
||||||
|
helper: '请选择API分组',
|
||||||
|
action: DeployCertToAliyunApiGateway.prototype.onGetGroupList.name,
|
||||||
|
watches: ['regionEndpoint', 'accessId'],
|
||||||
|
required: true,
|
||||||
|
component:{
|
||||||
|
name:"remote-auto-complete"
|
||||||
|
}
|
||||||
|
})
|
||||||
|
)
|
||||||
|
groupId!: string;
|
||||||
|
|
||||||
|
|
||||||
|
@TaskInput(
|
||||||
|
createRemoteSelectInputDefine({
|
||||||
|
title: '绑定域名',
|
||||||
|
helper: '在API分组上配置的绑定域名',
|
||||||
|
action: DeployCertToAliyunApiGateway.prototype.onGetDomainList.name,
|
||||||
|
watches: ['groupId','regionEndpoint', 'accessId'],
|
||||||
|
required: true,
|
||||||
|
})
|
||||||
|
)
|
||||||
|
customDomains!: string[];
|
||||||
|
|
||||||
|
|
||||||
|
async onInstance() {}
|
||||||
|
async execute(): Promise<void> {
|
||||||
|
this.logger.info('开始部署证书到阿里云Api网关');
|
||||||
|
if(!this.customDomains){
|
||||||
|
throw new Error('您还未选择域名');
|
||||||
|
}
|
||||||
|
const access = await this.getAccess<AliyunAccess>(this.accessId);
|
||||||
|
const client = access.getClient(this.regionEndpoint)
|
||||||
|
|
||||||
|
for (const domainName of this.customDomains ) {
|
||||||
|
this.logger.info(`[${domainName}]开始部署`)
|
||||||
|
await this.updateCert(client, domainName);
|
||||||
|
this.logger.info(`[${domainName}]部署成功`)
|
||||||
|
}
|
||||||
|
|
||||||
|
this.logger.info('部署完成');
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
async updateCert(client: any, domainName: string) {
|
||||||
|
const ret = await client.doRequest({
|
||||||
|
// 接口名称
|
||||||
|
action: "SetDomainCertificate",
|
||||||
|
// 接口版本
|
||||||
|
version: "2016-07-14",
|
||||||
|
data:{
|
||||||
|
query:{
|
||||||
|
GroupId: this.groupId,
|
||||||
|
DomainName: domainName,
|
||||||
|
CertificateName: this.buildCertName(domainName),
|
||||||
|
CertificateBody: this.cert.crt,
|
||||||
|
CertificatePrivateKey: this.cert.key
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
this.logger.info(`设置${domainName}证书成功:`, ret.RequestId);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
async onGetGroupList(data: any) {
|
||||||
|
if (!this.accessId) {
|
||||||
|
throw new Error('请选择Access授权');
|
||||||
|
}
|
||||||
|
if (!this.regionEndpoint) {
|
||||||
|
throw new Error('请选择区域');
|
||||||
|
}
|
||||||
|
const access = await this.getAccess<AliyunAccess>(this.accessId);
|
||||||
|
const client = access.getClient(this.regionEndpoint)
|
||||||
|
const res =await client.doRequest({
|
||||||
|
// 接口名称
|
||||||
|
action: "DescribeApiGroups",
|
||||||
|
// 接口版本
|
||||||
|
version: "2016-07-14",
|
||||||
|
data:{}
|
||||||
|
})
|
||||||
|
const list = res?.ApiGroupAttributes?.ApiGroupAttribute;
|
||||||
|
if (!list || list.length === 0) {
|
||||||
|
throw new Error('没有数据,您可以手动输入API网关ID');
|
||||||
|
}
|
||||||
|
return list.map((item: any) => {
|
||||||
|
return {
|
||||||
|
value: item.GroupId,
|
||||||
|
label: `${item.GroupName}<${item.GroupId}>`,
|
||||||
|
};
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
async onGetDomainList(data: any) {
|
||||||
|
if (!this.accessId) {
|
||||||
|
throw new Error('请选择Access授权');
|
||||||
|
}
|
||||||
|
if (!this.regionEndpoint) {
|
||||||
|
throw new Error('请选择区域');
|
||||||
|
}
|
||||||
|
if (!this.groupId) {
|
||||||
|
throw new Error('请选择分组');
|
||||||
|
}
|
||||||
|
const access = await this.getAccess<AliyunAccess>(this.accessId);
|
||||||
|
|
||||||
|
const client = access.getClient(this.regionEndpoint)
|
||||||
|
|
||||||
|
const res =await client.doRequest({
|
||||||
|
// 接口名称
|
||||||
|
action: "DescribeApiGroup",
|
||||||
|
// 接口版本
|
||||||
|
version: "2016-07-14",
|
||||||
|
data:{
|
||||||
|
query:{
|
||||||
|
GroupId: this.groupId
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
const list = res?.CustomDomains?.DomainItem;
|
||||||
|
if (!list || list.length === 0) {
|
||||||
|
throw new Error('没有数据,您可以手动输入');
|
||||||
|
}
|
||||||
|
const options = list.map((item: any) => {
|
||||||
|
return {
|
||||||
|
value: item.DomainName,
|
||||||
|
label: `${item.DomainName}<${item.CertificateName}>`,
|
||||||
|
domain: item.DomainName,
|
||||||
|
};
|
||||||
|
});
|
||||||
|
return optionsUtils.buildGroupOptions(options, this.certDomains);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
async onGetRegionList(data: any) {
|
||||||
|
if (!this.accessId) {
|
||||||
|
throw new Error('请选择Access授权');
|
||||||
|
}
|
||||||
|
const access = await this.getAccess<AliyunAccess>(this.accessId);
|
||||||
|
|
||||||
|
const client = access.getClient("apigateway.cn-hangzhou.aliyuncs.com")
|
||||||
|
|
||||||
|
const res =await client.doRequest({
|
||||||
|
// 接口名称
|
||||||
|
action: "DescribeRegions",
|
||||||
|
// 接口版本
|
||||||
|
version: "2016-07-14",
|
||||||
|
data:{}
|
||||||
|
})
|
||||||
|
const list = res.Regions.Region ;
|
||||||
|
if (!list || list.length === 0) {
|
||||||
|
throw new Error('没有数据,您可以手动输入');
|
||||||
|
}
|
||||||
|
return list.map((item: any) => {
|
||||||
|
return {
|
||||||
|
value: item.RegionEndpoint,
|
||||||
|
label: item.LocalName,
|
||||||
|
endpoint: item.RegionEndpoint,
|
||||||
|
regionId: item.RegionId
|
||||||
|
};
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
new DeployCertToAliyunApiGateway();
|
|
@ -79,10 +79,10 @@ export class DeployCertToAliyunDCDN extends AbstractTaskPlugin {
|
||||||
this.domainName = [this.domainName];
|
this.domainName = [this.domainName];
|
||||||
}
|
}
|
||||||
for (const domainName of this.domainName ) {
|
for (const domainName of this.domainName ) {
|
||||||
this.logger.info(`[${this.domainName}]开始部署`)
|
this.logger.info(`[${domainName}]开始部署`)
|
||||||
const params = await this.buildParams(domainName);
|
const params = await this.buildParams(domainName);
|
||||||
await this.doRequest(client, params);
|
await this.doRequest(client, params);
|
||||||
this.logger.info(`[${this.domainName}]部署成功`)
|
this.logger.info(`[${domainName}]部署成功`)
|
||||||
}
|
}
|
||||||
|
|
||||||
this.logger.info('部署完成');
|
this.logger.info('部署完成');
|
||||||
|
|
|
@ -9,3 +9,4 @@ export * from './deploy-to-slb/index.js';
|
||||||
export * from './deploy-to-fc/index.js';
|
export * from './deploy-to-fc/index.js';
|
||||||
export * from './deploy-to-esa/index.js';
|
export * from './deploy-to-esa/index.js';
|
||||||
export * from './deploy-to-vod/index.js';
|
export * from './deploy-to-vod/index.js';
|
||||||
|
export * from './deploy-to-apigateway/index.js';
|
||||||
|
|
107
pnpm-lock.yaml
107
pnpm-lock.yaml
|
@ -49,7 +49,7 @@ importers:
|
||||||
packages/core/acme-client:
|
packages/core/acme-client:
|
||||||
dependencies:
|
dependencies:
|
||||||
'@certd/basic':
|
'@certd/basic':
|
||||||
specifier: ^1.36.10
|
specifier: ^1.36.15
|
||||||
version: link:../basic
|
version: link:../basic
|
||||||
'@peculiar/x509':
|
'@peculiar/x509':
|
||||||
specifier: ^1.11.0
|
specifier: ^1.11.0
|
||||||
|
@ -210,10 +210,10 @@ importers:
|
||||||
packages/core/pipeline:
|
packages/core/pipeline:
|
||||||
dependencies:
|
dependencies:
|
||||||
'@certd/basic':
|
'@certd/basic':
|
||||||
specifier: ^1.36.10
|
specifier: ^1.36.15
|
||||||
version: link:../basic
|
version: link:../basic
|
||||||
'@certd/plus-core':
|
'@certd/plus-core':
|
||||||
specifier: ^1.36.10
|
specifier: ^1.36.15
|
||||||
version: link:../../pro/plus-core
|
version: link:../../pro/plus-core
|
||||||
dayjs:
|
dayjs:
|
||||||
specifier: ^1.11.7
|
specifier: ^1.11.7
|
||||||
|
@ -418,7 +418,7 @@ importers:
|
||||||
packages/libs/lib-k8s:
|
packages/libs/lib-k8s:
|
||||||
dependencies:
|
dependencies:
|
||||||
'@certd/basic':
|
'@certd/basic':
|
||||||
specifier: ^1.36.10
|
specifier: ^1.36.15
|
||||||
version: link:../../core/basic
|
version: link:../../core/basic
|
||||||
'@kubernetes/client-node':
|
'@kubernetes/client-node':
|
||||||
specifier: 0.21.0
|
specifier: 0.21.0
|
||||||
|
@ -458,16 +458,16 @@ importers:
|
||||||
packages/libs/lib-server:
|
packages/libs/lib-server:
|
||||||
dependencies:
|
dependencies:
|
||||||
'@certd/acme-client':
|
'@certd/acme-client':
|
||||||
specifier: ^1.36.10
|
specifier: ^1.36.15
|
||||||
version: link:../../core/acme-client
|
version: link:../../core/acme-client
|
||||||
'@certd/basic':
|
'@certd/basic':
|
||||||
specifier: ^1.36.10
|
specifier: ^1.36.15
|
||||||
version: link:../../core/basic
|
version: link:../../core/basic
|
||||||
'@certd/pipeline':
|
'@certd/pipeline':
|
||||||
specifier: ^1.36.10
|
specifier: ^1.36.15
|
||||||
version: link:../../core/pipeline
|
version: link:../../core/pipeline
|
||||||
'@certd/plus-core':
|
'@certd/plus-core':
|
||||||
specifier: ^1.36.10
|
specifier: ^1.36.15
|
||||||
version: link:../../pro/plus-core
|
version: link:../../pro/plus-core
|
||||||
'@midwayjs/cache':
|
'@midwayjs/cache':
|
||||||
specifier: ~3.14.0
|
specifier: ~3.14.0
|
||||||
|
@ -610,16 +610,16 @@ importers:
|
||||||
packages/plugins/plugin-cert:
|
packages/plugins/plugin-cert:
|
||||||
dependencies:
|
dependencies:
|
||||||
'@certd/acme-client':
|
'@certd/acme-client':
|
||||||
specifier: ^1.36.10
|
specifier: ^1.36.15
|
||||||
version: link:../../core/acme-client
|
version: link:../../core/acme-client
|
||||||
'@certd/basic':
|
'@certd/basic':
|
||||||
specifier: ^1.36.10
|
specifier: ^1.36.15
|
||||||
version: link:../../core/basic
|
version: link:../../core/basic
|
||||||
'@certd/pipeline':
|
'@certd/pipeline':
|
||||||
specifier: ^1.36.10
|
specifier: ^1.36.15
|
||||||
version: link:../../core/pipeline
|
version: link:../../core/pipeline
|
||||||
'@certd/plugin-lib':
|
'@certd/plugin-lib':
|
||||||
specifier: ^1.36.10
|
specifier: ^1.36.15
|
||||||
version: link:../plugin-lib
|
version: link:../plugin-lib
|
||||||
'@google-cloud/publicca':
|
'@google-cloud/publicca':
|
||||||
specifier: ^1.3.0
|
specifier: ^1.3.0
|
||||||
|
@ -701,10 +701,10 @@ importers:
|
||||||
specifier: ^3.787.0
|
specifier: ^3.787.0
|
||||||
version: 3.810.0(aws-crt@1.26.2)
|
version: 3.810.0(aws-crt@1.26.2)
|
||||||
'@certd/basic':
|
'@certd/basic':
|
||||||
specifier: ^1.36.10
|
specifier: ^1.36.15
|
||||||
version: link:../../core/basic
|
version: link:../../core/basic
|
||||||
'@certd/pipeline':
|
'@certd/pipeline':
|
||||||
specifier: ^1.36.10
|
specifier: ^1.36.15
|
||||||
version: link:../../core/pipeline
|
version: link:../../core/pipeline
|
||||||
'@kubernetes/client-node':
|
'@kubernetes/client-node':
|
||||||
specifier: 0.21.0
|
specifier: 0.21.0
|
||||||
|
@ -792,19 +792,19 @@ importers:
|
||||||
packages/pro/commercial-core:
|
packages/pro/commercial-core:
|
||||||
dependencies:
|
dependencies:
|
||||||
'@certd/basic':
|
'@certd/basic':
|
||||||
specifier: ^1.36.10
|
specifier: ^1.36.15
|
||||||
version: link:../../core/basic
|
version: link:../../core/basic
|
||||||
'@certd/lib-server':
|
'@certd/lib-server':
|
||||||
specifier: ^1.36.10
|
specifier: ^1.36.15
|
||||||
version: link:../../libs/lib-server
|
version: link:../../libs/lib-server
|
||||||
'@certd/pipeline':
|
'@certd/pipeline':
|
||||||
specifier: ^1.36.10
|
specifier: ^1.36.15
|
||||||
version: link:../../core/pipeline
|
version: link:../../core/pipeline
|
||||||
'@certd/plugin-plus':
|
'@certd/plugin-plus':
|
||||||
specifier: ^1.36.10
|
specifier: ^1.36.15
|
||||||
version: link:../plugin-plus
|
version: link:../plugin-plus
|
||||||
'@certd/plus-core':
|
'@certd/plus-core':
|
||||||
specifier: ^1.36.10
|
specifier: ^1.36.15
|
||||||
version: link:../plus-core
|
version: link:../plus-core
|
||||||
'@midwayjs/core':
|
'@midwayjs/core':
|
||||||
specifier: ~3.20.3
|
specifier: ~3.20.3
|
||||||
|
@ -889,22 +889,22 @@ importers:
|
||||||
specifier: ^1.0.2
|
specifier: ^1.0.2
|
||||||
version: 1.0.3
|
version: 1.0.3
|
||||||
'@certd/basic':
|
'@certd/basic':
|
||||||
specifier: ^1.36.10
|
specifier: ^1.36.15
|
||||||
version: link:../../core/basic
|
version: link:../../core/basic
|
||||||
'@certd/lib-k8s':
|
'@certd/lib-k8s':
|
||||||
specifier: ^1.36.10
|
specifier: ^1.36.15
|
||||||
version: link:../../libs/lib-k8s
|
version: link:../../libs/lib-k8s
|
||||||
'@certd/pipeline':
|
'@certd/pipeline':
|
||||||
specifier: ^1.36.10
|
specifier: ^1.36.15
|
||||||
version: link:../../core/pipeline
|
version: link:../../core/pipeline
|
||||||
'@certd/plugin-cert':
|
'@certd/plugin-cert':
|
||||||
specifier: ^1.36.10
|
specifier: ^1.36.15
|
||||||
version: link:../../plugins/plugin-cert
|
version: link:../../plugins/plugin-cert
|
||||||
'@certd/plugin-lib':
|
'@certd/plugin-lib':
|
||||||
specifier: ^1.36.10
|
specifier: ^1.36.15
|
||||||
version: link:../../plugins/plugin-lib
|
version: link:../../plugins/plugin-lib
|
||||||
'@certd/plus-core':
|
'@certd/plus-core':
|
||||||
specifier: ^1.36.10
|
specifier: ^1.36.15
|
||||||
version: link:../plus-core
|
version: link:../plus-core
|
||||||
ali-oss:
|
ali-oss:
|
||||||
specifier: ^6.21.0
|
specifier: ^6.21.0
|
||||||
|
@ -1007,7 +1007,7 @@ importers:
|
||||||
packages/pro/plus-core:
|
packages/pro/plus-core:
|
||||||
dependencies:
|
dependencies:
|
||||||
'@certd/basic':
|
'@certd/basic':
|
||||||
specifier: ^1.36.10
|
specifier: ^1.36.15
|
||||||
version: link:../../core/basic
|
version: link:../../core/basic
|
||||||
dayjs:
|
dayjs:
|
||||||
specifier: ^1.11.7
|
specifier: ^1.11.7
|
||||||
|
@ -1297,10 +1297,10 @@ importers:
|
||||||
version: 0.1.3(zod@3.24.4)
|
version: 0.1.3(zod@3.24.4)
|
||||||
devDependencies:
|
devDependencies:
|
||||||
'@certd/lib-iframe':
|
'@certd/lib-iframe':
|
||||||
specifier: ^1.36.10
|
specifier: ^1.36.15
|
||||||
version: link:../../libs/lib-iframe
|
version: link:../../libs/lib-iframe
|
||||||
'@certd/pipeline':
|
'@certd/pipeline':
|
||||||
specifier: ^1.36.10
|
specifier: ^1.36.15
|
||||||
version: link:../../core/pipeline
|
version: link:../../core/pipeline
|
||||||
'@rollup/plugin-commonjs':
|
'@rollup/plugin-commonjs':
|
||||||
specifier: ^25.0.7
|
specifier: ^25.0.7
|
||||||
|
@ -1348,7 +1348,7 @@ importers:
|
||||||
specifier: ^2.4.6
|
specifier: ^2.4.6
|
||||||
version: 2.4.6
|
version: 2.4.6
|
||||||
autoprefixer:
|
autoprefixer:
|
||||||
specifier: ^10.4.20
|
specifier: ^10.4.21
|
||||||
version: 10.4.21(postcss@8.5.6)
|
version: 10.4.21(postcss@8.5.6)
|
||||||
caller-path:
|
caller-path:
|
||||||
specifier: ^4.0.0
|
specifier: ^4.0.0
|
||||||
|
@ -1390,7 +1390,7 @@ importers:
|
||||||
specifier: ^12.2.0
|
specifier: ^12.2.0
|
||||||
version: 12.3.0(less@4.3.0)
|
version: 12.3.0(less@4.3.0)
|
||||||
postcss:
|
postcss:
|
||||||
specifier: ^8.5.6
|
specifier: ^8.4.35
|
||||||
version: 8.5.6
|
version: 8.5.6
|
||||||
prettier:
|
prettier:
|
||||||
specifier: 3.3.3
|
specifier: 3.3.3
|
||||||
|
@ -1414,7 +1414,7 @@ importers:
|
||||||
specifier: ^6.0.4
|
specifier: ^6.0.4
|
||||||
version: 6.0.4(stylelint@15.11.0(typescript@5.8.3))
|
version: 6.0.4(stylelint@15.11.0(typescript@5.8.3))
|
||||||
tailwindcss:
|
tailwindcss:
|
||||||
specifier: ^3.4.17
|
specifier: ^3.4.14
|
||||||
version: 3.4.17(ts-node@10.9.2(@types/node@18.19.100)(typescript@5.8.3))
|
version: 3.4.17(ts-node@10.9.2(@types/node@18.19.100)(typescript@5.8.3))
|
||||||
terser:
|
terser:
|
||||||
specifier: ^5.29.2
|
specifier: ^5.29.2
|
||||||
|
@ -1432,7 +1432,7 @@ importers:
|
||||||
specifier: ^1.4.2
|
specifier: ^1.4.2
|
||||||
version: 1.5.5(vue@3.5.14(typescript@5.8.3))
|
version: 1.5.5(vue@3.5.14(typescript@5.8.3))
|
||||||
vite:
|
vite:
|
||||||
specifier: ^5.4.19
|
specifier: ^5.3.1
|
||||||
version: 5.4.19(@types/node@18.19.100)(less@4.3.0)(terser@5.39.1)
|
version: 5.4.19(@types/node@18.19.100)(less@4.3.0)(terser@5.39.1)
|
||||||
vite-plugin-compression:
|
vite-plugin-compression:
|
||||||
specifier: ^0.5.1
|
specifier: ^0.5.1
|
||||||
|
@ -1483,46 +1483,46 @@ importers:
|
||||||
specifier: ^3.705.0
|
specifier: ^3.705.0
|
||||||
version: 3.810.0(aws-crt@1.26.2)
|
version: 3.810.0(aws-crt@1.26.2)
|
||||||
'@certd/acme-client':
|
'@certd/acme-client':
|
||||||
specifier: ^1.36.10
|
specifier: ^1.36.15
|
||||||
version: link:../../core/acme-client
|
version: link:../../core/acme-client
|
||||||
'@certd/basic':
|
'@certd/basic':
|
||||||
specifier: ^1.36.10
|
specifier: ^1.36.15
|
||||||
version: link:../../core/basic
|
version: link:../../core/basic
|
||||||
'@certd/commercial-core':
|
'@certd/commercial-core':
|
||||||
specifier: ^1.36.10
|
specifier: ^1.36.15
|
||||||
version: link:../../pro/commercial-core
|
version: link:../../pro/commercial-core
|
||||||
'@certd/cv4pve-api-javascript':
|
'@certd/cv4pve-api-javascript':
|
||||||
specifier: ^8.4.1
|
specifier: ^8.4.1
|
||||||
version: 8.4.1
|
version: 8.4.1
|
||||||
'@certd/jdcloud':
|
'@certd/jdcloud':
|
||||||
specifier: ^1.36.10
|
specifier: ^1.36.15
|
||||||
version: link:../../libs/lib-jdcloud
|
version: link:../../libs/lib-jdcloud
|
||||||
'@certd/lib-huawei':
|
'@certd/lib-huawei':
|
||||||
specifier: ^1.36.10
|
specifier: ^1.36.15
|
||||||
version: link:../../libs/lib-huawei
|
version: link:../../libs/lib-huawei
|
||||||
'@certd/lib-k8s':
|
'@certd/lib-k8s':
|
||||||
specifier: ^1.36.10
|
specifier: ^1.36.15
|
||||||
version: link:../../libs/lib-k8s
|
version: link:../../libs/lib-k8s
|
||||||
'@certd/lib-server':
|
'@certd/lib-server':
|
||||||
specifier: ^1.36.10
|
specifier: ^1.36.15
|
||||||
version: link:../../libs/lib-server
|
version: link:../../libs/lib-server
|
||||||
'@certd/midway-flyway-js':
|
'@certd/midway-flyway-js':
|
||||||
specifier: ^1.36.10
|
specifier: ^1.36.15
|
||||||
version: link:../../libs/midway-flyway-js
|
version: link:../../libs/midway-flyway-js
|
||||||
'@certd/pipeline':
|
'@certd/pipeline':
|
||||||
specifier: ^1.36.10
|
specifier: ^1.36.15
|
||||||
version: link:../../core/pipeline
|
version: link:../../core/pipeline
|
||||||
'@certd/plugin-cert':
|
'@certd/plugin-cert':
|
||||||
specifier: ^1.36.10
|
specifier: ^1.36.15
|
||||||
version: link:../../plugins/plugin-cert
|
version: link:../../plugins/plugin-cert
|
||||||
'@certd/plugin-lib':
|
'@certd/plugin-lib':
|
||||||
specifier: ^1.36.10
|
specifier: ^1.36.15
|
||||||
version: link:../../plugins/plugin-lib
|
version: link:../../plugins/plugin-lib
|
||||||
'@certd/plugin-plus':
|
'@certd/plugin-plus':
|
||||||
specifier: ^1.36.10
|
specifier: ^1.36.15
|
||||||
version: link:../../pro/plugin-plus
|
version: link:../../pro/plugin-plus
|
||||||
'@certd/plus-core':
|
'@certd/plus-core':
|
||||||
specifier: ^1.36.10
|
specifier: ^1.36.15
|
||||||
version: link:../../pro/plus-core
|
version: link:../../pro/plus-core
|
||||||
'@huaweicloud/huaweicloud-sdk-cdn':
|
'@huaweicloud/huaweicloud-sdk-cdn':
|
||||||
specifier: ^3.1.120
|
specifier: ^3.1.120
|
||||||
|
@ -1629,6 +1629,9 @@ importers:
|
||||||
koa-send:
|
koa-send:
|
||||||
specifier: ^5.0.1
|
specifier: ^5.0.1
|
||||||
version: 5.0.1
|
version: 5.0.1
|
||||||
|
ksyun-sdk-node:
|
||||||
|
specifier: ^1.2.4
|
||||||
|
version: 1.2.4(encoding@0.1.13)
|
||||||
kubernetes-client:
|
kubernetes-client:
|
||||||
specifier: ^9.0.0
|
specifier: ^9.0.0
|
||||||
version: 9.0.0
|
version: 9.0.0
|
||||||
|
@ -9186,6 +9189,9 @@ packages:
|
||||||
kolorist@1.8.0:
|
kolorist@1.8.0:
|
||||||
resolution: {integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==}
|
resolution: {integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==}
|
||||||
|
|
||||||
|
ksyun-sdk-node@1.2.4:
|
||||||
|
resolution: {integrity: sha512-W/c1nhnZskadPP7ObmizMh+jJeHXWka0HkS8lcZfLWxwEH83B8iMFF0DrtSaDCjQRuBpgzwDLGbbp+U1D1rXlQ==}
|
||||||
|
|
||||||
kubernetes-client@9.0.0:
|
kubernetes-client@9.0.0:
|
||||||
resolution: {integrity: sha512-Qy8o42dZVHB9P+cIiKdWpQbz/65l/qW1fDYvlzzeSLftmL1Ne3HEiM+0TmKAwNuRW0pTJN2tRWhcccToclxJ8g==}
|
resolution: {integrity: sha512-Qy8o42dZVHB9P+cIiKdWpQbz/65l/qW1fDYvlzzeSLftmL1Ne3HEiM+0TmKAwNuRW0pTJN2tRWhcccToclxJ8g==}
|
||||||
engines: {node: '>=10.13.0'}
|
engines: {node: '>=10.13.0'}
|
||||||
|
@ -23512,6 +23518,17 @@ snapshots:
|
||||||
|
|
||||||
kolorist@1.8.0: {}
|
kolorist@1.8.0: {}
|
||||||
|
|
||||||
|
ksyun-sdk-node@1.2.4(encoding@0.1.13):
|
||||||
|
dependencies:
|
||||||
|
abort-controller: 3.0.0
|
||||||
|
core-js: 3.42.0
|
||||||
|
crypto-js: 4.2.0
|
||||||
|
dayjs: 1.11.13
|
||||||
|
node-fetch: 2.7.0(encoding@0.1.13)
|
||||||
|
qs: 6.14.0
|
||||||
|
transitivePeerDependencies:
|
||||||
|
- encoding
|
||||||
|
|
||||||
kubernetes-client@9.0.0:
|
kubernetes-client@9.0.0:
|
||||||
dependencies:
|
dependencies:
|
||||||
'@kubernetes/client-node': 0.10.2
|
'@kubernetes/client-node': 0.10.2
|
||||||
|
|
Loading…
Reference in New Issue