kui-shell
Version:
This is the monorepo for Kui, the hybrid command-line/GUI electron-based Kubernetes tool
49 lines • 2.23 kB
JavaScript
;
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 });
const debug_1 = require("debug");
const selectors_1 = require("../../util/selectors");
const debug = debug_1.default('k8s/view/modes/pods');
const podsButton = (command, resource, overrides) => Object.assign({}, {
mode: 'pods',
direct: {
plugin: 'k8s/dist/index',
operation: 'renderAndViewPods',
parameters: { command, resource }
}
}, overrides || {});
exports.podMode = {
when: (resource) => {
return resource.kind === 'Deployment' || (resource.status !== undefined && resource.status.podName !== undefined);
},
mode: (command, resource) => {
debug('addPods', resource);
try {
return podsButton(command, resource);
}
catch (err) {
debug('error rendering pods button');
console.error(err);
}
}
};
exports.renderAndViewPods = (tab, parameters) => __awaiter(void 0, void 0, void 0, function* () {
const { command, resource } = parameters;
debug('renderAndViewPods', command, resource);
const { selector } = resource.resource.spec;
const getPods = selector
? `kubectl get pods ${selectors_1.selectorToString(selector)} -n "${resource.resource.metadata.namespace}"`
: `kubectl get pods ${resource.resource.status.podName} -n "${resource.resource.metadata.namespace}"`;
debug('getPods', getPods);
const tableModel = tab.REPL.qexec(getPods);
return tableModel;
});
//# sourceMappingURL=pods.js.map