@cdp-forge/plugin-pipeline-sdk
Version:
SDK for pipeline plugins for CDP Forge platform
36 lines • 1.55 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.start = start;
const PipelineStage_1 = __importDefault(require("./PipelineStage"));
const ConfigListener_1 = __importDefault(require("./ConfigListener"));
const default_1 = __importDefault(require("./config/default"));
async function start(plugin, pluginConfig) {
const config = Object.assign(default_1.default, { plugin: pluginConfig });
const stage = new PipelineStage_1.default(plugin, config);
const configListener = new ConfigListener_1.default(stage, config);
await configListener.start();
const res = await fetch(`${config.pipelinemanager.url}/register`, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify(config.plugin),
});
if (!res.ok) {
throw new Error(`Failed to register plugin with Template Manager: ${res.statusText}, request: ${JSON.stringify(config.plugin)}`);
}
const handleExit = async () => {
console.log('Arresto del server in corso...');
await configListener.stop();
await stage.close();
process.exit(0);
};
process.on('SIGINT', handleExit);
process.on('SIGTERM', handleExit);
console.log('Server avviato con successo con plugin personalizzato');
return { stage, configListener };
}
//# sourceMappingURL=startServer.js.map