@vertesia/cli 0.24.0-dev.202601221707
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/LICENSE +21 -0
- package/README.md +34 -0
- package/bin/app.js +3 -0
- package/bin/docker-credential-vertesia.js +3 -0
- package/lib/apps/commands.d.ts +11 -0
- package/lib/apps/commands.d.ts.map +1 -0
- package/lib/apps/commands.js +246 -0
- package/lib/apps/commands.js.map +1 -0
- package/lib/apps/index.d.ts +3 -0
- package/lib/apps/index.d.ts.map +1 -0
- package/lib/apps/index.js +104 -0
- package/lib/apps/index.js.map +1 -0
- package/lib/artifacts/commands.d.ts +6 -0
- package/lib/artifacts/commands.d.ts.map +1 -0
- package/lib/artifacts/commands.js +75 -0
- package/lib/artifacts/commands.js.map +1 -0
- package/lib/artifacts/index.d.ts +3 -0
- package/lib/artifacts/index.d.ts.map +1 -0
- package/lib/artifacts/index.js +33 -0
- package/lib/artifacts/index.js.map +1 -0
- package/lib/client.d.ts +12 -0
- package/lib/client.d.ts.map +1 -0
- package/lib/client.js +44 -0
- package/lib/client.js.map +1 -0
- package/lib/codegen/CodeBuilder.d.ts +16 -0
- package/lib/codegen/CodeBuilder.d.ts.map +1 -0
- package/lib/codegen/CodeBuilder.js +115 -0
- package/lib/codegen/CodeBuilder.js.map +1 -0
- package/lib/codegen/InteractionVersion.d.ts +29 -0
- package/lib/codegen/InteractionVersion.d.ts.map +1 -0
- package/lib/codegen/InteractionVersion.js +94 -0
- package/lib/codegen/InteractionVersion.js.map +1 -0
- package/lib/codegen/index.d.ts +3 -0
- package/lib/codegen/index.d.ts.map +1 -0
- package/lib/codegen/index.js +30 -0
- package/lib/codegen/index.js.map +1 -0
- package/lib/codegen/template.d.ts +3 -0
- package/lib/codegen/template.d.ts.map +1 -0
- package/lib/codegen/template.js +28 -0
- package/lib/codegen/template.js.map +1 -0
- package/lib/codegen/utils.d.ts +2 -0
- package/lib/codegen/utils.d.ts.map +1 -0
- package/lib/codegen/utils.js +4 -0
- package/lib/codegen/utils.js.map +1 -0
- package/lib/datagen/index.d.ts +3 -0
- package/lib/datagen/index.d.ts.map +1 -0
- package/lib/datagen/index.js +81 -0
- package/lib/datagen/index.js.map +1 -0
- package/lib/envs/index.d.ts +3 -0
- package/lib/envs/index.d.ts.map +1 -0
- package/lib/envs/index.js +23 -0
- package/lib/envs/index.js.map +1 -0
- package/lib/index.d.ts +2 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +181 -0
- package/lib/index.js.map +1 -0
- package/lib/interactions/index.d.ts +3 -0
- package/lib/interactions/index.d.ts.map +1 -0
- package/lib/interactions/index.js +35 -0
- package/lib/interactions/index.js.map +1 -0
- package/lib/memory/index.d.ts +3 -0
- package/lib/memory/index.d.ts.map +1 -0
- package/lib/memory/index.js +15 -0
- package/lib/memory/index.js.map +1 -0
- package/lib/objects/commands.d.ts +15 -0
- package/lib/objects/commands.d.ts.map +1 -0
- package/lib/objects/commands.js +273 -0
- package/lib/objects/commands.js.map +1 -0
- package/lib/objects/index.d.ts +3 -0
- package/lib/objects/index.d.ts.map +1 -0
- package/lib/objects/index.js +43 -0
- package/lib/objects/index.js.map +1 -0
- package/lib/package.d.ts +8 -0
- package/lib/package.d.ts.map +1 -0
- package/lib/package.js +63 -0
- package/lib/package.js.map +1 -0
- package/lib/profiles/commands.d.ts +20 -0
- package/lib/profiles/commands.d.ts.map +1 -0
- package/lib/profiles/commands.js +207 -0
- package/lib/profiles/commands.js.map +1 -0
- package/lib/profiles/index.d.ts +65 -0
- package/lib/profiles/index.d.ts.map +1 -0
- package/lib/profiles/index.js +324 -0
- package/lib/profiles/index.js.map +1 -0
- package/lib/profiles/server/cors.d.ts +3 -0
- package/lib/profiles/server/cors.d.ts.map +1 -0
- package/lib/profiles/server/cors.js +22 -0
- package/lib/profiles/server/cors.js.map +1 -0
- package/lib/profiles/server/index.d.ts +12 -0
- package/lib/profiles/server/index.d.ts.map +1 -0
- package/lib/profiles/server/index.js +134 -0
- package/lib/profiles/server/index.js.map +1 -0
- package/lib/profiles/server/server.d.ts +4 -0
- package/lib/profiles/server/server.d.ts.map +1 -0
- package/lib/profiles/server/server.js +32 -0
- package/lib/profiles/server/server.js.map +1 -0
- package/lib/projects/index.d.ts +3 -0
- package/lib/projects/index.d.ts.map +1 -0
- package/lib/projects/index.js +17 -0
- package/lib/projects/index.js.map +1 -0
- package/lib/run/executor.d.ts +22 -0
- package/lib/run/executor.d.ts.map +1 -0
- package/lib/run/executor.js +182 -0
- package/lib/run/executor.js.map +1 -0
- package/lib/run/index.d.ts +3 -0
- package/lib/run/index.d.ts.map +1 -0
- package/lib/run/index.js +192 -0
- package/lib/run/index.js.map +1 -0
- package/lib/runs/index.d.ts +3 -0
- package/lib/runs/index.d.ts.map +1 -0
- package/lib/runs/index.js +48 -0
- package/lib/runs/index.js.map +1 -0
- package/lib/utils/console.d.ts +42 -0
- package/lib/utils/console.d.ts.map +1 -0
- package/lib/utils/console.js +256 -0
- package/lib/utils/console.js.map +1 -0
- package/lib/utils/stdio.d.ts +7 -0
- package/lib/utils/stdio.d.ts.map +1 -0
- package/lib/utils/stdio.js +35 -0
- package/lib/utils/stdio.js.map +1 -0
- package/lib/worker/commands.d.ts +11 -0
- package/lib/worker/commands.d.ts.map +1 -0
- package/lib/worker/commands.js +173 -0
- package/lib/worker/commands.js.map +1 -0
- package/lib/worker/connect.d.ts +7 -0
- package/lib/worker/connect.d.ts.map +1 -0
- package/lib/worker/connect.js +68 -0
- package/lib/worker/connect.js.map +1 -0
- package/lib/worker/docker-credential.d.ts +2 -0
- package/lib/worker/docker-credential.d.ts.map +1 -0
- package/lib/worker/docker-credential.js +50 -0
- package/lib/worker/docker-credential.js.map +1 -0
- package/lib/worker/docker.d.ts +10 -0
- package/lib/worker/docker.d.ts.map +1 -0
- package/lib/worker/docker.js +93 -0
- package/lib/worker/docker.js.map +1 -0
- package/lib/worker/index.d.ts +3 -0
- package/lib/worker/index.d.ts.map +1 -0
- package/lib/worker/index.js +90 -0
- package/lib/worker/index.js.map +1 -0
- package/lib/worker/project.d.ts +58 -0
- package/lib/worker/project.d.ts.map +1 -0
- package/lib/worker/project.js +148 -0
- package/lib/worker/project.js.map +1 -0
- package/lib/worker/refresh.d.ts +6 -0
- package/lib/worker/refresh.d.ts.map +1 -0
- package/lib/worker/refresh.js +47 -0
- package/lib/worker/refresh.js.map +1 -0
- package/lib/worker/registry.d.ts +7 -0
- package/lib/worker/registry.d.ts.map +1 -0
- package/lib/worker/registry.js +47 -0
- package/lib/worker/registry.js.map +1 -0
- package/lib/worker/version.d.ts +2 -0
- package/lib/worker/version.d.ts.map +1 -0
- package/lib/worker/version.js +4 -0
- package/lib/worker/version.js.map +1 -0
- package/lib/workflows/commands.d.ts +14 -0
- package/lib/workflows/commands.d.ts.map +1 -0
- package/lib/workflows/commands.js +243 -0
- package/lib/workflows/commands.js.map +1 -0
- package/lib/workflows/index.d.ts +3 -0
- package/lib/workflows/index.d.ts.map +1 -0
- package/lib/workflows/index.js +117 -0
- package/lib/workflows/index.js.map +1 -0
- package/lib/workflows/json-loader.d.ts +3 -0
- package/lib/workflows/json-loader.d.ts.map +1 -0
- package/lib/workflows/json-loader.js +16 -0
- package/lib/workflows/json-loader.js.map +1 -0
- package/lib/workflows/streams.d.ts +2 -0
- package/lib/workflows/streams.d.ts.map +1 -0
- package/lib/workflows/streams.js +423 -0
- package/lib/workflows/streams.js.map +1 -0
- package/lib/workflows/ts-loader.d.ts +3 -0
- package/lib/workflows/ts-loader.d.ts.map +1 -0
- package/lib/workflows/ts-loader.js +94 -0
- package/lib/workflows/ts-loader.js.map +1 -0
- package/lib/workflows/validation.d.ts +6 -0
- package/lib/workflows/validation.d.ts.map +1 -0
- package/lib/workflows/validation.js +22 -0
- package/lib/workflows/validation.js.map +1 -0
- package/package.json +73 -0
- package/templates/index.tpl +4 -0
- package/templates/interaction.tpl +16 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"docker-credential.js","sourceRoot":"","sources":["../../src/worker/docker-credential.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,MAAM,SAAS,CAAC;AAEzB,+DAA+D;AAC/D,SAAS,UAAU;IACf,+CAA+C;IAC/C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC;AAED,uCAAuC;AACvC,KAAK,UAAU,SAAS,CAAC,SAAiB;IACtC,uCAAuC;IACvC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC;QACzC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;IAC9B,CAAC;IACD,IAAI,CAAC;QACD,MAAM,WAAW,GAAG,MAAM,oBAAoB,CAAC,SAAS,CAAC,CAAC;QAC1D,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,CAAC;YACjC,EAAE,CAAC,aAAa,CAAC,2BAA2B,EAAE,yBAAyB,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;QACjJ,CAAC;QACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC;IACtD,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QAClB,EAAE,CAAC,aAAa,CAAC,iCAAiC,EAAE,yBAAyB,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;QAC7I,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QAC5D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;AACL,CAAC;AAGD,gCAAgC;AAChC,SAAS,IAAI;IACT,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAEhC,IAAI,CAAC,OAAO,EAAE,CAAC;QACX,OAAO,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;QACrC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IAED,QAAQ,OAAO,EAAE,CAAC;QACd,KAAK,KAAK;YACN,MAAM,KAAK,GAAG,EAAE,CAAC,YAAY,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;YAC1C,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;YACxB,MAAM;QAEV,KAAK,OAAO,CAAC;QACb,KAAK,OAAO,CAAC;QACb,KAAK,MAAM;YACP,UAAU,EAAE,CAAC;YACb,MAAM;QAEV;YACI,OAAO,CAAC,KAAK,CAAC,oBAAoB,OAAO,EAAE,CAAC,CAAC;YAC7C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACxB,CAAC;AACL,CAAC;AAED,IAAI,EAAE,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export declare function generateDockerConfig(): string;
|
|
2
|
+
export declare function getDockerCredentials(serverUrl: string): Promise<{
|
|
3
|
+
ServerURL: string;
|
|
4
|
+
Username: string;
|
|
5
|
+
Secret: string;
|
|
6
|
+
}>;
|
|
7
|
+
export declare function runDockerWithWorkerConfig(args: string[]): import("child_process").SpawnSyncReturns<NonSharedBuffer>;
|
|
8
|
+
export declare function runDocker(args: string[]): import("child_process").SpawnSyncReturns<NonSharedBuffer>;
|
|
9
|
+
export declare function runDockerWithOutput(args: string[]): string;
|
|
10
|
+
//# sourceMappingURL=docker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"docker.d.ts","sourceRoot":"","sources":["../../src/worker/docker.ts"],"names":[],"mappings":"AAWA,wBAAgB,oBAAoB,WAMnC;AAeD,wBAAsB,oBAAoB,CAAC,SAAS,EAAE,MAAM;;;;GAO3D;AAED,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,EAAE,6DAOvD;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,6DA0BvC;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,UA0BjD"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import ansiColors from "ansi-colors";
|
|
2
|
+
import { spawnSync } from "node:child_process";
|
|
3
|
+
import { existsSync } from "node:fs";
|
|
4
|
+
import { join } from "node:path";
|
|
5
|
+
import { getClient } from "../client.js";
|
|
6
|
+
import { config } from "../profiles/index.js";
|
|
7
|
+
import { WorkerProject } from "./project.js";
|
|
8
|
+
const LOCAL_DOCKER_CONFIG_DIR = '.docker';
|
|
9
|
+
export function generateDockerConfig() {
|
|
10
|
+
return JSON.stringify({
|
|
11
|
+
"credHelpers": {
|
|
12
|
+
"us-central1-docker.pkg.dev": "vertesia"
|
|
13
|
+
}
|
|
14
|
+
}, undefined, 2);
|
|
15
|
+
}
|
|
16
|
+
async function getGoogleToken(pkgDir) {
|
|
17
|
+
const project = new WorkerProject(pkgDir);
|
|
18
|
+
const pkg = project.packageJson;
|
|
19
|
+
if (!pkg.vertesia.profile) {
|
|
20
|
+
throw new Error("Profile entry not found in package.json");
|
|
21
|
+
}
|
|
22
|
+
config.use(pkg.vertesia.profile); // will exit if profile not found
|
|
23
|
+
const client = await getClient();
|
|
24
|
+
const r = await client.account.getGoogleToken();
|
|
25
|
+
return r.token;
|
|
26
|
+
}
|
|
27
|
+
export async function getDockerCredentials(serverUrl) {
|
|
28
|
+
const token = await getGoogleToken();
|
|
29
|
+
return {
|
|
30
|
+
ServerURL: serverUrl,
|
|
31
|
+
Username: "oauth2accesstoken",
|
|
32
|
+
Secret: token,
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
export function runDockerWithWorkerConfig(args) {
|
|
36
|
+
const config = join(process.cwd(), LOCAL_DOCKER_CONFIG_DIR);
|
|
37
|
+
const baseArgs = [];
|
|
38
|
+
if (existsSync(config)) {
|
|
39
|
+
baseArgs.push("--config", config);
|
|
40
|
+
}
|
|
41
|
+
return runDocker(baseArgs.concat(args));
|
|
42
|
+
}
|
|
43
|
+
export function runDocker(args) {
|
|
44
|
+
const verbose = process.argv.includes("--verbose");
|
|
45
|
+
if (verbose) {
|
|
46
|
+
const cmd = `docker ${args.join(' ')}`;
|
|
47
|
+
console.log(`Running: ${ansiColors.magenta(cmd)}`);
|
|
48
|
+
}
|
|
49
|
+
const r = spawnSync('docker', args, {
|
|
50
|
+
stdio: 'inherit',
|
|
51
|
+
env: {
|
|
52
|
+
...process.env,
|
|
53
|
+
DOCKER_BUILDKIT: "1"
|
|
54
|
+
}
|
|
55
|
+
});
|
|
56
|
+
// check for errors
|
|
57
|
+
if (r.error) {
|
|
58
|
+
console.error(`Failed to execute command "docker ${args.join(' ')}":`, r.error);
|
|
59
|
+
process.exit(2);
|
|
60
|
+
}
|
|
61
|
+
// Check for non-zero exit code
|
|
62
|
+
if (r.status !== 0) {
|
|
63
|
+
console.error(`Command "docker ${args.join(' ')}" failed with exit code ${r.status}`);
|
|
64
|
+
process.exit(r.status ?? 1);
|
|
65
|
+
}
|
|
66
|
+
return r;
|
|
67
|
+
}
|
|
68
|
+
export function runDockerWithOutput(args) {
|
|
69
|
+
const verbose = process.argv.includes("--verbose");
|
|
70
|
+
if (verbose) {
|
|
71
|
+
const cmd = `docker ${args.join(' ')}`;
|
|
72
|
+
console.log(`Running: ${ansiColors.magenta(cmd)}`);
|
|
73
|
+
}
|
|
74
|
+
const r = spawnSync('docker', args, {
|
|
75
|
+
encoding: 'utf-8',
|
|
76
|
+
env: {
|
|
77
|
+
...process.env,
|
|
78
|
+
DOCKER_BUILDKIT: "1"
|
|
79
|
+
}
|
|
80
|
+
});
|
|
81
|
+
// check for errors
|
|
82
|
+
if (r.error) {
|
|
83
|
+
console.error(`Failed to execute command "docker ${args.join(' ')}":`, r.error);
|
|
84
|
+
process.exit(2);
|
|
85
|
+
}
|
|
86
|
+
// Check for non-zero exit code
|
|
87
|
+
if (r.status !== 0) {
|
|
88
|
+
console.error(`Command "docker ${args.join(' ')}" failed with exit code ${r.status}\n${r.stderr}`);
|
|
89
|
+
process.exit(r.status ?? 1);
|
|
90
|
+
}
|
|
91
|
+
return r.stdout.trim();
|
|
92
|
+
}
|
|
93
|
+
//# sourceMappingURL=docker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"docker.js","sourceRoot":"","sources":["../../src/worker/docker.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/worker/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,QA4FrD"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import { build, listVersions, publish, PublishMode, release, run } from "./commands.js";
|
|
2
|
+
import { connectToProject } from "./connect.js";
|
|
3
|
+
import { getGooglePrincipal, getGoogleToken } from "./registry.js";
|
|
4
|
+
export function registerWorkerCommand(program) {
|
|
5
|
+
const worker = program.command("worker")
|
|
6
|
+
.description("Build, release, and deploy custom workflow workers");
|
|
7
|
+
worker.command("connect [pkgDir]")
|
|
8
|
+
.description("Connect a node package to a Vertesia project. If no packageDir is specified the current dir will be used.")
|
|
9
|
+
.option("-I, --non-interactive", "Don't do interactions with the user. Assume the user is already authenticated.")
|
|
10
|
+
.option("-p, --profile [profile]", "The profile name to use. If not specified the one from the package.json will be used.")
|
|
11
|
+
.action(async (pkgDir, options = {}) => {
|
|
12
|
+
if (pkgDir) {
|
|
13
|
+
process.chdir(pkgDir);
|
|
14
|
+
}
|
|
15
|
+
await connectToProject(options);
|
|
16
|
+
});
|
|
17
|
+
worker.command("publish <version>")
|
|
18
|
+
.description("Deploy a custom workflow worker. The user will be asked for a target image version.")
|
|
19
|
+
.option("-d, --dir [project_dir]", "Use this as the current directory.")
|
|
20
|
+
.option("--push-only", "If used the docker image will be push only. The deployment will not be triggered.")
|
|
21
|
+
.option("--deploy-only", "If used the docker is assumed to be already pushed and only the deploy will be triggered.")
|
|
22
|
+
.option("--verbose", "Print more information.")
|
|
23
|
+
//.option("-p, --profile [profile]", "The profile name to use. If not specified the one from the package.json will be used.")
|
|
24
|
+
.action(async (version, options = {}) => {
|
|
25
|
+
if (options.dir) {
|
|
26
|
+
process.chdir(options.dir);
|
|
27
|
+
}
|
|
28
|
+
let mode;
|
|
29
|
+
if (options.pushOnly) {
|
|
30
|
+
mode = PublishMode.Push;
|
|
31
|
+
}
|
|
32
|
+
else if (options.deployOnly) {
|
|
33
|
+
mode = PublishMode.Deploy;
|
|
34
|
+
}
|
|
35
|
+
else {
|
|
36
|
+
mode = PublishMode.PushAndDeploy;
|
|
37
|
+
}
|
|
38
|
+
await publish(version, mode);
|
|
39
|
+
});
|
|
40
|
+
worker.command("build")
|
|
41
|
+
.description("Build a local docker image using 'latest' as version.")
|
|
42
|
+
.option("-d, --dir [project_dir]", "Use this as the current directory.")
|
|
43
|
+
.option("-c, --context [context]", "The docker build context to use. Defaults to the project directory.")
|
|
44
|
+
.option("--verbose", "Print more information.")
|
|
45
|
+
.action(async (options) => {
|
|
46
|
+
if (options.dir) {
|
|
47
|
+
process.chdir(options.dir);
|
|
48
|
+
}
|
|
49
|
+
await build(options.context);
|
|
50
|
+
});
|
|
51
|
+
worker.command("release [version]")
|
|
52
|
+
.description("Promote the latest version to a named version (tag it).")
|
|
53
|
+
.option("-d, --dir [project_dir]", "Use this as the current directory.")
|
|
54
|
+
.option("--verbose", "Print more information.")
|
|
55
|
+
.action(async (version, options) => {
|
|
56
|
+
if (options.dir) {
|
|
57
|
+
process.chdir(options.dir);
|
|
58
|
+
}
|
|
59
|
+
await release(version);
|
|
60
|
+
});
|
|
61
|
+
worker.command("run [version]")
|
|
62
|
+
.description("Run the docker image identified by the given version or the 'latest' version if no version is given.")
|
|
63
|
+
.option("-d, --dir [project_dir]", "Use this as the current directory.")
|
|
64
|
+
.option("--verbose", "Print more information.")
|
|
65
|
+
.action(async (version, options) => {
|
|
66
|
+
if (options.dir) {
|
|
67
|
+
process.chdir(options.dir);
|
|
68
|
+
}
|
|
69
|
+
await run(version);
|
|
70
|
+
});
|
|
71
|
+
worker.command("versions")
|
|
72
|
+
.description("List existing versions.")
|
|
73
|
+
.option("--verbose", "Print more information.")
|
|
74
|
+
.action(async (_options) => {
|
|
75
|
+
await listVersions();
|
|
76
|
+
});
|
|
77
|
+
worker.command("gtoken")
|
|
78
|
+
.description("Get a google cloud token for the current vertesia project.")
|
|
79
|
+
.option("-p, --profile", "The profile name to use. If specified it will be used instead of the current profile.")
|
|
80
|
+
.action(async (options = {}) => {
|
|
81
|
+
await getGoogleToken(program, options.profile);
|
|
82
|
+
});
|
|
83
|
+
worker.command("gprincipal")
|
|
84
|
+
.description("Get the google cloud principal for the current project.")
|
|
85
|
+
.option("-p, --profile", "The profile name to use. If specified it will be used instead of the current profile.")
|
|
86
|
+
.action(async (options = {}) => {
|
|
87
|
+
await getGooglePrincipal(program, options.profile);
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/worker/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Manage docker images:
|
|
3
|
+
* - build the latest image: vertesia worker build => worker_org/worker_name:latest
|
|
4
|
+
* - promote the latest build to a version => vertesia worker release 1.0.0 => worker_org/worker_name:1.0.0
|
|
5
|
+
* - list available versions => vertesia worker versions --remote
|
|
6
|
+
* - publish a specific image version => vertesia worker publish 1.0.0
|
|
7
|
+
*/
|
|
8
|
+
export interface WorkerConfig {
|
|
9
|
+
profile?: string;
|
|
10
|
+
pm?: string;
|
|
11
|
+
image?: {
|
|
12
|
+
repository: string;
|
|
13
|
+
organization: string;
|
|
14
|
+
name: string;
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
export interface WorkerPackageJson {
|
|
18
|
+
name: string;
|
|
19
|
+
version: string;
|
|
20
|
+
vertesia?: WorkerConfig;
|
|
21
|
+
}
|
|
22
|
+
export declare class PackageJson implements WorkerPackageJson {
|
|
23
|
+
file: string;
|
|
24
|
+
data: Record<string, any>;
|
|
25
|
+
constructor(file: string, data: Record<string, any>);
|
|
26
|
+
get name(): string;
|
|
27
|
+
set name(value: string);
|
|
28
|
+
get version(): string;
|
|
29
|
+
set version(value: string);
|
|
30
|
+
get pm(): any;
|
|
31
|
+
get profile(): string;
|
|
32
|
+
set profile(value: string);
|
|
33
|
+
getWorkerId(): string;
|
|
34
|
+
getLocalDockerTag(version: string): string;
|
|
35
|
+
getVertesiaDockerTag(version: string): string;
|
|
36
|
+
get latestPublishedVersion(): string;
|
|
37
|
+
set latestPublishedVersion(version: string);
|
|
38
|
+
get vertesia(): any;
|
|
39
|
+
set vertesia(value: any);
|
|
40
|
+
save(): void;
|
|
41
|
+
}
|
|
42
|
+
export declare class WorkerProject {
|
|
43
|
+
dir: string;
|
|
44
|
+
packageJsonFile: string;
|
|
45
|
+
_pkg?: PackageJson;
|
|
46
|
+
constructor(pkgDir?: string);
|
|
47
|
+
get npmrcFile(): string;
|
|
48
|
+
get dockerConfigFile(): string;
|
|
49
|
+
get packageJson(): PackageJson;
|
|
50
|
+
getWorkerId(): string;
|
|
51
|
+
getVertesiaDockerTag(version: string): string;
|
|
52
|
+
getLocalDockerTag(version: string): string;
|
|
53
|
+
/**
|
|
54
|
+
* Build the project sources using the configured package manager.
|
|
55
|
+
*/
|
|
56
|
+
buildSources(): void;
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=project.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"project.d.ts","sourceRoot":"","sources":["../../src/worker/project.ts"],"names":[],"mappings":"AAIA;;;;;;GAMG;AAEH,MAAM,WAAW,YAAY;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE;QACJ,UAAU,EAAE,MAAM,CAAC;QACnB,YAAY,EAAE,MAAM,CAAC;QACrB,IAAI,EAAE,MAAM,CAAC;KAChB,CAAA;CACJ;AAED,MAAM,WAAW,iBAAiB;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,YAAY,CAAC;CAC3B;AAED,qBAAa,WAAY,YAAW,iBAAiB;IAC9B,IAAI,EAAE,MAAM;IAAS,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;gBAA9C,IAAI,EAAE,MAAM,EAAS,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAMjE,IAAI,IAAI,IAIQ,MAAM,CAFrB;IAED,IAAI,IAAI,CAAC,KAAK,EAAE,MAAM,EAErB;IAED,IAAI,OAAO,IAIQ,MAAM,CAFxB;IAED,IAAI,OAAO,CAAC,KAAK,EAAE,MAAM,EAExB;IAED,IAAI,EAAE,QAEL;IAED,IAAI,OAAO,IAIQ,MAAM,CAFxB;IAED,IAAI,OAAO,CAAC,KAAK,EAAE,MAAM,EAExB;IAED,WAAW;IASX,iBAAiB,CAAC,OAAO,EAAE,MAAM;IAKjC,oBAAoB,CAAC,OAAO,EAAE,MAAM;IASpC,IAAI,sBAAsB,IAIU,MAAM,CAFzC;IAED,IAAI,sBAAsB,CAAC,OAAO,EAAE,MAAM,EAEzC;IAED,IAAI,QAAQ,IAIQ,GAAG,CAFtB;IAED,IAAI,QAAQ,CAAC,KAAK,EAAE,GAAG,EAEtB;IAED,IAAI;CAGP;AAED,qBAAa,aAAa;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,eAAe,EAAE,MAAM,CAAC;IACxB,IAAI,CAAC,EAAE,WAAW,CAAC;gBAEP,MAAM,CAAC,EAAE,MAAM;IAkB3B,IAAI,SAAS,WAEZ;IAED,IAAI,gBAAgB,WAEnB;IAED,IAAI,WAAW,gBAMd;IAED,WAAW;IAIX,oBAAoB,CAAC,OAAO,EAAE,MAAM;IAIpC,iBAAiB,CAAC,OAAO,EAAE,MAAM;IAIjC;;OAEG;IACH,YAAY;CAQf"}
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
import { spawnSync } from "node:child_process";
|
|
2
|
+
import { existsSync, readFileSync, writeFileSync } from "node:fs";
|
|
3
|
+
import { join, resolve } from "node:path";
|
|
4
|
+
export class PackageJson {
|
|
5
|
+
constructor(file, data) {
|
|
6
|
+
Object.defineProperty(this, "file", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
configurable: true,
|
|
9
|
+
writable: true,
|
|
10
|
+
value: file
|
|
11
|
+
});
|
|
12
|
+
Object.defineProperty(this, "data", {
|
|
13
|
+
enumerable: true,
|
|
14
|
+
configurable: true,
|
|
15
|
+
writable: true,
|
|
16
|
+
value: data
|
|
17
|
+
});
|
|
18
|
+
if (!data.vertesia) {
|
|
19
|
+
data.vertesia = {};
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
get name() {
|
|
23
|
+
return this.data.name;
|
|
24
|
+
}
|
|
25
|
+
set name(value) {
|
|
26
|
+
this.data.name = value;
|
|
27
|
+
}
|
|
28
|
+
get version() {
|
|
29
|
+
return this.data.version;
|
|
30
|
+
}
|
|
31
|
+
set version(value) {
|
|
32
|
+
this.data.version = value;
|
|
33
|
+
}
|
|
34
|
+
get pm() {
|
|
35
|
+
return this.data.vertesia.pm;
|
|
36
|
+
}
|
|
37
|
+
get profile() {
|
|
38
|
+
return this.data.vertesia.profile;
|
|
39
|
+
}
|
|
40
|
+
set profile(value) {
|
|
41
|
+
this.data.vertesia.profile = value;
|
|
42
|
+
}
|
|
43
|
+
getWorkerId() {
|
|
44
|
+
const image = this.vertesia.image;
|
|
45
|
+
if (!image || !image.organization || !image.name) {
|
|
46
|
+
console.log('Worker configuration not found or not valid in package.json');
|
|
47
|
+
process.exit(1);
|
|
48
|
+
}
|
|
49
|
+
return `${image.organization}/${image.name}`;
|
|
50
|
+
}
|
|
51
|
+
getLocalDockerTag(version) {
|
|
52
|
+
const workerId = this.getWorkerId();
|
|
53
|
+
return `${workerId}:${version}`;
|
|
54
|
+
}
|
|
55
|
+
getVertesiaDockerTag(version) {
|
|
56
|
+
const workerId = this.getWorkerId();
|
|
57
|
+
let repo = this.vertesia.image.repository;
|
|
58
|
+
if (repo.endsWith('/')) {
|
|
59
|
+
repo = repo.slice(0, -1);
|
|
60
|
+
}
|
|
61
|
+
return `${repo}/workers/${workerId}:${version}`;
|
|
62
|
+
}
|
|
63
|
+
get latestPublishedVersion() {
|
|
64
|
+
return this.vertesia.image.version;
|
|
65
|
+
}
|
|
66
|
+
set latestPublishedVersion(version) {
|
|
67
|
+
this.vertesia.image.version = version;
|
|
68
|
+
}
|
|
69
|
+
get vertesia() {
|
|
70
|
+
return this.data.vertesia;
|
|
71
|
+
}
|
|
72
|
+
set vertesia(value) {
|
|
73
|
+
this.data.vertesia = value;
|
|
74
|
+
}
|
|
75
|
+
save() {
|
|
76
|
+
writeFileSync(this.file, JSON.stringify(this.data, undefined, 2), 'utf8');
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
export class WorkerProject {
|
|
80
|
+
constructor(pkgDir) {
|
|
81
|
+
Object.defineProperty(this, "dir", {
|
|
82
|
+
enumerable: true,
|
|
83
|
+
configurable: true,
|
|
84
|
+
writable: true,
|
|
85
|
+
value: void 0
|
|
86
|
+
});
|
|
87
|
+
Object.defineProperty(this, "packageJsonFile", {
|
|
88
|
+
enumerable: true,
|
|
89
|
+
configurable: true,
|
|
90
|
+
writable: true,
|
|
91
|
+
value: void 0
|
|
92
|
+
});
|
|
93
|
+
Object.defineProperty(this, "_pkg", {
|
|
94
|
+
enumerable: true,
|
|
95
|
+
configurable: true,
|
|
96
|
+
writable: true,
|
|
97
|
+
value: void 0
|
|
98
|
+
});
|
|
99
|
+
if (!pkgDir) {
|
|
100
|
+
pkgDir = process.cwd();
|
|
101
|
+
}
|
|
102
|
+
pkgDir = resolve(pkgDir);
|
|
103
|
+
if (!existsSync(pkgDir)) {
|
|
104
|
+
console.log('Directory not found:', pkgDir);
|
|
105
|
+
process.exit(1);
|
|
106
|
+
}
|
|
107
|
+
const pkgFile = join(pkgDir, 'package.json');
|
|
108
|
+
if (!existsSync(pkgFile)) {
|
|
109
|
+
console.log('package.json not found at', pkgFile);
|
|
110
|
+
process.exit(1);
|
|
111
|
+
}
|
|
112
|
+
this.dir = pkgDir;
|
|
113
|
+
this.packageJsonFile = pkgFile;
|
|
114
|
+
}
|
|
115
|
+
get npmrcFile() {
|
|
116
|
+
return join(this.dir, '.npmrc');
|
|
117
|
+
}
|
|
118
|
+
get dockerConfigFile() {
|
|
119
|
+
return join(this.dir, 'docker.json');
|
|
120
|
+
}
|
|
121
|
+
get packageJson() {
|
|
122
|
+
if (!this._pkg) {
|
|
123
|
+
const pkgContent = readFileSync(this.packageJsonFile, 'utf8');
|
|
124
|
+
this._pkg = new PackageJson(this.packageJsonFile, JSON.parse(pkgContent));
|
|
125
|
+
}
|
|
126
|
+
return this._pkg;
|
|
127
|
+
}
|
|
128
|
+
getWorkerId() {
|
|
129
|
+
return this.packageJson.getWorkerId();
|
|
130
|
+
}
|
|
131
|
+
getVertesiaDockerTag(version) {
|
|
132
|
+
return this.packageJson.getVertesiaDockerTag(version);
|
|
133
|
+
}
|
|
134
|
+
getLocalDockerTag(version) {
|
|
135
|
+
return this.packageJson.getLocalDockerTag(version);
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* Build the project sources using the configured package manager.
|
|
139
|
+
*/
|
|
140
|
+
buildSources() {
|
|
141
|
+
if (!this.packageJson.pm) {
|
|
142
|
+
console.error('No package manager configuration found in package.json: vertesia.pm');
|
|
143
|
+
process.exit(1);
|
|
144
|
+
}
|
|
145
|
+
spawnSync(this.packageJson.pm, ['run', 'build'], { stdio: 'inherit' });
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
//# sourceMappingURL=project.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"project.js","sourceRoot":"","sources":["../../src/worker/project.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { Profile } from "../profiles/index.js";
|
|
2
|
+
import { ConfigResult } from "../profiles/server/index.js";
|
|
3
|
+
import { WorkerProject } from "./project.js";
|
|
4
|
+
export declare function tryRefreshProjectToken(project: WorkerProject): Promise<ConfigResult | undefined>;
|
|
5
|
+
export declare function tryRefreshToken(profile: Profile): Promise<ConfigResult | undefined>;
|
|
6
|
+
//# sourceMappingURL=refresh.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"refresh.d.ts","sourceRoot":"","sources":["../../src/worker/refresh.ts"],"names":[],"mappings":"AACA,OAAO,EAAU,OAAO,EAA6B,MAAM,sBAAsB,CAAC;AAClF,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC,CAYhG;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC,CAoCnF"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { updateProfile } from "../profiles/commands.js";
|
|
2
|
+
import { config, shouldRefreshProfileToken } from "../profiles/index.js";
|
|
3
|
+
export function tryRefreshProjectToken(project) {
|
|
4
|
+
const profileName = project.packageJson.vertesia?.profile;
|
|
5
|
+
if (!profileName) {
|
|
6
|
+
console.error('No vertesia.profile entry found in package.json');
|
|
7
|
+
process.exit(1);
|
|
8
|
+
}
|
|
9
|
+
const profile = config.getProfile(profileName);
|
|
10
|
+
if (!profile) {
|
|
11
|
+
console.error('No such profile exists: ' + profileName);
|
|
12
|
+
process.exit(1);
|
|
13
|
+
}
|
|
14
|
+
return tryRefreshToken(profile);
|
|
15
|
+
}
|
|
16
|
+
export function tryRefreshToken(profile) {
|
|
17
|
+
// Create abort controller for cancellation
|
|
18
|
+
const abortController = new AbortController();
|
|
19
|
+
// Set up signal handler
|
|
20
|
+
const handleSignal = () => {
|
|
21
|
+
abortController.abort();
|
|
22
|
+
console.log("\nToken refresh interrupted");
|
|
23
|
+
process.exit(0);
|
|
24
|
+
};
|
|
25
|
+
// Register signal handlers
|
|
26
|
+
process.on('SIGINT', handleSignal);
|
|
27
|
+
process.on('SIGTERM', handleSignal);
|
|
28
|
+
return new Promise((resolve) => {
|
|
29
|
+
// If token doesn't need refresh, resolve immediately
|
|
30
|
+
if (!shouldRefreshProfileToken(profile, 10)) {
|
|
31
|
+
process.off('SIGINT', handleSignal);
|
|
32
|
+
process.off('SIGTERM', handleSignal);
|
|
33
|
+
resolve(undefined);
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
36
|
+
console.log("Refreshing auth token for profile:", profile.name);
|
|
37
|
+
// Create a callback that cleans up signal handlers
|
|
38
|
+
const wrappedResolve = (result) => {
|
|
39
|
+
process.off('SIGINT', handleSignal);
|
|
40
|
+
process.off('SIGTERM', handleSignal);
|
|
41
|
+
resolve(result);
|
|
42
|
+
};
|
|
43
|
+
// Start the update with our wrapped resolver
|
|
44
|
+
updateProfile(profile.name, wrappedResolve, abortController.signal);
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=refresh.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"refresh.js","sourceRoot":"","sources":["../../src/worker/refresh.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,MAAM,EAAW,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAIlF,MAAM,UAAU,sBAAsB,CAAC,OAAsB;IACzD,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC1D,IAAI,CAAC,WAAW,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAAC;QACjE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;IAC/C,IAAI,CAAC,OAAO,EAAE,CAAC;QACX,OAAO,CAAC,KAAK,CAAC,0BAA0B,GAAG,WAAW,CAAC,CAAC;QACxD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IACD,OAAO,eAAe,CAAC,OAAO,CAAC,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,OAAgB;IAC5C,2CAA2C;IAC3C,MAAM,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;IAE9C,wBAAwB;IACxB,MAAM,YAAY,GAAG,GAAG,EAAE;QACtB,eAAe,CAAC,KAAK,EAAE,CAAC;QACxB,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;QAC3C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC,CAAC;IAEF,2BAA2B;IAC3B,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IACnC,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;IAEpC,OAAO,IAAI,OAAO,CAA2B,CAAC,OAAO,EAAE,EAAE;QACrD,qDAAqD;QACrD,IAAI,CAAC,yBAAyB,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC;YAC1C,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;YACpC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;YACrC,OAAO,CAAC,SAAS,CAAC,CAAC;YACnB,OAAO;QACX,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,oCAAoC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QAEhE,mDAAmD;QACnD,MAAM,cAAc,GAAG,CAAC,MAAgC,EAAE,EAAE;YACxD,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;YACpC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;YACrC,OAAO,CAAC,MAAM,CAAC,CAAC;QACpB,CAAC,CAAC;QAEF,6CAA6C;QAC7C,aAAa,CAAC,OAAO,CAAC,IAAI,EAAE,cAAc,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC;IACxE,CAAC,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { Command } from "commander";
|
|
2
|
+
import { WorkerProject } from "./project.js";
|
|
3
|
+
export declare function getGoogleToken(program: Command, profileName?: string): Promise<void>;
|
|
4
|
+
export declare function getGooglePrincipal(program: Command, profileName?: string): Promise<void>;
|
|
5
|
+
export declare function updateNpmrc(project: WorkerProject, profile: string): Promise<void>;
|
|
6
|
+
export declare function createOrUpdateNpmRegistry(npmrcFile: string): Promise<void>;
|
|
7
|
+
//# sourceMappingURL=registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/worker/registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAW7C,wBAAsB,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE,MAAM,iBAM1E;AAED,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE,MAAM,iBAM9E;AAED,wBAAsB,WAAW,CAAC,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,iBAGxE;AAED,wBAAsB,yBAAyB,CAAC,SAAS,EAAE,MAAM,iBAqBhE"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { readFileSync, writeFileSync } from "node:fs";
|
|
2
|
+
import { resolve } from "node:path";
|
|
3
|
+
import { getClient } from "../client.js";
|
|
4
|
+
import { config } from "../profiles/index.js";
|
|
5
|
+
const REGISTRY_URI_ABS_PATH = "//us-central1-npm.pkg.dev/dengenlabs/npm/";
|
|
6
|
+
function getRegistryLine() {
|
|
7
|
+
return `@dglabs:registry=https:${REGISTRY_URI_ABS_PATH}`;
|
|
8
|
+
}
|
|
9
|
+
function getRegistryAuthTokenLine(token) {
|
|
10
|
+
return `${REGISTRY_URI_ABS_PATH}:_authToken=${token}`;
|
|
11
|
+
}
|
|
12
|
+
export async function getGoogleToken(program, profileName) {
|
|
13
|
+
if (profileName) {
|
|
14
|
+
config.use(profileName);
|
|
15
|
+
}
|
|
16
|
+
const client = await getClient(program);
|
|
17
|
+
console.log((await client.account.getGoogleToken()).token);
|
|
18
|
+
}
|
|
19
|
+
export async function getGooglePrincipal(program, profileName) {
|
|
20
|
+
if (profileName) {
|
|
21
|
+
config.use(profileName);
|
|
22
|
+
}
|
|
23
|
+
const client = await getClient(program);
|
|
24
|
+
console.log((await client.account.getGoogleToken()).principal);
|
|
25
|
+
}
|
|
26
|
+
export async function updateNpmrc(project, profile) {
|
|
27
|
+
config.use(profile);
|
|
28
|
+
await createOrUpdateNpmRegistry(project.npmrcFile);
|
|
29
|
+
}
|
|
30
|
+
export async function createOrUpdateNpmRegistry(npmrcFile) {
|
|
31
|
+
const client = await getClient();
|
|
32
|
+
const gtok = await client.account.getGoogleToken();
|
|
33
|
+
npmrcFile = resolve(npmrcFile);
|
|
34
|
+
let content = "";
|
|
35
|
+
try {
|
|
36
|
+
content = readFileSync(npmrcFile, "utf-8");
|
|
37
|
+
}
|
|
38
|
+
catch (err) {
|
|
39
|
+
// ignore
|
|
40
|
+
}
|
|
41
|
+
const lines = content.trim().split("\n").filter((line) => !line.includes(REGISTRY_URI_ABS_PATH));
|
|
42
|
+
lines.push(getRegistryLine());
|
|
43
|
+
lines.push(getRegistryAuthTokenLine(gtok.token));
|
|
44
|
+
const out = lines.join('\n') + '\n';
|
|
45
|
+
writeFileSync(npmrcFile, out, "utf8");
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/worker/registry.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACtD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAI9C,MAAM,qBAAqB,GAAG,2CAA2C,CAAC;AAC1E,SAAS,eAAe;IACpB,OAAO,0BAA0B,qBAAqB,EAAE,CAAC;AAC7D,CAAC;AACD,SAAS,wBAAwB,CAAC,KAAa;IAC3C,OAAO,GAAG,qBAAqB,eAAe,KAAK,EAAE,CAAC;AAC1D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,OAAgB,EAAE,WAAoB;IACvE,IAAI,WAAW,EAAE,CAAC;QACd,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAC5B,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,CAAC;IACxC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,MAAM,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;AAC/D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,OAAgB,EAAE,WAAoB;IAC3E,IAAI,WAAW,EAAE,CAAC;QACd,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAC5B,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,CAAC;IACxC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,MAAM,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC;AACnE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,OAAsB,EAAE,OAAe;IACrE,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACpB,MAAM,yBAAyB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AACvD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAAC,SAAiB;IAC7D,MAAM,MAAM,GAAG,MAAM,SAAS,EAAE,CAAC;IACjC,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;IAEnD,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IAE/B,IAAI,OAAO,GAAG,EAAE,CAAC;IAEjB,IAAI,CAAC;QACD,OAAO,GAAG,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAC/C,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAChB,SAAS;IACb,CAAC;IACD,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,CAAC;IAEjG,KAAK,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;IAC9B,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IACjD,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAEpC,aAAa,CAAC,SAAS,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;AAE1C,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/worker/version.ts"],"names":[],"mappings":"AACA,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,WAE9C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/worker/version.ts"],"names":[],"mappings":"AACA,MAAM,UAAU,eAAe,CAAC,OAAe;IAC3C,OAAO,kDAAkD,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC5E,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Command } from "commander";
|
|
2
|
+
export declare function createWorkflowRule(program: Command, options: Record<string, any>): Promise<void>;
|
|
3
|
+
export declare function createOrUpdateWorkflowRule(program: Command, options: Record<string, any>): Promise<void>;
|
|
4
|
+
export declare function deleteWorkflowRule(program: Command, ruleId: string, _options: Record<string, any>): Promise<void>;
|
|
5
|
+
export declare function getWorkflowRule(program: Command, ruleId: string, options: Record<string, any>): Promise<void>;
|
|
6
|
+
export declare function executeWorkflowByName(program: Command, workflowName: string, options: Record<string, any>): Promise<void>;
|
|
7
|
+
export declare function executeWorkflowRule(program: Command, workflowId: string, options: Record<string, any>): Promise<void>;
|
|
8
|
+
export declare function listWorkflowsRule(program: Command, _options: Record<string, any>): Promise<void>;
|
|
9
|
+
export declare function transpileWorkflow(_program: Command, files: string[], options: Record<string, any>): Promise<void>;
|
|
10
|
+
export declare function createOrUpdateWorkflowDefinition(program: Command, workflowId: string | undefined, options: Record<string, any>): Promise<void>;
|
|
11
|
+
export declare function listWorkflowsDefinition(program: Command, _options: Record<string, any>): Promise<void>;
|
|
12
|
+
export declare function getWorkflowDefinition(program: Command, objectId: string, options: Record<string, any>): Promise<void>;
|
|
13
|
+
export declare function deleteWorkflowDefinition(program: Command, objectId: string, _options: Record<string, any>): Promise<void>;
|
|
14
|
+
//# sourceMappingURL=commands.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../src/workflows/commands.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AASpC,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,iBA0BtF;AAED,wBAAsB,0BAA0B,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,iBAkB9F;AAED,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,iBAIvG;AAED,wBAAsB,eAAe,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,iBAWnG;AAED,wBAAsB,qBAAqB,CAAC,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,iBAwD/G;AAED,wBAAsB,mBAAmB,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,iBAqB3G;AAED,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,iBAKtF;AAED,wBAAsB,iBAAiB,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,iBAoCvG;AAED,wBAAsB,gCAAgC,CAClD,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,iBAsC/B;AAED,wBAAsB,uBAAuB,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,iBAI5F;AAED,wBAAsB,qBAAqB,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,iBAW3G;AAED,wBAAsB,wBAAwB,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,iBAI/G"}
|