@catladder/cli
Version:
Panter cli tool for cloud CI/CD and DevOps
34 lines (33 loc) • 1.42 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.getProjectPodNames = exports.getProjectPvcs = exports.getProjectPods = void 0;
const parseChoice_1 = require("../config/parseChoice");
const k8sApi_1 = require("../k8sApi");
const projects_1 = require("../utils/projects");
const getProjectPods = async envComponent => {
const namespace = await (0, projects_1.getProjectNamespace)(envComponent);
const k8sApi = (0, k8sApi_1.getk8sApi)();
const res = await k8sApi.listNamespacedPod(namespace);
const {
componentName
} = (0, parseChoice_1.parseChoice)(envComponent);
return res.body.items.filter(item => {
var _a, _b;
return componentName ? (_b = (_a = item.metadata) === null || _a === void 0 ? void 0 : _a.name) === null || _b === void 0 ? void 0 : _b.includes(componentName + "-") : true;
});
};
exports.getProjectPods = getProjectPods;
const getProjectPvcs = async envComponent => {
const namespace = await (0, projects_1.getProjectNamespace)(envComponent);
const k8sApi = (0, k8sApi_1.getk8sApi)();
const res = await k8sApi.listNamespacedPersistentVolumeClaim(namespace);
return res.body.items;
};
exports.getProjectPvcs = getProjectPvcs;
const getProjectPodNames = async envComponent => {
const pods = await (0, exports.getProjectPods)(envComponent);
return pods.map(n => n.metadata.name);
};
exports.getProjectPodNames = getProjectPodNames;