diff --git a/packages/ui/certd-server/src/plugins/plugin-other/plugins/index.ts b/packages/ui/certd-server/src/plugins/plugin-other/plugins/index.ts index e16686c7..33102ae1 100644 --- a/packages/ui/certd-server/src/plugins/plugin-other/plugins/index.ts +++ b/packages/ui/certd-server/src/plugins/plugin-other/plugins/index.ts @@ -1 +1,2 @@ export * from './plugin-k8s.js'; +export * from './plugin-restart.js'; diff --git a/packages/ui/certd-server/src/plugins/plugin-other/plugins/plugin-restart.ts b/packages/ui/certd-server/src/plugins/plugin-other/plugins/plugin-restart.ts new file mode 100644 index 00000000..95ae7e5f --- /dev/null +++ b/packages/ui/certd-server/src/plugins/plugin-other/plugins/plugin-restart.ts @@ -0,0 +1,32 @@ +import { AbstractTaskPlugin, IsTaskPlugin, pluginGroups, RunStrategy, TaskInput } from '@certd/pipeline'; + +@IsTaskPlugin({ + name: 'RestartCertd', + title: '重启Certd', + desc: '延迟一定时间后自动杀死自己,然后通过Docker来自动重启', + group: pluginGroups.other.key, + default: { + strategy: { + runStrategy: RunStrategy.SkipWhenSucceed, + }, + }, +}) +export class RestartCertdPlugin extends AbstractTaskPlugin { + @TaskInput({ + title: '延迟时间', + value: 30, + component: { + placeholder: '30', + }, + helper: '延迟多少秒后执行', + required: true, + }) + delay = 30; + async onInstance() {} + async execute(): Promise { + setTimeout(() => { + process.exit(1); + }, this.delay * 1000); + } +} +new RestartCertdPlugin();