UNPKG

@pubgcorp/pk-template

Version:
69 lines 6.17 kB
"use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.deletePkd = void 0; const common_1 = require("../common"); const progress_1 = require("../pk-ui/progress"); const pk_kubectl_1 = require("../pk-kubectl/pk-kubectl"); const catalog_1 = require("./catalog"); const os_1 = require("os"); const path_1 = require("path"); const deletePkd = (projectName, appName, envName, clusterName, clusterKubeConfig, options) => __awaiter(void 0, void 0, void 0, function* () { const deploymentName = `${projectName}-${appName}-${envName}-${clusterName}`; const deleteObjects = (keys) => __awaiter(void 0, void 0, void 0, function* () { const nonNamespaces = keys.filter(k => k.kind !== 'Namespace'); kube.deleteObjects(nonNamespaces); const namespaces = keys.filter(k => k.kind === 'Namespace' && k.name !== 'default'); kube.deleteObjects(namespaces); kube.deleteObjects([{ kind: 'ConfigMap', apiGroup: 'v1', namespace: 'pk-deployments', name: deploymentName, }]); }); const ui = new progress_1.Progress(options); const context = clusterKubeConfig === null || clusterKubeConfig === void 0 ? void 0 : clusterKubeConfig.context; const kubeConfig = (0, path_1.join)((0, os_1.homedir)(), '.kube', (clusterKubeConfig === null || clusterKubeConfig === void 0 ? void 0 : clusterKubeConfig.kubeconfig) || clusterName); const kubeOption = { cluster: clusterName, isDryRun: options.dryRun, kubeConfig: kubeConfig, context, }; const kube = new pk_kubectl_1.PkKubeCtl(kubeOption, ui); if (!options.dryRun) { ui.error('CAUTION) APPLYING TO REAL KUBERNETES CLUSTER !!!'); if (options.yes && !options.immediate) { for (let i = 10; i >= 0; --i) { process.stdout.write(`..${i} `); yield (0, common_1.delay)(200); } console.log('.. START !!!'); } } const spec = kube.getPkzSpec(deploymentName); if (!spec) { console.log('no spec'); return null; } const catalog = catalog_1.PkdCatalog.parse(spec.data.catalog); if (!catalog) { console.error(`cannot find env ${envName} on context ${clusterName}`); process.exit(1); return; } const keys = catalog.getKeys(); deleteObjects(keys); ui.success('success !!!'); }); exports.deletePkd = deletePkd; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsZXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3BrLWRlcGxveS9kZWxldGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUEsc0NBQWdFO0FBQ2hFLGdEQUE2QztBQUM3Qyx5REFBcUQ7QUFDckQsdUNBQXVDO0FBRXZDLDJCQUE2QjtBQUM3QiwrQkFBNEI7QUFHckIsTUFBTSxTQUFTLEdBQUcsQ0FBTyxXQUFtQixFQUFFLE9BQWUsRUFBRSxPQUFlLEVBQUUsV0FBbUIsRUFBRSxpQkFBMEQsRUFBRSxPQUEwQixFQUFFLEVBQUU7SUFDcE0sTUFBTSxjQUFjLEdBQUcsR0FBRyxXQUFXLElBQUksT0FBTyxJQUFJLE9BQU8sSUFBSSxXQUFXLEVBQUUsQ0FBQztJQUU3RSxNQUFNLGFBQWEsR0FBRyxDQUFPLElBQW9CLEVBQUUsRUFBRTtRQUNuRCxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxXQUFXLENBQUMsQ0FBQztRQUMvRCxJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBRWxDLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLFdBQVcsSUFBSSxDQUFDLENBQUMsSUFBSSxLQUFLLFNBQVMsQ0FBQyxDQUFDO1FBQ3BGLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFL0IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO2dCQUNsQixJQUFJLEVBQUUsV0FBVztnQkFDakIsUUFBUSxFQUFFLElBQUk7Z0JBQ2QsU0FBUyxFQUFFLGdCQUFnQjtnQkFDM0IsSUFBSSxFQUFFLGNBQWM7YUFDckIsQ0FBQyxDQUFDLENBQUM7SUFDTixDQUFDLENBQUEsQ0FBQTtJQUVELE1BQU0sRUFBRSxHQUFHLElBQUksbUJBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNqQyxNQUFNLE9BQU8sR0FBRyxpQkFBaUIsYUFBakIsaUJBQWlCLHVCQUFqQixpQkFBaUIsQ0FBRSxPQUFPLENBQUM7SUFDM0MsTUFBTSxVQUFVLEdBQUcsSUFBQSxXQUFJLEVBQUMsSUFBQSxZQUFPLEdBQUUsRUFBRSxPQUFPLEVBQUUsQ0FBQSxpQkFBaUIsYUFBakIsaUJBQWlCLHVCQUFqQixpQkFBaUIsQ0FBRSxVQUFVLEtBQUksV0FBVyxDQUFDLENBQUM7SUFDMUYsTUFBTSxVQUFVLEdBQW1CO1FBQ2pDLE9BQU8sRUFBRSxXQUFXO1FBQ3BCLFFBQVEsRUFBRSxPQUFPLENBQUMsTUFBTTtRQUN4QixVQUFVLEVBQUUsVUFBVTtRQUN0QixPQUFPO0tBQ1IsQ0FBQztJQUNGLE1BQU0sSUFBSSxHQUFHLElBQUksc0JBQVMsQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFFM0MsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUU7UUFDbkIsRUFBRSxDQUFDLEtBQUssQ0FBQyxrREFBa0QsQ0FBQyxDQUFDO1FBQzdELElBQUksT0FBTyxDQUFDLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUU7WUFDckMsS0FBSyxJQUFJLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRTtnQkFDNUIsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUNoQyxNQUFNLElBQUEsY0FBSyxFQUFDLEdBQUcsQ0FBQyxDQUFDO2FBQ2xCO1lBQ0QsT0FBTyxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQztTQUM3QjtLQUNGO0lBRUQsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUM3QyxJQUFJLENBQUMsSUFBSSxFQUFFO1FBQ1QsT0FBTyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN2QixPQUFPLElBQUksQ0FBQztLQUNiO0lBQ0QsTUFBTSxPQUFPLEdBQUcsb0JBQVUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNwRCxJQUFJLENBQUMsT0FBTyxFQUFFO1FBQ1osT0FBTyxDQUFDLEtBQUssQ0FBQyxtQkFBbUIsT0FBTyxlQUFlLFdBQVcsRUFBRSxDQUFDLENBQUE7UUFDckUsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNoQixPQUFPO0tBQ1I7SUFFRCxNQUFNLElBQUksR0FBRyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDL0IsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3BCLEVBQUUsQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUM7QUFDNUIsQ0FBQyxDQUFBLENBQUE7QUF2RFksUUFBQSxTQUFTLGFBdURyQiJ9