@catladder/cli 2.0.3 → 2.0.5

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.
Files changed (23) hide show
  1. package/dist/bundles/catenv/index.js +1 -1
  2. package/dist/bundles/cli/index.js +1 -1
  3. package/dist/cli/src/apps/cli/commands/project/index.js +0 -4
  4. package/dist/cli/src/apps/cli/commands/project/index.js.map +1 -1
  5. package/dist/pipeline/src/deploy/cloudRun/createJobs/cloudRunJobs.js +2 -10
  6. package/dist/pipeline/src/deploy/cloudRun/createJobs/cloudRunJobs.js.map +1 -1
  7. package/dist/pipeline/src/deploy/cloudRun/createJobs/cloudRunServices.js +1 -3
  8. package/dist/pipeline/src/deploy/cloudRun/createJobs/cloudRunServices.js.map +1 -1
  9. package/dist/tsconfig.tsbuildinfo +1 -1
  10. package/package.json +1 -1
  11. package/src/apps/cli/commands/project/index.ts +1 -6
  12. package/dist/cli/src/apps/cli/commands/project/commandMigrateHelm3.d.ts +0 -7
  13. package/dist/cli/src/apps/cli/commands/project/commandMigrateHelm3.js +0 -46
  14. package/dist/cli/src/apps/cli/commands/project/commandMigrateHelm3.js.map +0 -1
  15. package/dist/cli/src/apps/cli/commands/project/commandOpenCostDashboard.d.ts +0 -3
  16. package/dist/cli/src/apps/cli/commands/project/commandOpenCostDashboard.js +0 -22
  17. package/dist/cli/src/apps/cli/commands/project/commandOpenCostDashboard.js.map +0 -1
  18. package/dist/cli/src/apps/cli/commands/project/commandOpenDashboard.d.ts +0 -3
  19. package/dist/cli/src/apps/cli/commands/project/commandOpenDashboard.js +0 -22
  20. package/dist/cli/src/apps/cli/commands/project/commandOpenDashboard.js.map +0 -1
  21. package/src/apps/cli/commands/project/commandMigrateHelm3.ts +0 -63
  22. package/src/apps/cli/commands/project/commandOpenCostDashboard.ts +0 -32
  23. package/src/apps/cli/commands/project/commandOpenDashboard.ts +0 -28
package/package.json CHANGED
@@ -53,7 +53,7 @@
53
53
  }
54
54
  ],
55
55
  "license": "MIT",
