UNPKG

@catladder/cli

Version:

Panter cli tool for cloud CI/CD and DevOps

34 lines (30 loc) 1.12 kB
import type Vorpal from "vorpal"; import { exec } from "child-process-promise"; import { getProjectNamespace } from "../../../../utils/projects"; import { envAndComponents } from "./utils/autocompletions"; export default async (vorpal: Vorpal) => vorpal .command( "project-pause <envComponent>", "halts all running pods (scales to 0)", ) .autocomplete(await envAndComponents()) .action(async function ({ envComponent }) { const namespace = await getProjectNamespace(envComponent); const { shouldContinue } = await this.prompt({ type: "confirm", name: "shouldContinue", message: `This will STOP all running pods in the namespace ${namespace}. You will need to manually scale back up or re-deploy. Continue? 🤔 `, }); if (!shouldContinue) { return; } const fullCommand = `kubectl scale statefulset,deployment --all --replicas=0 --namespace=${namespace}`; const { stdout } = await exec(fullCommand, { env: { ...process.env, DEBUG: "", }, }); this.log(stdout); });