UNPKG

@veecode-platform/safira-cli

Version:

Generate a microservice project from your spec.

46 lines (45 loc) 2.06 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.MockServerInstallImpl = void 0; const mockserver_operations_1 = require("../vkpr/mockserver-operations"); const mockserver_constants_1 = require("./mockserver-constants"); const commands_1 = require("../kubectl/commands"); const yaml_utils_1 = require("../utils/yaml-utils"); const associate_plugins_1 = require("../kong/associate-plugins"); class MockServerInstallImpl { constructor() { } async install(params) { await new mockserver_operations_1.VkprMockServerOperations().install({ domain: params.domain, secure: params.secure, ssl: params.ssl, crtFile: params.crtFile, keyFile: params.keyFile, }); if (params.secureCPanel) { await this.secureCPanel(); } if (params.corsHost) { const corsPluginName = "mock-server-cors"; await this.setCors(corsPluginName, params.corsHost); await associate_plugins_1.AssociatePlugin.instance.add("mockserver", associate_plugins_1.ResourceType.service, "vkpr", [corsPluginName]); } } async secureCPanel() { await commands_1.KubernetesApplyString.instance.command([await (0, commands_1.kubernetesSetIngressHostFromVKPR)(), mockserver_constants_1.mockserverIngressPluginSecureCPanel]); await commands_1.KubernetesCreateMockServerSecret.instance.createSecret(true); } async setCors(corsPluginName, hosts) { const content = yaml_utils_1.YamlUtils.parse(mockserver_constants_1.mockserverCorsPlugin); content.metadata.name = corsPluginName; content.config.origins = hosts; const pluginString = yaml_utils_1.YamlUtils.stringify(content); await commands_1.KubernetesApplyString.instance.command([pluginString]); } static get instance() { if (!this._instance) this._instance = new this(); return this._instance; } } exports.MockServerInstallImpl = MockServerInstallImpl;