UNPKG

@twg-group/container-manager

Version:

Container management for Docker, Swarm, Kubernetes

49 lines 2.23 kB
"use strict"; var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; var ContainerModule_1; Object.defineProperty(exports, "__esModule", { value: true }); exports.ContainerModule = void 0; const common_1 = require("@nestjs/common"); const strategies_1 = require("./strategies"); const container_controller_1 = require("./container.controller"); const container_service_1 = require("./container.service"); const constants_1 = require("./constants"); let ContainerModule = ContainerModule_1 = class ContainerModule { static getStrategy(type) { switch (type) { case 'docker': return strategies_1.DockerStrategy; case 'swarm': return strategies_1.SwarmStrategy; case 'kubernetes': return strategies_1.KubernetesStrategy; default: throw new Error(`Unsupported strategy: ${type}`); } } static forRoot() { const type = (process.env[constants_1.CONTAINER_STRATEGY] || 'docker').toLowerCase(); return { module: ContainerModule_1, controllers: [container_controller_1.ContainerController], providers: [ { provide: constants_1.CONTAINER_STRATEGY, useClass: ContainerModule_1.getStrategy(type), }, container_service_1.ContainerService, ], exports: [container_service_1.ContainerService], }; } }; exports.ContainerModule = ContainerModule; exports.ContainerModule = ContainerModule = ContainerModule_1 = __decorate([ (0, common_1.Module)({}) ], ContainerModule); //# sourceMappingURL=container.module.js.map