56
- "version": "2.0.3",
56
+ "version": "2.0.5",
57
57
  "scripts": {
58
58
  "lint": "eslint \"src/**/*.ts\"",
59
59
  "lint:fix": "eslint \"src/**/*.ts\" --fix",
@@ -12,8 +12,7 @@ import commandSetup from "./commandSetup";
12
12
  import commandRenewToken from "./commandRenewToken";
13
13
  import commandListPods from "./commandListPods";
14
14
  import commandNamespace from "./commandNamespace";
15
- import commandOpenCostDashboard from "./commandOpenCostDashboard";
16
- import commandOpenDashboard from "./commandOpenDashboard";
15
+
17
16
  import commandOpenEnv from "./commandOpenEnv";
18
17
  import commandOpenGit from "./commandOpenGit";
19
18
  import commandOpenLogs from "./commandOpenLogs";
@@ -35,12 +34,8 @@ export default async (vorpal: Vorpal) => {
35
34
  commandPauseProject(vorpal);
36
35
  commandDeleteProject(vorpal);
37
36
 
38
- commandOpenDashboard(vorpal);
39
-
40
37
  commandOpenLogs(vorpal);
41
38
 
42
- commandOpenCostDashboard(vorpal);
43
-
44
39
  commandCloudSqlProxy(vorpal);
45
40
  commandProjectRestoreDb(vorpal);
46
41
  commandOpenGit(vorpal);
@@ -1,7 +0,0 @@
1
- import type Vorpal from "vorpal";
2
- /**
3
- * Error: rendered manifests contain a resource that already exists.
4
- * Unable to continue with install: ConfigMap "web-app-env" in namespace "pvl-bike2school-dev" exists and cannot be imported into the current release: invalid ownership metadata; label validation error: missing key "app.kubernetes.io/managed-by": must be set to "Helm"; annotation validation error: missing key "meta.helm.sh/release-name": must be set to "pvl-bike2school-dev-web"; annotation validation error: missing key "meta.helm.sh/release-namespace": must be set to "pvl-bike2school-dev"
5
- */
6
- declare const _default: (vorpal: Vorpal) => Promise<Vorpal.Command>;
7
- export default _default;
@@ -1,46 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const child_process_promise_1 = require("child-process-promise");
4
- const getProjectConfig_1 = require("../../../../config/getProjectConfig");
5
- const log_1 = require("../../../../utils/log");
6
- const autocompletions_1 = require("./utils/autocompletions");
7
- /**
8
- * Error: rendered manifests contain a resource that already exists.
9
- * Unable to continue with install: ConfigMap "web-app-env" in namespace "pvl-bike2school-dev" exists and cannot be imported into the current release: invalid ownership metadata; label validation error: missing key "app.kubernetes.io/managed-by": must be set to "Helm"; annotation validation error: missing key "meta.helm.sh/release-name": must be set to "pvl-bike2school-dev-web"; annotation validation error: missing key "meta.helm.sh/release-namespace": must be set to "pvl-bike2school-dev"
10
- */
11
- exports.default = async (vorpal) => vorpal
12
- .command("project-migrate-helm3 <envComponent>", "Do manual step for helm2 to helm3 migration")
13
- .autocomplete((await (0, autocompletions_1.envAndComponents)()).filter((e) => !e.startsWith("local") && !e.startsWith("review")))
14
- .action(async function ({ envComponent }) {
15
- try {
16
- const { env, componentName } = (0, getProjectConfig_1.parseChoice)(envComponent);
17
- const result = await (0, child_process_promise_1.exec)("helm version --short");
18
- const version = result.stdout;
19
- this.log(`your helm version: ${version}`);
20
- if (!version.startsWith("v3")) {
21
- throw new Error("no helm3");
22
- }
23
- try {
24
- await (0, child_process_promise_1.exec)("helm plugin install https://github.com/helm/helm-2to3.git");
25
- this.log("successfully installed plugin https://github.com/helm/helm-2to3.git");
26
- }
27
- catch (e) {
28
- // ignore
29
- }
30
- // we use the app full name as the release name
31
- const releaseName = (await (0, getProjectConfig_1.getEnvironment)(env, componentName)).fullName;
32
- this.log(`helm release name: ${releaseName}`);
33
- this.log("");
34
- this.log("migrating now... 😼. This may take a moment");
35
- this.log("");
36
- const r = await (0, child_process_promise_1.exec)(`helm 2to3 convert --delete-v2-releases ${releaseName}`);
37
- this.log(r);
38
- }
39
- catch (e) {
40
- (0, log_1.logError)(this, e.message);
41
- this.log("make sure that you have installed latest helm3 locally");
42
- this.log("(e.g. brew upgrade helm)");
43
- this.log("");
44
- }
45
- });
46
- //# sourceMappingURL=commandMigrateHelm3.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"commandMigrateHelm3.js","sourceRoot":"","sources":["../../../../../../../src/apps/cli/commands/project/commandMigrateHelm3.ts"],"names":[],"mappings":";;AAAA,iEAA6C;AAE7C,0EAG6C;AAC7C,+CAAiD;AAEjD,6DAA2D;AAE3D;;;GAGG;AACH,kBAAe,KAAK,EAAE,MAAc,EAAE,EAAE,CACtC,MAAM;KACH,OAAO,CACN,sCAAsC,EACtC,6CAA6C,CAC9C;KACA,YAAY,CACX,CAAC,MAAM,IAAA,kCAAgB,GAAE,CAAC,CAAC,MAAM,CAC/B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CACzD,CACF;KACA,MAAM,CAAC,KAAK,WAAW,EAAE,YAAY,EAAE;IACtC,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,EAAE,aAAa,EAAE,GAAG,IAAA,8BAAW,EAAC,YAAY,CAAC,CAAC;QACzD,MAAM,MAAM,GAAG,MAAM,IAAA,4BAAI,EAAC,sBAAsB,CAAC,CAAC;QAClD,MAAM,OAAO,GAAG,MAAM,CAAC,MAAgB,CAAC;QACxC,IAAI,CAAC,GAAG,CAAC,sBAAsB,OAAO,EAAE,CAAC,CAAC;QAC1C,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,UAAU,CAAC,CAAC;QAC9B,CAAC;QACD,IAAI,CAAC;YACH,MAAM,IAAA,4BAAI,EACR,2DAA2D,CAC5D,CAAC;YACF,IAAI,CAAC,GAAG,CACN,qEAAqE,CACtE,CAAC;QACJ,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,SAAS;QACX,CAAC;QAED,+CAA+C;QAC/C,MAAM,WAAW,GAAG,CAAC,MAAM,IAAA,iCAAc,EAAC,GAAG,EAAE,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC;QAExE,IAAI,CAAC,GAAG,CAAC,sBAAsB,WAAW,EAAE,CAAC,CAAC;QAC9C,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACb,IAAI,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC;QACxD,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACb,MAAM,CAAC,GAAG,MAAM,IAAA,4BAAI,EAClB,0CAA0C,WAAW,EAAE,CACxD,CAAC;QACF,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACd,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,IAAA,cAAQ,EAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;QAC1B,IAAI,CAAC,GAAG,CAAC,wDAAwD,CAAC,CAAC;QACnE,IAAI,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;QACrC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACf,CAAC;AACH,CAAC,CAAC,CAAC"}
@@ -1,3 +0,0 @@
1
- import type Vorpal from "vorpal";
2
- declare const _default: (vorpal: Vorpal) => Promise<Vorpal.Command>;
3
- export default _default;
@@ -1,22 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const open_1 = __importDefault(require("open"));
7
- const constants_1 = require("../../../../config/constants");
8
- const portForward_1 = require("../../../../kubernetes/portForward");
9
- const projects_1 = require("../../../../utils/projects");
10
- const autocompletions_1 = require("./utils/autocompletions");
11
- const ensureCluster_1 = __importDefault(require("./utils/ensureCluster"));
12
- exports.default = async (vorpal) => vorpal
13
- .command("project-check-costs <envComponent>", "Shows you how much you're spending")
14
- .autocomplete(await (0, autocompletions_1.envAndComponents)())
15
- .action(async function ({ envComponent }) {
16
- await ensureCluster_1.default.call(this, envComponent);
17
- const namespace = await (0, projects_1.getProjectNamespace)(envComponent);
18
- const url = `http://localhost:${constants_1.GRAFANA_PROXY_LOCAL_PORT}/namespace.html?name=${namespace}`;
19
- await (0, portForward_1.startKubePortForward)("deployment/kubecost-cost-analyzer", constants_1.GRAFANA_PROXY_LOCAL_PORT, constants_1.GRAFANA_PROXY_TARGET_PORT, "kubecost");
20
- (0, open_1.default)(url);
21
- });
22
- //# sourceMappingURL=commandOpenCostDashboard.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"commandOpenCostDashboard.js","sourceRoot":"","sources":["../../../../../../../src/apps/cli/commands/project/commandOpenCostDashboard.ts"],"names":[],"mappings":";;;;;AAAA,gDAAwB;AAExB,4DAGsC;AAEtC,oEAA0E;AAE1E,yDAAiE;AAEjE,6DAA2D;AAC3D,0EAAkD;AAClD,kBAAe,KAAK,EAAE,MAAc,EAAE,EAAE,CACtC,MAAM;KACH,OAAO,CACN,oCAAoC,EACpC,oCAAoC,CACrC;KACA,YAAY,CAAC,MAAM,IAAA,kCAAgB,GAAE,CAAC;KACtC,MAAM,CAAC,KAAK,WAAW,EAAE,YAAY,EAAE;IACtC,MAAM,uBAAa,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;IAC7C,MAAM,SAAS,GAAG,MAAM,IAAA,8BAAmB,EAAC,YAAY,CAAC,CAAC;IAC1D,MAAM,GAAG,GAAG,oBAAoB,oCAAwB,wBAAwB,SAAS,EAAE,CAAC;IAC5F,MAAM,IAAA,kCAAoB,EACxB,mCAAmC,EACnC,oCAAwB,EACxB,qCAAyB,EACzB,UAAU,CACX,CAAC;IACF,IAAA,cAAI,EAAC,GAAG,CAAC,CAAC;AACZ,CAAC,CAAC,CAAC"}
@@ -1,3 +0,0 @@
1
- import type Vorpal from "vorpal";
2
- declare const _default: (vorpal: Vorpal) => Promise<Vorpal.Command>;
3
- export default _default;
@@ -1,22 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const pipeline_1 = require("../../../../../../pipeline/src/index.js");
4
- const getProjectConfig_1 = require("../../../../config/getProjectConfig");
5
- const openCloudRunDashboards_1 = require("../../../../gcloud/cloudRun/openCloudRunDashboards");
6
- const openKubernetesDashboards_1 = require("../../../../kubernetes/openKubernetesDashboards");
7
- const autocompletions_1 = require("./utils/autocompletions");
8
- exports.default = async (vorpal) => vorpal
9
- .command("project-open-dashboard <envComponent>", "open an apps dashboard (kubernetes or cloudrun)")
10
- .autocomplete(await (0, autocompletions_1.envAndComponents)())
11
- .action(async function ({ envComponent }) {
12
- var _a, _b;
13
- const { env, componentName } = (0, getProjectConfig_1.parseChoice)(envComponent);
14
- const context = await (0, getProjectConfig_1.getPipelineContextByChoice)(env, componentName);
15
- if ((0, pipeline_1.isOfDeployType)((_a = context.deploy) === null || _a === void 0 ? void 0 : _a.config, "kubernetes")) {
16
- await (0, openKubernetesDashboards_1.openGoogleCloudKubernetesDashboard)(this, context);
17
- }
18
- if ((0, pipeline_1.isOfDeployType)((_b = context.deploy) === null || _b === void 0 ? void 0 : _b.config, "google-cloudrun")) {
19
- await (0, openCloudRunDashboards_1.openGoogleCloudRunDashboard)(this, context);
20
- }
21
- });
22
- //# sourceMappingURL=commandOpenDashboard.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"commandOpenDashboard.js","sourceRoot":"","sources":["../../../../../../../src/apps/cli/commands/project/commandOpenDashboard.ts"],"names":[],"mappings":";;AAAA,kDAAqD;AAErD,0EAG6C;AAC7C,+FAAiG;AACjG,8FAAqG;AAErG,6DAA2D;AAE3D,kBAAe,KAAK,EAAE,MAAc,EAAE,EAAE,CACtC,MAAM;KACH,OAAO,CACN,uCAAuC,EACvC,iDAAiD,CAClD;KACA,YAAY,CAAC,MAAM,IAAA,kCAAgB,GAAE,CAAC;KACtC,MAAM,CAAC,KAAK,WAAW,EAAE,YAAY,EAAE;;IACtC,MAAM,EAAE,GAAG,EAAE,aAAa,EAAE,GAAG,IAAA,8BAAW,EAAC,YAAY,CAAC,CAAC;IACzD,MAAM,OAAO,GAAG,MAAM,IAAA,6CAA0B,EAAC,GAAG,EAAE,aAAa,CAAC,CAAC;IACrE,IAAI,IAAA,yBAAc,EAAC,MAAA,OAAO,CAAC,MAAM,0CAAE,MAAM,EAAE,YAAY,CAAC,EAAE,CAAC;QACzD,MAAM,IAAA,6DAAkC,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC1D,CAAC;IACD,IAAI,IAAA,yBAAc,EAAC,MAAA,OAAO,CAAC,MAAM,0CAAE,MAAM,EAAE,iBAAiB,CAAC,EAAE,CAAC;QAC9D,MAAM,IAAA,oDAA2B,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACnD,CAAC;AACH,CAAC,CAAC,CAAC"}
@@ -1,63 +0,0 @@
1
- import { exec } from "child-process-promise";
2
- import type Vorpal from "vorpal";
3
- import {
4
- getEnvironment,
5
- parseChoice,
6
- } from "../../../../config/getProjectConfig";
7
- import { logError } from "../../../../utils/log";
8
-
9
- import { envAndComponents } from "./utils/autocompletions";
10
-
11
- /**
12
- * Error: rendered manifests contain a resource that already exists.
13
- * Unable to continue with install: ConfigMap "web-app-env" in namespace "pvl-bike2school-dev" exists and cannot be imported into the current release: invalid ownership metadata; label validation error: missing key "app.kubernetes.io/managed-by": must be set to "Helm"; annotation validation error: missing key "meta.helm.sh/release-name": must be set to "pvl-bike2school-dev-web"; annotation validation error: missing key "meta.helm.sh/release-namespace": must be set to "pvl-bike2school-dev"
14
- */
15
- export default async (vorpal: Vorpal) =>
16
- vorpal
17
- .command(
18
- "project-migrate-helm3 <envComponent>",
19
- "Do manual step for helm2 to helm3 migration",
20
- )
21
- .autocomplete(
22
- (await envAndComponents()).filter(
23
- (e) => !e.startsWith("local") && !e.startsWith("review"),
24
- ),
25
- )
26
- .action(async function ({ envComponent }) {
27
- try {
28
- const { env, componentName } = parseChoice(envComponent);
29
- const result = await exec("helm version --short");
30
- const version = result.stdout as string;
31
- this.log(`your helm version: ${version}`);
32
- if (!version.startsWith("v3")) {
33
- throw new Error("no helm3");
34
- }
35
- try {
36
- await exec(
37
- "helm plugin install https://github.com/helm/helm-2to3.git",
38
- );
39
- this.log(
40
- "successfully installed plugin https://github.com/helm/helm-2to3.git",
41
- );
42
- } catch (e) {
43
- // ignore
44
- }
45
-
46
- // we use the app full name as the release name
47
- const releaseName = (await getEnvironment(env, componentName)).fullName;
48
-
49
- this.log(`helm release name: ${releaseName}`);
50
- this.log("");
51
- this.log("migrating now... 😼. This may take a moment");
52
- this.log("");
53
- const r = await exec(
54
- `helm 2to3 convert --delete-v2-releases ${releaseName}`,
55
- );
56
- this.log(r);
57
- } catch (e) {
58
- logError(this, e.message);
59
- this.log("make sure that you have installed latest helm3 locally");
60
- this.log("(e.g. brew upgrade helm)");
61
- this.log("");
62
- }
63
- });
@@ -1,32 +0,0 @@
1
- import open from "open";
2
- import type Vorpal from "vorpal";
3
- import {
4
- GRAFANA_PROXY_LOCAL_PORT,
5
- GRAFANA_PROXY_TARGET_PORT,
6
- } from "../../../../config/constants";
7
-
8
- import { startKubePortForward } from "../../../../kubernetes/portForward";
9
-
10
- import { getProjectNamespace } from "../../../../utils/projects";
11
-
12
- import { envAndComponents } from "./utils/autocompletions";
13
- import ensureCluster from "./utils/ensureCluster";
14
- export default async (vorpal: Vorpal) =>
15
- vorpal
16
- .command(
17
- "project-check-costs <envComponent>",
18
- "Shows you how much you're spending",
19
- )
20
- .autocomplete(await envAndComponents())
21
- .action(async function ({ envComponent }) {
22
- await ensureCluster.call(this, envComponent);
23
- const namespace = await getProjectNamespace(envComponent);
24
- const url = `http://localhost:${GRAFANA_PROXY_LOCAL_PORT}/namespace.html?name=${namespace}`;
25
- await startKubePortForward(
26
- "deployment/kubecost-cost-analyzer",
27
- GRAFANA_PROXY_LOCAL_PORT,
28
- GRAFANA_PROXY_TARGET_PORT,
29
- "kubecost",
30
- );
31
- open(url);
32
- });
@@ -1,28 +0,0 @@
1
- import { isOfDeployType } from "@catladder/pipeline";
2
- import type Vorpal from "vorpal";
3
- import {
4
- getPipelineContextByChoice,
5
- parseChoice,
6
- } from "../../../../config/getProjectConfig";
7
- import { openGoogleCloudRunDashboard } from "../../../../gcloud/cloudRun/openCloudRunDashboards";
8
- import { openGoogleCloudKubernetesDashboard } from "../../../../kubernetes/openKubernetesDashboards";
9
-
10
- import { envAndComponents } from "./utils/autocompletions";
11
-
12
- export default async (vorpal: Vorpal) =>
13
- vorpal
14
- .command(
15
- "project-open-dashboard <envComponent>",
16
- "open an apps dashboard (kubernetes or cloudrun)",
17
- )
18
- .autocomplete(await envAndComponents())
19
- .action(async function ({ envComponent }) {
20
- const { env, componentName } = parseChoice(envComponent);
21
- const context = await getPipelineContextByChoice(env, componentName);
22
- if (isOfDeployType(context.deploy?.config, "kubernetes")) {
23
- await openGoogleCloudKubernetesDashboard(this, context);
24
- }
25
- if (isOfDeployType(context.deploy?.config, "google-cloudrun")) {
26
- await openGoogleCloudRunDashboard(this, context);
27
- }
28
- });