@catladder/cli 4.1.0 → 4.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bundles/catenv/index.js +1 -1
- package/dist/bundles/cli/index.js +5 -5
- package/dist/cli/src/cli.js +21 -7
- package/dist/cli/src/cli.js.map +1 -1
- package/dist/cli/src/commands/availability.d.ts +5 -0
- package/dist/cli/src/commands/availability.js +26 -0
- package/dist/cli/src/commands/availability.js.map +1 -0
- package/dist/cli/src/commands/general/commandKubeCurrentContext.js +1 -1
- package/dist/cli/src/commands/general/commandKubeCurrentContext.js.map +1 -1
- package/dist/cli/src/commands/general/commandKubeGetShell.js +1 -1
- package/dist/cli/src/commands/general/commandKubeGetShell.js.map +1 -1
- package/dist/cli/src/commands/general/commandKubeListNamespaces.js +1 -1
- package/dist/cli/src/commands/general/commandKubeListNamespaces.js.map +1 -1
- package/dist/cli/src/commands/general/commandKubeListPods.js +1 -1
- package/dist/cli/src/commands/general/commandKubeListPods.js.map +1 -1
- package/dist/cli/src/commands/general/commandKubeListSecrets.js +1 -1
- package/dist/cli/src/commands/general/commandKubeListSecrets.js.map +1 -1
- package/dist/cli/src/commands/general/commandKubePortForward.js +1 -1
- package/dist/cli/src/commands/general/commandKubePortForward.js.map +1 -1
- package/dist/cli/src/commands/general/commandKubeStopPortforward.js +1 -1
- package/dist/cli/src/commands/general/commandKubeStopPortforward.js.map +1 -1
- package/dist/cli/src/commands/index.d.ts +9 -8
- package/dist/cli/src/commands/index.js +57 -55
- package/dist/cli/src/commands/index.js.map +1 -1
- package/dist/cli/src/commands/mongodb/commandMongoDestroyMember.js +2 -0
- package/dist/cli/src/commands/mongodb/commandMongoDestroyMember.js.map +1 -1
- package/dist/cli/src/commands/mongodb/commandMongoGetShell.js +2 -0
- package/dist/cli/src/commands/mongodb/commandMongoGetShell.js.map +1 -1
- package/dist/cli/src/commands/mongodb/commandMongoPortForward.js +2 -0
- package/dist/cli/src/commands/mongodb/commandMongoPortForward.js.map +1 -1
- package/dist/cli/src/commands/project/commandCloudSqlProxy.js +2 -0
- package/dist/cli/src/commands/project/commandCloudSqlProxy.js.map +1 -1
- package/dist/cli/src/commands/project/commandOpenLogs.js +18 -3
- package/dist/cli/src/commands/project/commandOpenLogs.js.map +1 -1
- package/dist/cli/src/commands/project/commandPortForward.js +2 -0
- package/dist/cli/src/commands/project/commandPortForward.js.map +1 -1
- package/dist/cli/src/commands/project/commandProjectRestoreDb.js +5 -3
- package/dist/cli/src/commands/project/commandProjectRestoreDb.js.map +1 -1
- package/dist/cli/src/commands/project/{commandDeletePods.d.ts → k8s/commandDeletePods.d.ts} +1 -1
- package/dist/cli/src/commands/project/{commandDeletePods.js → k8s/commandDeletePods.js} +9 -7
- package/dist/cli/src/commands/project/k8s/commandDeletePods.js.map +1 -0
- package/dist/cli/src/commands/project/{commandDeleteProject.d.ts → k8s/commandDeleteProject.d.ts} +1 -1
- package/dist/cli/src/commands/project/{commandDeleteProject.js → k8s/commandDeleteProject.js} +6 -4
- package/dist/cli/src/commands/project/k8s/commandDeleteProject.js.map +1 -0
- package/dist/cli/src/commands/project/{commandGetShell.d.ts → k8s/commandGetShell.d.ts} +1 -1
- package/dist/cli/src/commands/project/{commandGetShell.js → k8s/commandGetShell.js} +9 -7
- package/dist/cli/src/commands/project/k8s/commandGetShell.js.map +1 -0
- package/dist/cli/src/commands/project/{commandListPods.d.ts → k8s/commandListPods.d.ts} +1 -1
- package/dist/cli/src/commands/project/{commandListPods.js → k8s/commandListPods.js} +7 -5
- package/dist/cli/src/commands/project/k8s/commandListPods.js.map +1 -0
- package/dist/cli/src/commands/project/{commandPauseProject.d.ts → k8s/commandNamespace.d.ts} +1 -1
- package/dist/cli/src/commands/project/{commandNamespace.js → k8s/commandNamespace.js} +6 -4
- package/dist/cli/src/commands/project/k8s/commandNamespace.js.map +1 -0
- package/dist/cli/src/commands/project/{commandNamespace.d.ts → k8s/commandPauseProject.d.ts} +1 -1
- package/dist/cli/src/commands/project/{commandPauseProject.js → k8s/commandPauseProject.js} +6 -4
- package/dist/cli/src/commands/project/{commandPauseProject.js.map → k8s/commandPauseProject.js.map} +1 -1
- package/dist/cli/src/commands/project/{commandTriggerCronjob.d.ts → k8s/commandTriggerCronjob.d.ts} +2 -2
- package/dist/cli/src/commands/project/{commandTriggerCronjob.js → k8s/commandTriggerCronjob.js} +10 -8
- package/dist/cli/src/commands/project/k8s/commandTriggerCronjob.js.map +1 -0
- package/dist/cli/src/config/getProjectConfig.js +3 -15
- package/dist/cli/src/config/getProjectConfig.js.map +1 -1
- package/dist/cli/src/core/types.d.ts +2 -0
- package/dist/cli/src/core/types.js +0 -1
- package/dist/cli/src/core/types.js.map +1 -1
- package/dist/pipeline/src/build/artifacts/createBuildJobArtifact.d.ts +1 -1
- package/dist/pipeline/src/build/artifacts/createBuildJobArtifact.js +8 -8
- package/dist/pipeline/src/build/artifacts/createBuildJobArtifact.js.map +1 -1
- package/dist/pipeline/src/build/base/createAppBuildJob.d.ts +1 -1
- package/dist/pipeline/src/build/base/createAppBuildJob.js +2 -2
- package/dist/pipeline/src/build/base/createAppBuildJob.js.map +1 -1
- package/dist/pipeline/src/build/base/index.d.ts +2 -2
- package/dist/pipeline/src/build/base/index.js +4 -4
- package/dist/pipeline/src/build/base/index.js.map +1 -1
- package/dist/pipeline/src/build/custom/buildJob.d.ts +1 -1
- package/dist/pipeline/src/build/custom/buildJob.js +1 -1
- package/dist/pipeline/src/build/custom/buildJob.js.map +1 -1
- package/dist/pipeline/src/build/custom/index.d.ts +1 -1
- package/dist/pipeline/src/build/custom/index.js +2 -2
- package/dist/pipeline/src/build/custom/index.js.map +1 -1
- package/dist/pipeline/src/build/rails/build.d.ts +1 -1
- package/dist/pipeline/src/build/rails/build.js +1 -1
- package/dist/pipeline/src/build/rails/build.js.map +1 -1
- package/dist/pipeline/src/build/rails/index.d.ts +1 -1
- package/dist/pipeline/src/build/rails/index.js +2 -2
- package/dist/pipeline/src/build/rails/index.js.map +1 -1
- package/dist/pipeline/src/constants.js +1 -1
- package/dist/pipeline/src/context/createComponentContext.js +3 -3
- package/dist/pipeline/src/context/createComponentContext.js.map +1 -1
- package/dist/pipeline/src/context/createWorkspaceContext.js +1 -1
- package/dist/pipeline/src/context/createWorkspaceContext.js.map +1 -1
- package/dist/pipeline/src/types/context.d.ts +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/cli.ts +25 -9
- package/src/commands/availability.ts +22 -0
- package/src/commands/general/commandKubeCurrentContext.ts +1 -1
- package/src/commands/general/commandKubeGetShell.ts +1 -1
- package/src/commands/general/commandKubeListNamespaces.ts +1 -1
- package/src/commands/general/commandKubeListPods.ts +1 -1
- package/src/commands/general/commandKubeListSecrets.ts +1 -1
- package/src/commands/general/commandKubePortForward.ts +1 -1
- package/src/commands/general/commandKubeStopPortforward.ts +1 -1
- package/src/commands/index.ts +11 -11
- package/src/commands/mongodb/commandMongoDestroyMember.ts +2 -0
- package/src/commands/mongodb/commandMongoGetShell.ts +2 -0
- package/src/commands/mongodb/commandMongoPortForward.ts +2 -0
- package/src/commands/project/commandCloudSqlProxy.ts +2 -0
- package/src/commands/project/commandOpenLogs.ts +22 -3
- package/src/commands/project/commandPortForward.ts +2 -0
- package/src/commands/project/commandProjectRestoreDb.ts +5 -3
- package/src/commands/project/{commandDeletePods.ts → k8s/commandDeletePods.ts} +10 -8
- package/src/commands/project/{commandDeleteProject.ts → k8s/commandDeleteProject.ts} +6 -4
- package/src/commands/project/{commandGetShell.ts → k8s/commandGetShell.ts} +9 -7
- package/src/commands/project/{commandListPods.ts → k8s/commandListPods.ts} +7 -5
- package/src/commands/project/{commandNamespace.ts → k8s/commandNamespace.ts} +6 -4
- package/src/commands/project/{commandPauseProject.ts → k8s/commandPauseProject.ts} +6 -4
- package/src/commands/project/{commandTriggerCronjob.ts → k8s/commandTriggerCronjob.ts} +10 -8
- package/src/config/getProjectConfig.ts +3 -13
- package/src/core/types.ts +3 -0
- package/dist/cli/src/commands/project/commandDeletePods.js.map +0 -1
- package/dist/cli/src/commands/project/commandDeleteProject.js.map +0 -1
- package/dist/cli/src/commands/project/commandGetShell.js.map +0 -1
- package/dist/cli/src/commands/project/commandListPods.js.map +0 -1
- package/dist/cli/src/commands/project/commandNamespace.js.map +0 -1
- package/dist/cli/src/commands/project/commandTriggerCronjob.js.map +0 -1
package/package.json
CHANGED
package/src/cli.ts
CHANGED
|
@@ -1,14 +1,16 @@
|
|
|
1
|
+
import type { ComponentContext } from "@catladder/pipeline";
|
|
1
2
|
import { Command } from "commander";
|
|
2
|
-
import packageInfos from "./packageInfos";
|
|
3
|
-
import { stopAllPortForwards } from "./utils/portForwards";
|
|
4
3
|
import { createTerminalContext } from "./adapters/terminal";
|
|
5
|
-
import type { CommandDef } from "./core/types";
|
|
6
4
|
import {
|
|
7
|
-
getCompletions,
|
|
8
5
|
generateZshCompletionScript,
|
|
6
|
+
getCompletions,
|
|
9
7
|
installCompletions,
|
|
10
8
|
uninstallCompletions,
|
|
11
9
|
} from "./completion";
|
|
10
|
+
import { getAllPipelineContexts } from "./config/getProjectConfig";
|
|
11
|
+
import type { CommandDef } from "./core/types";
|
|
12
|
+
import packageInfos from "./packageInfos";
|
|
13
|
+
import { stopAllPortForwards } from "./utils/portForwards";
|
|
12
14
|
|
|
13
15
|
// Import all commands
|
|
14
16
|
import * as commands from "./commands";
|
|
@@ -150,10 +152,24 @@ function registerCommand(def: CommandDef): void {
|
|
|
150
152
|
});
|
|
151
153
|
}
|
|
152
154
|
|
|
153
|
-
// Register all commands
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
155
|
+
// Register all commands (async to support isAvailable checks)
|
|
156
|
+
async function registerAllCommands() {
|
|
157
|
+
// Fetch contexts once for all isAvailable checks
|
|
158
|
+
let contexts: ComponentContext[] = [];
|
|
159
|
+
try {
|
|
160
|
+
contexts = await getAllPipelineContexts();
|
|
161
|
+
} catch {
|
|
162
|
+
// No config available (e.g. outside a project) — contexts stays empty
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
for (const cmd of Object.values(commands)) {
|
|
166
|
+
if (cmd && typeof cmd === "object" && "name" in cmd && "execute" in cmd) {
|
|
167
|
+
const def = cmd as CommandDef;
|
|
168
|
+
if (def.isAvailable) {
|
|
169
|
+
if (!def.isAvailable(contexts)) continue;
|
|
170
|
+
}
|
|
171
|
+
registerCommand(def);
|
|
172
|
+
}
|
|
157
173
|
}
|
|
158
174
|
}
|
|
159
175
|
|
|
@@ -211,4 +227,4 @@ process.on("exit", () => {
|
|
|
211
227
|
stopAllPortForwards();
|
|
212
228
|
});
|
|
213
229
|
|
|
214
|
-
program.parse();
|
|
230
|
+
registerAllCommands().then(() => program.parse());
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { ComponentContext, DeployConfigType } from "@catladder/pipeline";
|
|
2
|
+
import { isOfDeployType } from "@catladder/pipeline";
|
|
3
|
+
|
|
4
|
+
/** Returns an isAvailable function that checks if ANY component uses one of the given deploy types */
|
|
5
|
+
export function hasDeployType(
|
|
6
|
+
...types: DeployConfigType[]
|
|
7
|
+
): (contexts: ComponentContext[]) => boolean {
|
|
8
|
+
return (contexts) =>
|
|
9
|
+
contexts.some((ctx) => isOfDeployType(ctx.deploy?.config, ...types));
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
/** Returns an isAvailable function that checks if ANY component has cloudSql configured */
|
|
13
|
+
export function hasCloudSql(): (contexts: ComponentContext[]) => boolean {
|
|
14
|
+
return (contexts) =>
|
|
15
|
+
contexts.some((ctx) => {
|
|
16
|
+
const cfg = ctx.deploy?.config;
|
|
17
|
+
if (isOfDeployType(cfg, "google-cloudrun")) return !!cfg.cloudSql;
|
|
18
|
+
if (isOfDeployType(cfg, "kubernetes"))
|
|
19
|
+
return !!cfg.values?.cloudsql?.enabled;
|
|
20
|
+
return false;
|
|
21
|
+
});
|
|
22
|
+
}
|
|
@@ -2,7 +2,7 @@ import { defineCommand } from "../../core/defineCommand";
|
|
|
2
2
|
import { getCurrentContext } from "../../utils/cluster";
|
|
3
3
|
|
|
4
4
|
export const commandKubeCurrentContext = defineCommand({
|
|
5
|
-
name: "
|
|
5
|
+
name: "k8s current-context",
|
|
6
6
|
description: "show current kubernetes context",
|
|
7
7
|
group: "general",
|
|
8
8
|
inputs: {},
|
|
@@ -4,7 +4,7 @@ import { getk8sApi } from "../../k8sApi";
|
|
|
4
4
|
import { getShell } from "../../utils/shell";
|
|
5
5
|
|
|
6
6
|
export const commandKubeGetShell = defineCommand({
|
|
7
|
-
name: "
|
|
7
|
+
name: "k8s get-shell",
|
|
8
8
|
description: "get a shell to a pod in the environment",
|
|
9
9
|
group: "general",
|
|
10
10
|
inputs: {
|
|
@@ -2,7 +2,7 @@ import { defineCommand } from "../../core/defineCommand";
|
|
|
2
2
|
import { getk8sApi } from "../../k8sApi";
|
|
3
3
|
|
|
4
4
|
export const commandKubeListNamespaces = defineCommand({
|
|
5
|
-
name: "
|
|
5
|
+
name: "k8s list-namespaces",
|
|
6
6
|
description: "list all namespaces",
|
|
7
7
|
group: "general",
|
|
8
8
|
inputs: {},
|
|
@@ -2,7 +2,7 @@ import { defineCommand } from "../../core/defineCommand";
|
|
|
2
2
|
import { getk8sApi } from "../../k8sApi";
|
|
3
3
|
|
|
4
4
|
export const commandKubeListPods = defineCommand({
|
|
5
|
-
name: "
|
|
5
|
+
name: "k8s list-pods",
|
|
6
6
|
description: "list all pods of namespace",
|
|
7
7
|
group: "general",
|
|
8
8
|
inputs: {
|
|
@@ -2,7 +2,7 @@ import { defineCommand } from "../../core/defineCommand";
|
|
|
2
2
|
import { getk8sApi } from "../../k8sApi";
|
|
3
3
|
|
|
4
4
|
export const commandKubeListSecrets = defineCommand({
|
|
5
|
-
name: "
|
|
5
|
+
name: "k8s list-secrets",
|
|
6
6
|
description: "show secrets",
|
|
7
7
|
group: "general",
|
|
8
8
|
inputs: {
|
|
@@ -3,7 +3,7 @@ import { getk8sApi } from "../../k8sApi";
|
|
|
3
3
|
import { startKubePortForward } from "../../kubernetes/portForward";
|
|
4
4
|
|
|
5
5
|
export const commandKubePortForward = defineCommand({
|
|
6
|
-
name: "
|
|
6
|
+
name: "k8s port-forward",
|
|
7
7
|
description: "start port-forwarding",
|
|
8
8
|
group: "general",
|
|
9
9
|
inputs: {
|
|
@@ -2,7 +2,7 @@ import { defineCommand } from "../../core/defineCommand";
|
|
|
2
2
|
import { stopPortForward } from "../../utils/portForwards";
|
|
3
3
|
|
|
4
4
|
export const commandKubeStopPortforward = defineCommand({
|
|
5
|
-
name: "
|
|
5
|
+
name: "k8s stop-portforward",
|
|
6
6
|
description: "stop a running port forward",
|
|
7
7
|
group: "general",
|
|
8
8
|
inputs: {
|
package/src/commands/index.ts
CHANGED
|
@@ -8,24 +8,15 @@ export { commandKubeGetShell } from "./general/commandKubeGetShell";
|
|
|
8
8
|
export { commandKubePortForward } from "./general/commandKubePortForward";
|
|
9
9
|
|
|
10
10
|
// Project commands
|
|
11
|
-
export { commandNamespace } from "./project/commandNamespace";
|
|
12
11
|
export { commandEnvVars } from "./project/commandEnvVars";
|
|
13
|
-
export { commandListPods } from "./project/commandListPods";
|
|
14
|
-
export { commandGetShell } from "./project/commandGetShell";
|
|
15
12
|
export { commandPortForward } from "./project/commandPortForward";
|
|
16
|
-
export { commandDeletePods } from "./project/commandDeletePods";
|
|
17
|
-
export { commandPauseProject } from "./project/commandPauseProject";
|
|
18
|
-
export { commandDeleteProject } from "./project/commandDeleteProject";
|
|
19
13
|
export { commandOpenEnv } from "./project/commandOpenEnv";
|
|
20
|
-
export { commandOpenLogs } from "./project/commandOpenLogs";
|
|
21
14
|
export { commandOpenGit } from "./project/commandOpenGit";
|
|
22
15
|
export { commandCloudSqlProxy } from "./project/commandCloudSqlProxy";
|
|
23
16
|
export { commandConfigSecrets } from "./project/commandConfigSecrets";
|
|
24
17
|
export { commandSecretsClearBackups } from "./project/commandSecretsClearBackups";
|
|
25
|
-
export {
|
|
26
|
-
|
|
27
|
-
commandTriggerCronjobProject,
|
|
28
|
-
} from "./project/commandTriggerCronjob";
|
|
18
|
+
export { commandOpenLogs } from "./project/commandOpenLogs";
|
|
19
|
+
export { commandTriggerCronjobGeneral } from "./project/k8s/commandTriggerCronjob";
|
|
29
20
|
export { commandRenewToken } from "./project/commandRenewToken";
|
|
30
21
|
export { commandGetMyTotalWorktime } from "./project/commandGetMyTotalWorktime";
|
|
31
22
|
export { commandSetup } from "./project/commandSetup";
|
|
@@ -33,6 +24,15 @@ export { commandCiJobOpen, commandCiJobLog } from "./project/commandGitlabCi";
|
|
|
33
24
|
export { commandProjectRestoreDb } from "./project/commandProjectRestoreDb";
|
|
34
25
|
export { commandSecurityEvaluate } from "./project/commandSecurityEvaluate";
|
|
35
26
|
|
|
27
|
+
// Project k8s commands
|
|
28
|
+
export { commandNamespace } from "./project/k8s/commandNamespace";
|
|
29
|
+
export { commandListPods } from "./project/k8s/commandListPods";
|
|
30
|
+
export { commandGetShell } from "./project/k8s/commandGetShell";
|
|
31
|
+
export { commandDeletePods } from "./project/k8s/commandDeletePods";
|
|
32
|
+
export { commandPauseProject } from "./project/k8s/commandPauseProject";
|
|
33
|
+
export { commandDeleteProject } from "./project/k8s/commandDeleteProject";
|
|
34
|
+
export { commandTriggerCronjobProject } from "./project/k8s/commandTriggerCronjob";
|
|
35
|
+
|
|
36
36
|
// MongoDB commands
|
|
37
37
|
export { commandMongoGetShell } from "./mongodb/commandMongoGetShell";
|
|
38
38
|
export { commandMongoPortForward } from "./mongodb/commandMongoPortForward";
|
|
@@ -6,6 +6,7 @@ import { getProjectNamespace } from "../../utils/projects";
|
|
|
6
6
|
import { ensureCluster } from "../../apps/cli/commands/project/utils/ensureCluster";
|
|
7
7
|
import { getMongoDbPodsWithReplInfo } from "../../apps/cli/commands/mongodb/utils";
|
|
8
8
|
import { envAndComponents } from "../../apps/cli/commands/project/utils/autocompletions";
|
|
9
|
+
import { hasDeployType } from "../availability";
|
|
9
10
|
|
|
10
11
|
const removeFinalizer = async (
|
|
11
12
|
namespace: string,
|
|
@@ -37,6 +38,7 @@ export const commandMongoDestroyMember = defineCommand({
|
|
|
37
38
|
name: "project mongo destroy-member",
|
|
38
39
|
description: "DESTROY a member of a replicaset in order to reinitialize it",
|
|
39
40
|
group: "mongodb",
|
|
41
|
+
isAvailable: hasDeployType("kubernetes"),
|
|
40
42
|
inputs: {
|
|
41
43
|
envComponent: {
|
|
42
44
|
type: "string",
|
|
@@ -7,11 +7,13 @@ import {
|
|
|
7
7
|
getProjectMongodbAllPodsSortedWithLabel,
|
|
8
8
|
} from "../../apps/cli/commands/mongodb/utils";
|
|
9
9
|
import { envAndComponents } from "../../apps/cli/commands/project/utils/autocompletions";
|
|
10
|
+
import { hasDeployType } from "../availability";
|
|
10
11
|
|
|
11
12
|
export const commandMongoGetShell = defineCommand({
|
|
12
13
|
name: "project mongo get-shell",
|
|
13
14
|
description: "get a shell to a mongodb in the environment",
|
|
14
15
|
group: "mongodb",
|
|
16
|
+
isAvailable: hasDeployType("kubernetes"),
|
|
15
17
|
inputs: {
|
|
16
18
|
envComponent: {
|
|
17
19
|
type: "string",
|
|
@@ -7,11 +7,13 @@ import { ensureCluster } from "../../apps/cli/commands/project/utils/ensureClust
|
|
|
7
7
|
import { getProjectMongodbAllPodsSortedWithLabel } from "../../apps/cli/commands/mongodb/utils";
|
|
8
8
|
import clipboard from "clipboardy";
|
|
9
9
|
import { envAndComponents } from "../../apps/cli/commands/project/utils/autocompletions";
|
|
10
|
+
import { hasDeployType } from "../availability";
|
|
10
11
|
|
|
11
12
|
export const commandMongoPortForward = defineCommand({
|
|
12
13
|
name: "project mongo port-forward",
|
|
13
14
|
description: "port forward to a mongodb",
|
|
14
15
|
group: "mongodb",
|
|
16
|
+
isAvailable: hasDeployType("kubernetes"),
|
|
15
17
|
inputs: {
|
|
16
18
|
envComponent: {
|
|
17
19
|
type: "string",
|
|
@@ -18,6 +18,7 @@ import {
|
|
|
18
18
|
import { logError, logLines, logWarning } from "../../utils/log";
|
|
19
19
|
import type { IO } from "../../core/types";
|
|
20
20
|
import { envAndComponents } from "../../apps/cli/commands/project/utils/autocompletions";
|
|
21
|
+
import { hasCloudSql } from "../availability";
|
|
21
22
|
|
|
22
23
|
type ProxyInfo = {
|
|
23
24
|
instanceName: string;
|
|
@@ -94,6 +95,7 @@ export const commandCloudSqlProxy = defineCommand({
|
|
|
94
95
|
name: "project cloudsql proxy",
|
|
95
96
|
description: "proxy to cloud sql db",
|
|
96
97
|
group: "project",
|
|
98
|
+
isAvailable: hasCloudSql(),
|
|
97
99
|
inputs: {
|
|
98
100
|
envComponent: {
|
|
99
101
|
type: "string",
|
|
@@ -1,15 +1,19 @@
|
|
|
1
|
+
import { isOfDeployType } from "@catladder/pipeline";
|
|
1
2
|
import { defineCommand } from "../../core/defineCommand";
|
|
2
3
|
import {
|
|
3
4
|
getPipelineContextByChoice,
|
|
4
5
|
parseChoice,
|
|
5
6
|
} from "../../config/getProjectConfig";
|
|
6
7
|
import { openGoogleCloudLogs } from "../../kubernetes/openKubernetesDashboards";
|
|
8
|
+
import { openGoogleCloudDashboard } from "../../gcloud/openDashboard";
|
|
7
9
|
import { envAndComponents } from "../../apps/cli/commands/project/utils/autocompletions";
|
|
10
|
+
import { hasDeployType } from "../availability";
|
|
8
11
|
|
|
9
12
|
export const commandOpenLogs = defineCommand({
|
|
10
|
-
name: "project open
|
|
11
|
-
description: "open
|
|
13
|
+
name: "project logs open",
|
|
14
|
+
description: "open logs for a component (Google Cloud Logging)",
|
|
12
15
|
group: "project",
|
|
16
|
+
isAvailable: hasDeployType("kubernetes", "google-cloudrun"),
|
|
13
17
|
inputs: {
|
|
14
18
|
envComponent: {
|
|
15
19
|
type: "string",
|
|
@@ -22,6 +26,21 @@ export const commandOpenLogs = defineCommand({
|
|
|
22
26
|
const envComponent = await ctx.get("envComponent");
|
|
23
27
|
const { env, componentName } = parseChoice(envComponent);
|
|
24
28
|
const context = await getPipelineContextByChoice(env, componentName);
|
|
25
|
-
|
|
29
|
+
const deployConfig = context.deploy?.config;
|
|
30
|
+
|
|
31
|
+
if (isOfDeployType(deployConfig, "kubernetes")) {
|
|
32
|
+
await openGoogleCloudLogs(ctx, context);
|
|
33
|
+
} else if (isOfDeployType(deployConfig, "google-cloudrun")) {
|
|
34
|
+
const serviceName = context.environment.fullName.toLowerCase();
|
|
35
|
+
await openGoogleCloudDashboard(
|
|
36
|
+
ctx,
|
|
37
|
+
`run/detail/${deployConfig.region}/${serviceName}/observability/logs`,
|
|
38
|
+
{
|
|
39
|
+
project: deployConfig.projectId,
|
|
40
|
+
},
|
|
41
|
+
);
|
|
42
|
+
} else {
|
|
43
|
+
ctx.log(`Unsupported deploy type for open-logs: ${deployConfig?.type}`);
|
|
44
|
+
}
|
|
26
45
|
},
|
|
27
46
|
});
|
|
@@ -10,11 +10,13 @@ import { isOfDeployType } from "@catladder/pipeline";
|
|
|
10
10
|
import { startPortForwardCommand } from "../../utils/portForwards";
|
|
11
11
|
import open from "open";
|
|
12
12
|
import { envAndComponents } from "../../apps/cli/commands/project/utils/autocompletions";
|
|
13
|
+
import { hasDeployType } from "../availability";
|
|
13
14
|
|
|
14
15
|
export const commandPortForward = defineCommand({
|
|
15
16
|
name: "project port-forward",
|
|
16
17
|
description: "start port-forwarding",
|
|
17
18
|
group: "project",
|
|
19
|
+
isAvailable: hasDeployType("kubernetes", "google-cloudrun"),
|
|
18
20
|
inputs: {
|
|
19
21
|
envComponent: {
|
|
20
22
|
type: "string",
|
|
@@ -4,6 +4,7 @@ import {
|
|
|
4
4
|
getEnvVarsResolved,
|
|
5
5
|
getPipelineContextByChoice,
|
|
6
6
|
} from "../../config/getProjectConfig";
|
|
7
|
+
import { hasCloudSql } from "../availability";
|
|
7
8
|
import type { CloudSqlBackgroundProxy } from "../../gcloud/cloudSql/startProxy";
|
|
8
9
|
import { startCloudSqlProxyInBackground } from "../../gcloud/cloudSql/startProxy";
|
|
9
10
|
import { parseConnectionString } from "../../gcloud/cloudSql/parseConnectionString";
|
|
@@ -11,7 +12,7 @@ import { spawnCopyDb } from "../../gcloud/cloudSql/copyDb";
|
|
|
11
12
|
import type { ComponentContext } from "@catladder/pipeline";
|
|
12
13
|
import { isOfDeployType } from "@catladder/pipeline";
|
|
13
14
|
|
|
14
|
-
const
|
|
15
|
+
const componentHasCloudSql = (context: ComponentContext) => {
|
|
15
16
|
const deployConfig = context.deploy?.config;
|
|
16
17
|
if (isOfDeployType(deployConfig, "google-cloudrun")) {
|
|
17
18
|
return !!deployConfig.cloudSql;
|
|
@@ -26,6 +27,7 @@ export const commandProjectRestoreDb = defineCommand({
|
|
|
26
27
|
name: "project cloudsql restore-db",
|
|
27
28
|
description: "restores a project db from one source to another target",
|
|
28
29
|
group: "project",
|
|
30
|
+
isAvailable: hasCloudSql(),
|
|
29
31
|
inputs: {
|
|
30
32
|
source: {
|
|
31
33
|
type: "string",
|
|
@@ -41,7 +43,7 @@ export const commandProjectRestoreDb = defineCommand({
|
|
|
41
43
|
return a.localeCompare(b);
|
|
42
44
|
};
|
|
43
45
|
return allContexts
|
|
44
|
-
.filter(
|
|
46
|
+
.filter(componentHasCloudSql)
|
|
45
47
|
.map((c: any) => `${c.env}:${c.name}`)
|
|
46
48
|
.sort(sortByEnv);
|
|
47
49
|
},
|
|
@@ -60,7 +62,7 @@ export const commandProjectRestoreDb = defineCommand({
|
|
|
60
62
|
return a.localeCompare(b);
|
|
61
63
|
};
|
|
62
64
|
return allContexts
|
|
63
|
-
.filter(
|
|
65
|
+
.filter(componentHasCloudSql)
|
|
64
66
|
.map((c: any) => {
|
|
65
67
|
const value = `${c.env}:${c.name}`;
|
|
66
68
|
const isProd = c.environment.envType === "prod";
|
|
@@ -1,15 +1,17 @@
|
|
|
1
|
-
import { defineCommand } from "
|
|
2
|
-
import { getk8sApi } from "
|
|
3
|
-
import { getProjectPodNames } from "
|
|
4
|
-
import { logError } from "
|
|
5
|
-
import { getProjectNamespace } from "
|
|
6
|
-
import { ensureCluster } from "
|
|
7
|
-
import { envAndComponents } from "
|
|
1
|
+
import { defineCommand } from "../../../core/defineCommand";
|
|
2
|
+
import { getk8sApi } from "../../../k8sApi";
|
|
3
|
+
import { getProjectPodNames } from "../../../kubernetes";
|
|
4
|
+
import { logError } from "../../../utils/log";
|
|
5
|
+
import { getProjectNamespace } from "../../../utils/projects";
|
|
6
|
+
import { ensureCluster } from "../../../apps/cli/commands/project/utils/ensureCluster";
|
|
7
|
+
import { envAndComponents } from "../../../apps/cli/commands/project/utils/autocompletions";
|
|
8
|
+
import { hasDeployType } from "../../availability";
|
|
8
9
|
|
|
9
10
|
export const commandDeletePods = defineCommand({
|
|
10
|
-
name: "project delete-pods",
|
|
11
|
+
name: "project k8s delete-pods",
|
|
11
12
|
description: "delete / restart pods",
|
|
12
13
|
group: "project",
|
|
14
|
+
isAvailable: hasDeployType("kubernetes"),
|
|
13
15
|
|
|
14
16
|
inputs: {
|
|
15
17
|
envComponent: {
|
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
import { exec } from "child-process-promise";
|
|
2
|
-
import { defineCommand } from "
|
|
3
|
-
import { getProjectNamespace } from "
|
|
4
|
-
import { envAndComponents } from "
|
|
2
|
+
import { defineCommand } from "../../../core/defineCommand";
|
|
3
|
+
import { getProjectNamespace } from "../../../utils/projects";
|
|
4
|
+
import { envAndComponents } from "../../../apps/cli/commands/project/utils/autocompletions";
|
|
5
|
+
import { hasDeployType } from "../../availability";
|
|
5
6
|
|
|
6
7
|
export const commandDeleteProject = defineCommand({
|
|
7
|
-
name: "project delete",
|
|
8
|
+
name: "project k8s delete",
|
|
8
9
|
description: "deletes a environment of a project (it deletes the namespace)",
|
|
9
10
|
group: "project",
|
|
11
|
+
isAvailable: hasDeployType("kubernetes"),
|
|
10
12
|
inputs: {
|
|
11
13
|
envComponent: {
|
|
12
14
|
type: "string",
|
|
@@ -1,15 +1,17 @@
|
|
|
1
|
-
import { defineCommand } from "
|
|
2
|
-
import { getProjectPods } from "
|
|
1
|
+
import { defineCommand } from "../../../core/defineCommand";
|
|
2
|
+
import { getProjectPods } from "../../../kubernetes";
|
|
3
3
|
|
|
4
|
-
import { getProjectNamespace } from "
|
|
5
|
-
import { getShell } from "
|
|
6
|
-
import { ensureCluster } from "
|
|
7
|
-
import { envAndComponents } from "
|
|
4
|
+
import { getProjectNamespace } from "../../../utils/projects";
|
|
5
|
+
import { getShell } from "../../../utils/shell";
|
|
6
|
+
import { ensureCluster } from "../../../apps/cli/commands/project/utils/ensureCluster";
|
|
7
|
+
import { envAndComponents } from "../../../apps/cli/commands/project/utils/autocompletions";
|
|
8
|
+
import { hasDeployType } from "../../availability";
|
|
8
9
|
|
|
9
10
|
export const commandGetShell = defineCommand({
|
|
10
|
-
name: "project get-shell",
|
|
11
|
+
name: "project k8s get-shell",
|
|
11
12
|
description: "get a shell to a pod in the environment",
|
|
12
13
|
group: "project",
|
|
14
|
+
isAvailable: hasDeployType("kubernetes"),
|
|
13
15
|
inputs: {
|
|
14
16
|
envComponent: {
|
|
15
17
|
type: "string",
|
|
@@ -1,14 +1,16 @@
|
|
|
1
1
|
import { stringify } from "yaml";
|
|
2
2
|
import { pick } from "lodash";
|
|
3
|
-
import { defineCommand } from "
|
|
4
|
-
import { getProjectPods } from "
|
|
5
|
-
import { ensureCluster } from "
|
|
6
|
-
import { envAndComponents } from "
|
|
3
|
+
import { defineCommand } from "../../../core/defineCommand";
|
|
4
|
+
import { getProjectPods } from "../../../kubernetes";
|
|
5
|
+
import { ensureCluster } from "../../../apps/cli/commands/project/utils/ensureCluster";
|
|
6
|
+
import { envAndComponents } from "../../../apps/cli/commands/project/utils/autocompletions";
|
|
7
|
+
import { hasDeployType } from "../../availability";
|
|
7
8
|
|
|
8
9
|
export const commandListPods = defineCommand({
|
|
9
|
-
name: "project list-pods",
|
|
10
|
+
name: "project k8s list-pods",
|
|
10
11
|
description: "list pods of local project",
|
|
11
12
|
group: "project",
|
|
13
|
+
isAvailable: hasDeployType("kubernetes"),
|
|
12
14
|
inputs: {
|
|
13
15
|
envComponent: {
|
|
14
16
|
type: "string",
|
|
@@ -1,11 +1,13 @@
|
|
|
1
|
-
import { defineCommand } from "
|
|
2
|
-
import { getProjectNamespace } from "
|
|
3
|
-
import { envAndComponents } from "
|
|
1
|
+
import { defineCommand } from "../../../core/defineCommand";
|
|
2
|
+
import { getProjectNamespace } from "../../../utils/projects";
|
|
3
|
+
import { envAndComponents } from "../../../apps/cli/commands/project/utils/autocompletions";
|
|
4
|
+
import { hasDeployType } from "../../availability";
|
|
4
5
|
|
|
5
6
|
export const commandNamespace = defineCommand({
|
|
6
|
-
name: "project namespace",
|
|
7
|
+
name: "project k8s namespace",
|
|
7
8
|
description: "show namespace of local project",
|
|
8
9
|
group: "project",
|
|
10
|
+
isAvailable: hasDeployType("kubernetes"),
|
|
9
11
|
inputs: {
|
|
10
12
|
envComponent: {
|
|
11
13
|
type: "string",
|
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
import { exec } from "child-process-promise";
|
|
2
|
-
import { defineCommand } from "
|
|
3
|
-
import { getProjectNamespace } from "
|
|
4
|
-
import { envAndComponents } from "
|
|
2
|
+
import { defineCommand } from "../../../core/defineCommand";
|
|
3
|
+
import { getProjectNamespace } from "../../../utils/projects";
|
|
4
|
+
import { envAndComponents } from "../../../apps/cli/commands/project/utils/autocompletions";
|
|
5
|
+
import { hasDeployType } from "../../availability";
|
|
5
6
|
|
|
6
7
|
export const commandPauseProject = defineCommand({
|
|
7
|
-
name: "project pause",
|
|
8
|
+
name: "project k8s pause",
|
|
8
9
|
description: "halts all running pods (scales to 0)",
|
|
9
10
|
group: "project",
|
|
11
|
+
isAvailable: hasDeployType("kubernetes"),
|
|
10
12
|
inputs: {
|
|
11
13
|
envComponent: {
|
|
12
14
|
type: "string",
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import type { V1ObjectMeta } from "@kubernetes/client-node";
|
|
2
2
|
import { V1Job } from "@kubernetes/client-node";
|
|
3
|
-
import { defineCommand } from "
|
|
4
|
-
import { getk8sApiBatch, getk8sApiBatchBeta } from "
|
|
5
|
-
import { logError } from "
|
|
6
|
-
import { getProjectNamespace } from "
|
|
7
|
-
import { ensureCluster } from "
|
|
8
|
-
import { envAndComponents } from "
|
|
3
|
+
import { defineCommand } from "../../../core/defineCommand";
|
|
4
|
+
import { getk8sApiBatch, getk8sApiBatchBeta } from "../../../k8sApi";
|
|
5
|
+
import { logError } from "../../../utils/log";
|
|
6
|
+
import { getProjectNamespace } from "../../../utils/projects";
|
|
7
|
+
import { ensureCluster } from "../../../apps/cli/commands/project/utils/ensureCluster";
|
|
8
|
+
import { envAndComponents } from "../../../apps/cli/commands/project/utils/autocompletions";
|
|
9
|
+
import { hasDeployType } from "../../availability";
|
|
9
10
|
|
|
10
11
|
const getCronjobChoices = async (namespace: string) => {
|
|
11
12
|
const {
|
|
@@ -46,7 +47,7 @@ const runCronjob = async (
|
|
|
46
47
|
};
|
|
47
48
|
|
|
48
49
|
export const commandTriggerCronjobGeneral = defineCommand({
|
|
49
|
-
name: "
|
|
50
|
+
name: "k8s trigger-cronjob",
|
|
50
51
|
description: "trigger cronjob",
|
|
51
52
|
group: "general",
|
|
52
53
|
inputs: {
|
|
@@ -69,9 +70,10 @@ export const commandTriggerCronjobGeneral = defineCommand({
|
|
|
69
70
|
});
|
|
70
71
|
|
|
71
72
|
export const commandTriggerCronjobProject = defineCommand({
|
|
72
|
-
name: "project trigger-cronjob",
|
|
73
|
+
name: "project k8s trigger-cronjob",
|
|
73
74
|
description: "trigger cronjob",
|
|
74
75
|
group: "project",
|
|
76
|
+
isAvailable: hasDeployType("kubernetes"),
|
|
75
77
|
inputs: {
|
|
76
78
|
envComponent: {
|
|
77
79
|
type: "string",
|
|
@@ -16,35 +16,25 @@ import { getAllVariables, getVariableValueByRawName } from "../utils/gitlab";
|
|
|
16
16
|
|
|
17
17
|
import { getGitRoot } from "../utils/projects";
|
|
18
18
|
|
|
19
|
-
import { watch } from "fs";
|
|
20
|
-
|
|
21
19
|
export { parseChoice } from "./parseChoice";
|
|
22
20
|
|
|
23
21
|
let currentConfig: Config | null = null;
|
|
24
22
|
|
|
25
|
-
|
|
26
|
-
const reloadConfigAndObserve = async () => {
|
|
23
|
+
const loadConfig = async () => {
|
|
27
24
|
const gitRoot = await getGitRoot();
|
|
28
25
|
if (!gitRoot) {
|
|
29
26
|
return;
|
|
30
27
|
}
|
|
31
28
|
const result = await readConfig(gitRoot);
|
|
32
29
|
if (!result) {
|
|
33
|
-
// can't do anything, there is no config
|
|
34
30
|
return;
|
|
35
31
|
}
|
|
36
|
-
|
|
37
|
-
const watcher = watch(path, () => {
|
|
38
|
-
watcher.close();
|
|
39
|
-
reloadConfigAndObserve();
|
|
40
|
-
});
|
|
41
|
-
currentConfig = config;
|
|
32
|
+
currentConfig = result.config;
|
|
42
33
|
};
|
|
43
34
|
|
|
44
35
|
export const getProjectConfig = async () => {
|
|
45
36
|
if (!currentConfig) {
|
|
46
|
-
|
|
47
|
-
await reloadConfigAndObserve();
|
|
37
|
+
await loadConfig();
|
|
48
38
|
}
|
|
49
39
|
return currentConfig as Config;
|
|
50
40
|
};
|
package/src/core/types.ts
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import type { ComponentContext } from "@catladder/pipeline";
|
|
2
|
+
|
|
1
3
|
// ─── Input Definitions ───────────────────────────────────────────────
|
|
2
4
|
|
|
3
5
|
export type PromptChoice = string | { name: string; value: string };
|
|
@@ -123,6 +125,7 @@ export interface CommandDef<TInputs extends InputsSchema = InputsSchema> {
|
|
|
123
125
|
description: string;
|
|
124
126
|
group?: string;
|
|
125
127
|
inputs: TInputs;
|
|
128
|
+
isAvailable?: (contexts: ComponentContext[]) => boolean;
|
|
126
129
|
execute: (ctx: CommandContext<TInputs>) => Promise<void>;
|
|
127
130
|
}
|
|
128
131
|
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"commandDeletePods.js","sourceRoot":"","sources":["../../../../../src/commands/project/commandDeletePods.ts"],"names":[],"mappings":";;;AAAA,4DAAyD;AACzD,yCAAyC;AACzC,iDAAsD;AAEtD,mDAA2D;AAC3D,uFAAoF;AACpF,2FAAyF;AAE5E,QAAA,iBAAiB,GAAG,IAAA,6BAAa,EAAC;IAC7C,IAAI,EAAE,qBAAqB;IAC3B,WAAW,EAAE,uBAAuB;IACpC,KAAK,EAAE,SAAS;IAEhB,MAAM,EAAE;QACN,YAAY,EAAE;YACZ,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,uBAAuB;YAChC,UAAU,EAAE,IAAI;YAChB,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,IAAA,kCAAgB,GAAE;SACxC;QACD,gBAAgB,EAAE;YAChB,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,uCAAuC;YAChD,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,IAAA,+BAAkB,EAAC,MAAM,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;SAC1E;KACF;IAED,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;QACrB,MAAM,YAAY,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QACnD,MAAM,IAAA,6BAAa,EAAC,GAAG,EAAE,YAAY,CAAC,CAAC;QACvC,MAAM,SAAS,GAAG,MAAM,IAAA,8BAAmB,EAAC,YAAY,CAAC,CAAC;QAE1D,MAAM,gBAAgB,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;QAE3D,GAAG,CAAC,GAAG,CACL,oEAAoE,CACrE,CAAC;QACF,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACZ,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACpD,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAEZ,MAAM,cAAc,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;QAE5D,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACZ,MAAM,MAAM,GAAG,IAAA,kBAAS,GAAE,CAAC;QAC3B,IAAI,cAAc,EAAE,CAAC;YACnB,KAAK,MAAM,OAAO,IAAI,gBAAgB,EAAE,CAAC;gBACvC,MAAM,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;gBAC7D,GAAG,CAAC,GAAG,CAAC,gBAAgB,OAAO,GAAG,CAAC,CAAC;YACtC,CAAC;QACH,CAAC;IACH,CAAC;CACF,CAAC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"commandDeleteProject.js","sourceRoot":"","sources":["../../../../../src/commands/project/commandDeleteProject.ts"],"names":[],"mappings":";;;AAAA,iEAA6C;AAC7C,4DAAyD;AACzD,mDAA2D;AAC3D,2FAAyF;AAE5E,QAAA,oBAAoB,GAAG,IAAA,6BAAa,EAAC;IAChD,IAAI,EAAE,gBAAgB;IACtB,WAAW,EAAE,+DAA+D;IAC5E,KAAK,EAAE,SAAS;IAChB,MAAM,EAAE;QACN,YAAY,EAAE;YACZ,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,uBAAuB;YAChC,UAAU,EAAE,IAAI;YAChB,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,IAAA,kCAAgB,GAAE;SACxC;KACF;IACD,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;QACrB,MAAM,YAAY,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QACnD,MAAM,SAAS,GAAG,MAAM,IAAA,8BAAmB,EAAC,YAAY,CAAC,CAAC;QAC1D,MAAM,cAAc,GAAG,MAAM,GAAG,CAAC,OAAO,CACtC,sEAAsE,CACvE,CAAC;QACF,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,OAAO;QACT,CAAC;QACD,MAAM,WAAW,GAAG,4BAA4B,SAAS,EAAE,CAAC;QAC5D,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,IAAA,4BAAI,EAAC,WAAW,EAAE;YACzC,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE;SACnC,CAAC,CAAC;QACH,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAClB,CAAC;CACF,CAAC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"commandGetShell.js","sourceRoot":"","sources":["../../../../../src/commands/project/commandGetShell.ts"],"names":[],"mappings":";;;AAAA,4DAAyD;AACzD,iDAAkD;AAElD,mDAA2D;AAC3D,6CAA6C;AAC7C,uFAAoF;AACpF,2FAAyF;AAE5E,QAAA,eAAe,GAAG,IAAA,6BAAa,EAAC;IAC3C,IAAI,EAAE,mBAAmB;IACzB,WAAW,EAAE,yCAAyC;IACtD,KAAK,EAAE,SAAS;IAChB,MAAM,EAAE;QACN,YAAY,EAAE;YACZ,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,uBAAuB;YAChC,UAAU,EAAE,IAAI;YAChB,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,IAAA,kCAAgB,GAAE;SACxC;QACD,OAAO,EAAE;YACP,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,eAAe;YACxB,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;gBACrB,MAAM,YAAY,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;gBACnD,MAAM,IAAI,GAAG,MAAM,IAAA,2BAAc,EAAC,YAAY,CAAC,CAAC;gBAChD,OAAO,IAAI;qBACR,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,SAAS,CAAC;qBAC/C,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACtC,CAAC;SACF;KACF;IACD,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;QACrB,MAAM,YAAY,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QACnD,MAAM,IAAA,6BAAa,EAAC,GAAG,EAAE,YAAY,CAAC,CAAC;QACvC,MAAM,SAAS,GAAG,MAAM,IAAA,8BAAmB,EAAC,YAAY,CAAC,CAAC;QAC1D,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACzC,OAAO,IAAA,gBAAQ,EAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IACtC,CAAC;CACF,CAAC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"commandListPods.js","sourceRoot":"","sources":["../../../../../src/commands/project/commandListPods.ts"],"names":[],"mappings":";;;AAAA,+BAAiC;AACjC,mCAA8B;AAC9B,4DAAyD;AACzD,iDAAkD;AAClD,uFAAoF;AACpF,2FAAyF;AAE5E,QAAA,eAAe,GAAG,IAAA,6BAAa,EAAC;IAC3C,IAAI,EAAE,mBAAmB;IACzB,WAAW,EAAE,4BAA4B;IACzC,KAAK,EAAE,SAAS;IAChB,MAAM,EAAE;QACN,YAAY,EAAE;YACZ,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,uBAAuB;YAChC,UAAU,EAAE,IAAI;YAChB,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,IAAA,kCAAgB,GAAE;SACxC;KACF;IACD,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;QACrB,MAAM,YAAY,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QACnD,MAAM,IAAA,6BAAa,EAAC,GAAG,EAAE,YAAY,CAAC,CAAC;QACvC,MAAM,IAAI,GAAG,MAAM,IAAA,2BAAc,EAAC,YAAY,CAAC,CAAC;QAChD,GAAG,CAAC,GAAG,CACL,IAAA,gBAAS,EACP,IAAI,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,IAAA,aAAI,EAAC,CAAC,EAAE,CAAC,eAAe,EAAE,kBAAkB,CAAC,CAAC,CAAC,CACrE,CACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"commandNamespace.js","sourceRoot":"","sources":["../../../../../src/commands/project/commandNamespace.ts"],"names":[],"mappings":";;;AAAA,4DAAyD;AACzD,mDAA2D;AAC3D,2FAAyF;AAE5E,QAAA,gBAAgB,GAAG,IAAA,6BAAa,EAAC;IAC5C,IAAI,EAAE,mBAAmB;IACzB,WAAW,EAAE,iCAAiC;IAC9C,KAAK,EAAE,SAAS;IAChB,MAAM,EAAE;QACN,YAAY,EAAE;YACZ,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,uBAAuB;YAChC,UAAU,EAAE,IAAI;YAChB,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,IAAA,kCAAgB,GAAE;SACxC;KACF;IACD,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;QACrB,MAAM,YAAY,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QACnD,GAAG,CAAC,GAAG,CAAC,MAAM,IAAA,8BAAmB,EAAC,YAAY,CAAC,CAAC,CAAC;IACnD,CAAC;CACF,CAAC,CAAC"}
|