pk-template
Version:
p template engine for kubernetes
63 lines • 5.44 kB
JavaScript
;
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
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) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
Object.defineProperty(exports, "__esModule", { value: true });
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");
exports.deletePkd = (projectName, appName, envName, clusterName, options) => __awaiter(this, void 0, void 0, function* () {
const deploymentName = `${projectName}-${appName}-${envName}-${clusterName}`;
const deleteObjects = (keys) => __awaiter(this, 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 kubeOption = {
cluster: clusterName,
isDryRun: options.dryRun,
kubeConfig: path_1.join(os_1.homedir(), '.kube', clusterName),
};
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 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 !!!');
});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsZXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3BrLWRlcGxveS9kZWxldGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUFBLHNDQUFnRTtBQUNoRSxnREFBNkM7QUFDN0MseURBQXFEO0FBQ3JELHVDQUF1QztBQUV2QywyQkFBNkI7QUFDN0IsK0JBQTRCO0FBRWYsUUFBQSxTQUFTLEdBQUcsQ0FBTyxXQUFtQixFQUFFLE9BQWUsRUFBRSxPQUFlLEVBQUUsV0FBbUIsRUFBRSxPQUEwQixFQUFFLEVBQUU7SUFDeEksTUFBTSxjQUFjLEdBQUcsR0FBRyxXQUFXLElBQUksT0FBTyxJQUFJLE9BQU8sSUFBSSxXQUFXLEVBQUUsQ0FBQztJQUU3RSxNQUFNLGFBQWEsR0FBRyxDQUFPLElBQW9CLEVBQUUsRUFBRTtRQUNuRCxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxXQUFXLENBQUMsQ0FBQztRQUMvRCxJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBRWxDLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLFdBQVcsSUFBSSxDQUFDLENBQUMsSUFBSSxLQUFLLFNBQVMsQ0FBQyxDQUFDO1FBQ3BGLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFL0IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO2dCQUNsQixJQUFJLEVBQUUsV0FBVztnQkFDakIsUUFBUSxFQUFFLElBQUk7Z0JBQ2QsU0FBUyxFQUFFLGdCQUFnQjtnQkFDM0IsSUFBSSxFQUFFLGNBQWM7YUFDckIsQ0FBQyxDQUFDLENBQUM7SUFDTixDQUFDLENBQUEsQ0FBQTtJQUVELE1BQU0sRUFBRSxHQUFHLElBQUksbUJBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNqQyxNQUFNLFVBQVUsR0FBbUI7UUFDakMsT0FBTyxFQUFFLFdBQVc7UUFDcEIsUUFBUSxFQUFFLE9BQU8sQ0FBQyxNQUFNO1FBQ3hCLFVBQVUsRUFBRSxXQUFJLENBQUMsWUFBTyxFQUFFLEVBQUUsT0FBTyxFQUFFLFdBQVcsQ0FBQztLQUNsRCxDQUFDO0lBQ0YsTUFBTSxJQUFJLEdBQUcsSUFBSSxzQkFBUyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUUzQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRTtRQUNuQixFQUFFLENBQUMsS0FBSyxDQUFDLGtEQUFrRCxDQUFDLENBQUM7UUFDN0QsSUFBSSxPQUFPLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRTtZQUNyQyxLQUFLLElBQUksQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFO2dCQUM1QixPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ2hDLE1BQU0sY0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2FBQ2xCO1lBQ0QsT0FBTyxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQztTQUM3QjtLQUNGO0lBRUQsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUM3QyxJQUFJLENBQUMsSUFBSSxFQUFFO1FBQ1QsT0FBTyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN2QixPQUFPLElBQUksQ0FBQztLQUNiO0lBQ0QsTUFBTSxPQUFPLEdBQUcsb0JBQVUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNwRCxJQUFJLENBQUMsT0FBTyxFQUFFO1FBQ1osT0FBTyxDQUFDLEtBQUssQ0FBQyxtQkFBbUIsT0FBTyxlQUFlLFdBQVcsRUFBRSxDQUFDLENBQUE7UUFDckUsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNoQixPQUFPO0tBQ1I7SUFFRCxNQUFNLElBQUksR0FBRyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDL0IsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3BCLEVBQUUsQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUM7QUFDNUIsQ0FBQyxDQUFBLENBQUEifQ==