perf: 支持阿里云oss

pull/155/head^2
xiaojunnuo 2024-09-03 18:21:02 +08:00
parent 6314e8d7eb
commit 87a2673e8c
9 changed files with 11 additions and 42 deletions

View File

@ -39,6 +39,7 @@
"@midwayjs/static-file": "^3.16.4",
"@midwayjs/typeorm": "^3.16.4",
"@midwayjs/validate": "^3.16.4",
"ali-oss": "^6.21.0",
"axios": "^1.7.2",
"basic-ftp": "^5.0.5",
"bcryptjs": "^2.4.3",
@ -69,6 +70,7 @@
},
"devDependencies": {
"@midwayjs/mock": "^3.16.4",
"@types/ali-oss": "^6.16.11",
"@types/cache-manager": "^3.4.3",
"@types/jest": "^26.0.24",
"@types/koa": "2.13.4",

View File

@ -1,30 +0,0 @@
import { IsAccess, AccessInput } from '@certd/pipeline';
@IsAccess({
name: 'aliyun',
title: '阿里云授权',
desc: '',
})
export class AliyunAccess {
@AccessInput({
title: 'accessKeyId',
component: {
placeholder: 'accessKeyId',
},
helper: '登录阿里云控制台->AccessKey管理页面获取。',
required: true,
})
accessKeyId = '';
@AccessInput({
title: 'accessKeySecret',
component: {
placeholder: 'accessKeySecret',
},
required: true,
encrypt: true,
helper: '注意证书申请需要dns解析权限其他阿里云插件需要对应的权限比如证书上传需要证书管理权限嫌麻烦就用主账号的全量权限的accessKey',
})
accessKeySecret = '';
}
new AliyunAccess();

View File

@ -1 +0,0 @@
export * from './aliyun-access.js';

View File

@ -1,7 +1,6 @@
import { AbstractDnsProvider, CreateRecordOptions, IsDnsProvider, RemoveRecordOptions } from '@certd/plugin-cert';
import { Autowire, ILogger } from '@certd/pipeline';
import { AliyunAccess } from '../access/index.js';
import { AliyunAccess } from '@certd/plugin-plus';
@IsDnsProvider({
name: 'aliyun',
title: '阿里云',

View File

@ -1,3 +1,2 @@
export * from './dns-provider/index.js';
export * from './plugin/index.js';
export * from './access/index.js';

View File

@ -1,5 +1,5 @@
import { AbstractTaskPlugin, IsTaskPlugin, pluginGroups, RunStrategy, TaskInput, utils } from '@certd/pipeline';
import { AliyunAccess } from '../../access/index.js';
import { AliyunAccess } from '@certd/plugin-plus';
import { appendTimeSuffix } from '../../utils/index.js';
import { CertInfo } from '@certd/plugin-cert';
@ -109,7 +109,7 @@ export class DeployCertToAliyunAckIngressPlugin extends AbstractTaskPlugin {
this.K8sClient = sdk.K8sClient;
}
async execute(): Promise<void> {
console.log('开始部署证书到阿里云cdn');
this.logger.info('开始部署证书到阿里云cdn');
const { regionId, ingressClass, clusterId, isPrivateIpAddress, cert } = this;
const access = (await this.accessService.getById(this.accessId)) as AliyunAccess;
const client = await this.getClient(access, regionId);
@ -144,7 +144,7 @@ export class DeployCertToAliyunAckIngressPlugin extends AbstractTaskPlugin {
},
};
const ingressList = await k8sClient.getIngressList({ namespace });
console.log('ingressList:', ingressList);
this.logger.info('ingressList:', ingressList);
if (!ingressList || !ingressList.items) {
return;
}

View File

@ -1,6 +1,6 @@
import { AbstractTaskPlugin, IsTaskPlugin, pluginGroups, RunStrategy, TaskInput } from '@certd/pipeline';
import dayjs from 'dayjs';
import { AliyunAccess } from '../../access/index.js';
import { AliyunAccess } from "@certd/plugin-plus";
@IsTaskPlugin({
name: 'DeployCertToAliyunCDN',
title: '部署证书至阿里云CDN',
@ -50,12 +50,12 @@ export class DeployCertToAliyunCDN extends AbstractTaskPlugin {
async onInstance() {}
async execute(): Promise<void> {
console.log('开始部署证书到阿里云cdn');
this.logger.info('开始部署证书到阿里云cdn');
const access = (await this.accessService.getById(this.accessId)) as AliyunAccess;
const client = await this.getClient(access);
const params = await this.buildParams();
await this.doRequest(client, params);
console.log('部署完成');
this.logger.info('部署完成');
}
async getClient(access: AliyunAccess) {

View File

@ -1,6 +1,6 @@
import { AbstractTaskPlugin, IsTaskPlugin, pluginGroups, RunStrategy, TaskInput } from '@certd/pipeline';
import dayjs from 'dayjs';
import { AliyunAccess } from '../../access/index.js';
import { AliyunAccess } from "@certd/plugin-plus";
@IsTaskPlugin({
name: 'DeployCertToAliyunDCDN',
title: '部署证书至阿里云DCDN',

View File

@ -1,6 +1,6 @@
import { AbstractTaskPlugin, IsTaskPlugin, pluginGroups, RunStrategy, TaskInput, TaskOutput } from '@certd/pipeline';
import { appendTimeSuffix, checkRet } from '../../utils/index.js';
import { AliyunAccess } from '../../access/index.js';
import { AliyunAccess } from "@certd/plugin-plus";
@IsTaskPlugin({
name: 'uploadCertToAliyun',