mirror of
https://github.com/certd/certd.git
synced 2026-04-24 20:57:26 +08:00
+6
-6
@@ -1,5 +1,6 @@
|
|||||||
import { AbstractTaskPlugin, IsTaskPlugin, pluginGroups, RunStrategy, TaskInput, utils } from '@certd/pipeline';
|
import { AbstractTaskPlugin, IsTaskPlugin, pluginGroups, RunStrategy, TaskInput, utils } from '@certd/pipeline';
|
||||||
import dayjs from 'dayjs';
|
import dayjs from 'dayjs';
|
||||||
|
import { tke } from 'tencentcloud-sdk-nodejs';
|
||||||
|
|
||||||
@IsTaskPlugin({
|
@IsTaskPlugin({
|
||||||
name: 'DeployCertToTencentTKEIngress',
|
name: 'DeployCertToTencentTKEIngress',
|
||||||
@@ -89,19 +90,16 @@ export class DeployCertToTencentTKEIngressPlugin extends AbstractTaskPlugin {
|
|||||||
})
|
})
|
||||||
cert!: any;
|
cert!: any;
|
||||||
|
|
||||||
TkeClient: any;
|
|
||||||
K8sClient: any;
|
K8sClient: any;
|
||||||
|
|
||||||
async onInstance() {
|
async onInstance() {
|
||||||
// const TkeClient = this.tencentcloud.tke.v20180525.Client;
|
// const TkeClient = this.tencentcloud.tke.v20180525.Client;
|
||||||
const sdk = await import('tencentcloud-sdk-nodejs/tencentcloud/services/tke/v20220501/index.js');
|
|
||||||
this.TkeClient = sdk.v20220501.Client;
|
|
||||||
const k8sSdk = await import('@certd/lib-k8s');
|
const k8sSdk = await import('@certd/lib-k8s');
|
||||||
this.K8sClient = k8sSdk.K8sClient;
|
this.K8sClient = k8sSdk.K8sClient;
|
||||||
}
|
}
|
||||||
async execute(): Promise<void> {
|
async execute(): Promise<void> {
|
||||||
const accessProvider = await this.accessService.getById(this.accessId);
|
const accessProvider = await this.accessService.getById(this.accessId);
|
||||||
const tkeClient = this.getTkeClient(accessProvider, this.region);
|
const tkeClient = await this.getTkeClient(accessProvider, this.region);
|
||||||
const kubeConfigStr = await this.getTkeKubeConfig(tkeClient, this.clusterId);
|
const kubeConfigStr = await this.getTkeKubeConfig(tkeClient, this.clusterId);
|
||||||
|
|
||||||
this.logger.info('kubeconfig已成功获取');
|
this.logger.info('kubeconfig已成功获取');
|
||||||
@@ -127,7 +125,9 @@ export class DeployCertToTencentTKEIngressPlugin extends AbstractTaskPlugin {
|
|||||||
await this.restartIngress({ k8sClient });
|
await this.restartIngress({ k8sClient });
|
||||||
}
|
}
|
||||||
|
|
||||||
getTkeClient(accessProvider: any, region = 'ap-guangzhou') {
|
async getTkeClient(accessProvider: any, region = 'ap-guangzhou') {
|
||||||
|
const sdk = await import('tencentcloud-sdk-nodejs/tencentcloud/services/tke/v20180525/index.js');
|
||||||
|
const TkeClient = sdk.v20180525.Client;
|
||||||
const clientConfig = {
|
const clientConfig = {
|
||||||
credential: {
|
credential: {
|
||||||
secretId: accessProvider.secretId,
|
secretId: accessProvider.secretId,
|
||||||
@@ -141,7 +141,7 @@ export class DeployCertToTencentTKEIngressPlugin extends AbstractTaskPlugin {
|
|||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
return new this.TkeClient(clientConfig);
|
return new TkeClient(clientConfig);
|
||||||
}
|
}
|
||||||
|
|
||||||
async getTkeKubeConfig(client: any, clusterId: string) {
|
async getTkeKubeConfig(client: any, clusterId: string) {
|
||||||
|
|||||||
Reference in New Issue
Block a user