@catladder/cli 1.41.0 → 1.41.3
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/apps/cli/commands/project/setup/setupCloudSQL.d.ts +3 -0
- package/dist/apps/cli/commands/project/setup/setupCloudSQL.js +56 -0
- package/dist/apps/cli/commands/project/setup/setupCloudSQL.js.map +1 -0
- package/dist/apps/cli/commands/project/setup/setupContext.js +10 -3
- package/dist/apps/cli/commands/project/setup/setupContext.js.map +1 -1
- package/dist/apps/cli/commands/project/setup/setupKubernetes.js.map +1 -1
- package/dist/bundles/catenv/index.js +1 -1
- package/dist/bundles/cli/check.js +28 -0
- package/dist/bundles/cli/index.js +58 -96
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/utils/cluster.d.ts +2 -2
- package/dist/utils/passwordstore/index.js.map +1 -1
- package/package.json +3 -3
- package/src/apps/cli/commands/project/setup/setupCloudSQL.ts +19 -0
- package/src/apps/cli/commands/project/setup/setupContext.ts +8 -2
- package/src/apps/cli/commands/project/setup/setupKubernetes.ts +5 -6
- package/src/types/child-process-promise.d.ts +36 -1
- package/src/utils/passwordstore/index.ts +2 -2
package/dist/utils/cluster.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export declare const getCurrentContext: () => Promise<
|
|
2
|
-
export declare const getCurrentConnectedClusterName: () => Promise<
|
|
1
|
+
export declare const getCurrentContext: () => Promise<string>;
|
|
2
|
+
export declare const getCurrentConnectedClusterName: () => Promise<string>;
|
|
3
3
|
export declare const connectToCluster: (fullname: string) => Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/passwordstore/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+DAAoD;AACpD,kFAAmD;AACnD,gDAA0B;AAC1B,8CAA6E;AAE7E,IAAM,KAAK,GAAG,KAAK,CAAC;AAEpB,IAAM,eAAe,GAAG;;;;;gBACtB,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBAClB,OAAO,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;gBACvD,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBACZ,OAAO,GAAG,IAAA,6BAAK,EAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE;oBAC/C,KAAK,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC;iBACtC,CAAC,CAAC;gBACC,OAAO,GAAG,IAAI,CAAC;gBACnB,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAC5B,MAAM,EACN,UAAC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/passwordstore/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
"node": ">=12.0.0"
|
|
25
25
|
},
|
|
26
26
|
"devDependencies": {
|
|
27
|
-
"@catladder/pipeline": "1.41.
|
|
27
|
+
"@catladder/pipeline": "1.41.3",
|
|
28
28
|
"@kubernetes/client-node": "^0.16.2",
|
|
29
29
|
"@tsconfig/node14": "^1.0.1",
|
|
30
30
|
"@types/common-tags": "^1.8.0",
|
|
@@ -55,8 +55,8 @@
|
|
|
55
55
|
"prettier": "^2.5.1",
|
|
56
56
|
"tmp-promise": "^2.0.2",
|
|
57
57
|
"typescript": "^4.5.4",
|
|
58
|
-
"update-notifier": "^
|
|
58
|
+
"update-notifier": "^5",
|
|
59
59
|
"vorpal": "^1.12.0"
|
|
60
60
|
},
|
|
61
|
-
"version": "1.41.
|
|
61
|
+
"version": "1.41.3"
|
|
62
62
|
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { Context } from "@catladder/pipeline";
|
|
2
|
+
import { getCloudSQLConfig, hasCloudSQL } from "@catladder/pipeline";
|
|
3
|
+
import type { CommandInstance } from "vorpal";
|
|
4
|
+
|
|
5
|
+
export const setupCloudSQL = async (
|
|
6
|
+
instance: CommandInstance,
|
|
7
|
+
context: Context
|
|
8
|
+
) => {
|
|
9
|
+
if (!hasCloudSQL(context)) {
|
|
10
|
+
throw new Error("cannot setup cloudsql, as it has none");
|
|
11
|
+
}
|
|
12
|
+
const config = getCloudSQLConfig(context);
|
|
13
|
+
instance.log("");
|
|
14
|
+
instance.log(
|
|
15
|
+
"! make sure to provide cloudsqlProxyCredentials for the cloud sql service account in " +
|
|
16
|
+
config.projectId
|
|
17
|
+
);
|
|
18
|
+
instance.log("");
|
|
19
|
+
};
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
import type { Context} from "@catladder/pipeline";
|
|
2
|
-
import { isOfDeployType } from "@catladder/pipeline";
|
|
1
|
+
import type { Context } from "@catladder/pipeline";
|
|
2
|
+
import { isOfDeployType, hasCloudSQL } from "@catladder/pipeline";
|
|
3
3
|
import type { CommandInstance } from "vorpal";
|
|
4
|
+
import { setupCloudSQL } from "./setupCloudSQL";
|
|
5
|
+
|
|
4
6
|
import { setupKubernetes } from "./setupKubernetes";
|
|
5
7
|
|
|
6
8
|
export const setupContext = async (
|
|
@@ -20,6 +22,10 @@ export const setupContext = async (
|
|
|
20
22
|
"..."
|
|
21
23
|
);
|
|
22
24
|
instance.log("");
|
|
25
|
+
if (hasCloudSQL(context)) {
|
|
26
|
+
await setupCloudSQL(instance, context);
|
|
27
|
+
}
|
|
28
|
+
|
|
23
29
|
const deployConfig = context.componentConfig.deploy;
|
|
24
30
|
if (isOfDeployType(deployConfig, "kubernetes")) {
|
|
25
31
|
await setupKubernetes(instance, context);
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
Context} from "@catladder/pipeline";
|
|
1
|
+
import type { Context } from "@catladder/pipeline";
|
|
3
2
|
import {
|
|
4
3
|
getFullKubernetesClusterName,
|
|
5
4
|
isOfDeployType,
|
|
@@ -36,7 +35,7 @@ export const setupKubernetes = async (
|
|
|
36
35
|
const serviceAccountName = `cl-${context.componentName}-deploy`;
|
|
37
36
|
const KUBE_URL = await exec(
|
|
38
37
|
`TERM=dumb kubectl cluster-info | grep -E 'Kubernetes master|Kubernetes control plane' | awk '/http/ {print $NF}'`
|
|
39
|
-
).then((s
|
|
38
|
+
).then((s) => s.stdout.trim());
|
|
40
39
|
|
|
41
40
|
// first upsert service acount in the ns
|
|
42
41
|
try {
|
|
@@ -89,14 +88,14 @@ EOF
|
|
|
89
88
|
// get token name
|
|
90
89
|
const tokenName = await exec(
|
|
91
90
|
`kubectl get serviceaccount --namespace ${namespace} ${serviceAccountName} -o jsonpath='{.secrets[0].name}'`
|
|
92
|
-
).then((c
|
|
91
|
+
).then((c) => c.stdout.trim());
|
|
93
92
|
|
|
94
93
|
const KUBE_CA_PEM = await exec(
|
|
95
94
|
`kubectl get secret ${tokenName} --namespace ${namespace} -o jsonpath="{['data']['ca\\.crt']}"`
|
|
96
|
-
).then((c
|
|
95
|
+
).then((c) => c.stdout.trim());
|
|
97
96
|
const KUBE_TOKEN = await exec(
|
|
98
97
|
`kubectl get secret ${tokenName} --namespace ${namespace} -o jsonpath="{['data']['token']}" | base64 --decode`
|
|
99
|
-
).then((c
|
|
98
|
+
).then((c) => c.stdout.trim());
|
|
100
99
|
|
|
101
100
|
const vars = {
|
|
102
101
|
KUBE_TOKEN,
|
|
@@ -1 +1,36 @@
|
|
|
1
|
-
|
|
1
|
+
import type { ReadStream } from "fs-extra";
|
|
2
|
+
|
|
3
|
+
declare module "child-process-promise" {
|
|
4
|
+
function exec(
|
|
5
|
+
cmd: string,
|
|
6
|
+
options?: {
|
|
7
|
+
env?: Record<string, string>;
|
|
8
|
+
}
|
|
9
|
+
): Promise<{
|
|
10
|
+
stdout: string;
|
|
11
|
+
}>;
|
|
12
|
+
|
|
13
|
+
type Stdio = "inherit" | "pipe";
|
|
14
|
+
type SpawnOptions = {
|
|
15
|
+
stdio?: Stdio | Stdio[];
|
|
16
|
+
shell?: boolean;
|
|
17
|
+
env?: Record<string, string>;
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
function spawn(
|
|
21
|
+
cmd: string,
|
|
22
|
+
options?: SpawnOptions
|
|
23
|
+
): Promise<{
|
|
24
|
+
stdout: string;
|
|
25
|
+
}>;
|
|
26
|
+
|
|
27
|
+
function spawn(
|
|
28
|
+
cmd: string,
|
|
29
|
+
args: string[],
|
|
30
|
+
options?: SpawnOptions
|
|
31
|
+
): Promise<unknown> & {
|
|
32
|
+
childProcess: {
|
|
33
|
+
stdout: ReadStream;
|
|
34
|
+
};
|
|
35
|
+
};
|
|
36
|
+
}
|
|
@@ -15,7 +15,7 @@ const unlockBitwarden = async () => {
|
|
|
15
15
|
let session = null;
|
|
16
16
|
promise.childProcess.stdout.on(
|
|
17
17
|
"data",
|
|
18
|
-
(d
|
|
18
|
+
(d) => (session = d.toString("utf-8"))
|
|
19
19
|
);
|
|
20
20
|
await promise;
|
|
21
21
|
await setPreference("bwsession", session);
|
|
@@ -30,7 +30,7 @@ const loginBitwarden = async () => {
|
|
|
30
30
|
let session = null;
|
|
31
31
|
promise.childProcess.stdout.on(
|
|
32
32
|
"data",
|
|
33
|
-
(d
|
|
33
|
+
(d) => (session = d.toString("utf-8"))
|
|
34
34
|
);
|
|
35
35
|
await promise;
|
|
36
36
|
await setPreference("bwsession", session);
|