feat: ui模式

BREAKING CHANGE: 接口配置变更
This commit is contained in:
xiaojunnuo
2023-05-23 18:01:20 +08:00
parent 8c152371a1
commit 6f6606d76d
40 changed files with 303 additions and 262 deletions

View File

@@ -42,6 +42,10 @@ export class SshAccess implements IAccess {
@AccessInput({
title: "密钥",
helper: "密钥或密码必填一项",
component: {
name: "a-textarea",
vModel: "value",
},
})
privateKey!: string;
}

View File

@@ -1,6 +1,5 @@
import { Autowire, IAccessService, IsTaskPlugin, ILogger, RunStrategy, TaskInput, ITaskPlugin } from "@certd/pipeline";
import { Autowire, IAccessService, ILogger, IsTaskPlugin, ITaskPlugin, RunStrategy, TaskInput } from "@certd/pipeline";
import { SshClient } from "../../lib/ssh";
import { CertInfo } from "@certd/plugin-cert";
@IsTaskPlugin({
name: "hostShellExecute",
@@ -24,15 +23,6 @@ export class HostShellExecutePlugin implements ITaskPlugin {
required: true,
})
accessId!: string;
@TaskInput({
title: "域名证书",
helper: "请选择前置任务输出的域名证书",
component: {
name: "pi-output-selector",
},
required: true,
})
cert!: CertInfo;
@TaskInput({
title: "shell脚本命令",
component: {
@@ -51,7 +41,7 @@ export class HostShellExecutePlugin implements ITaskPlugin {
async onInstance() {}
async execute(): Promise<void> {
const { script, accessId } = this;
const connectConf = this.accessService.getById(accessId);
const connectConf = await this.accessService.getById(accessId);
const sshClient = new SshClient(this.logger);
const ret = await sshClient.exec({
connectConf,

View File

@@ -1,6 +1,6 @@
import { Autowire, IAccessService, IsTaskPlugin, ITaskPlugin, ILogger, RunStrategy, TaskInput, TaskOutput } from "@certd/pipeline";
import { SshClient } from "../../lib/ssh";
import { CertInfo } from "@certd/plugin-cert";
import { CertInfo, CertReader } from "@certd/plugin-cert";
import * as fs from "fs";
@IsTaskPlugin({
@@ -67,11 +67,12 @@ export class UploadCertToHostPlugin implements ITaskPlugin {
async onInstance() {}
async execute(): Promise<void> {
const { crtPath, keyPath, cert, accessId, sudo } = this;
const connectConf = this.accessService.getById(accessId);
const certReader = new CertReader(cert);
const connectConf = await this.accessService.getById(accessId);
const sshClient = new SshClient(this.logger);
const saveCrtPath = cert.saveToFile("crt");
const saveKeyPath = cert.saveToFile("key");
const saveCrtPath = certReader.saveToFile("crt");
const saveKeyPath = certReader.saveToFile("key");
await sshClient.uploadFiles({
connectConf,

View File

@@ -1,5 +1,6 @@
{
"compilerOptions": {
"noImplicitAny": true,
"target": "ESNext",
"useDefineForClassFields": true,
"module": "commonjs",