@osaas/cli 4.29.0 → 4.31.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.
@@ -1 +1 @@
1
- {"version":3,"file":"cmd.d.ts","sourceRoot":"","sources":["../../src/admin/cmd.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAsBpC,MAAM,CAAC,OAAO,UAAU,QAAQ,YAgP/B"}
1
+ {"version":3,"file":"cmd.d.ts","sourceRoot":"","sources":["../../src/admin/cmd.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA2BpC,MAAM,CAAC,OAAO,UAAU,QAAQ,YA4R/B"}
package/dist/admin/cmd.js CHANGED
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const commander_1 = require("commander");
4
4
  const token_1 = require("./token");
5
5
  const client_core_1 = require("@osaas/client-core");
6
+ const syncfork_1 = require("./syncfork");
6
7
  const instance_1 = require("./instance");
7
8
  const util_1 = require("../user/util");
8
9
  const subscription_1 = require("./subscription");
@@ -196,6 +197,38 @@ function cmdAdmin() {
196
197
  console.log(err.message);
197
198
  }
198
199
  });
200
+ admin
201
+ .command('sync-fork')
202
+ .description('Trigger a fork sync for an OSC service')
203
+ .argument('<serviceId>', 'The OSC service ID (e.g. eyevinn-web-runner)')
204
+ .action(async (serviceId, options, command) => {
205
+ try {
206
+ const globalOpts = command.optsWithGlobals();
207
+ const environment = globalOpts?.env || 'prod';
208
+ const platform = new client_core_1.Platform({ environment });
209
+ (0, client_core_1.Log)().info(`Looking up repository URL for service ${serviceId} in ${environment}`);
210
+ const repoUrl = await (0, syncfork_1.getServiceRepoUrl)(serviceId, environment, platform.getApiKey());
211
+ (0, client_core_1.Log)().info(`Repository URL: ${repoUrl}`);
212
+ (0, client_core_1.Log)().info(`Triggering sync fork for ${repoUrl}`);
213
+ const jobId = await (0, syncfork_1.triggerSyncFork)(repoUrl, platform);
214
+ (0, client_core_1.Log)().info(`Sync fork job started: ${jobId}`);
215
+ console.log(`Sync fork job started (jobId: ${jobId})`);
216
+ const status = await (0, syncfork_1.getSyncForkStatus)(repoUrl, platform);
217
+ if (status) {
218
+ console.log(`Sync fork status: ${status.status}`);
219
+ if (status.status === 'failed' && status.error) {
220
+ console.log(`Sync fork failed: [${status.error.type}] ${status.error.message}`);
221
+ if (status.error.conflictFiles?.length) {
222
+ console.log(`Conflict files: ${status.error.conflictFiles.join(', ')}`);
223
+ }
224
+ return;
225
+ }
226
+ }
227
+ }
228
+ catch (err) {
229
+ console.log(err.message);
230
+ }
231
+ });
199
232
  return admin;
200
233
  }
201
234
  exports.default = cmdAdmin;
@@ -1 +1 @@
1
- {"version":3,"file":"cmd.js","sourceRoot":"","sources":["../../src/admin/cmd.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cmd.js","sourceRoot":"","sources":["../../src/admin/cmd.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import { Platform } from '@osaas/client-core';
2
+ interface SyncForkStatus {
3
+ jobId: string;
4
+ repositoryUrl: string;
5
+ status: string;
6
+ error?: {
7
+ type: string;
8
+ message: string;
9
+ conflictFiles?: string[];
10
+ };
11
+ }
12
+ export declare function getServiceRepoUrl(serviceId: string, environment: string, apiKey: string | undefined): Promise<string>;
13
+ export declare function triggerSyncFork(repositoryUrl: string, platform: Platform): Promise<string>;
14
+ export declare function getSyncForkStatus(repositoryUrl: string, platform: Platform): Promise<SyncForkStatus | undefined>;
15
+ export {};
16
+ //# sourceMappingURL=syncfork.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"syncfork.d.ts","sourceRoot":"","sources":["../../src/admin/syncfork.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAiBvE,UAAU,cAAc;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;KAC1B,CAAC;CACH;AAED,wBAAsB,iBAAiB,CACrC,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,GAAG,SAAS,GACzB,OAAO,CAAC,MAAM,CAAC,CAiBjB;AAED,wBAAsB,eAAe,CACnC,aAAa,EAAE,MAAM,EACrB,QAAQ,EAAE,QAAQ,GACjB,OAAO,CAAC,MAAM,CAAC,CAajB;AAED,wBAAsB,iBAAiB,CACrC,aAAa,EAAE,MAAM,EACrB,QAAQ,EAAE,QAAQ,GACjB,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC,CAkBrC"}
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getSyncForkStatus = exports.triggerSyncFork = exports.getServiceRepoUrl = void 0;
4
+ const client_core_1 = require("@osaas/client-core");
5
+ async function getServiceRepoUrl(serviceId, environment, apiKey) {
6
+ const catalogUrl = new URL(`https://catalog.svc.${environment}.osaas.io/service/${serviceId}`);
7
+ const service = await (0, client_core_1.createFetch)(catalogUrl, {
8
+ headers: {
9
+ Authorization: `Bearer ${apiKey}`,
10
+ 'Content-Type': 'application/json'
11
+ }
12
+ });
13
+ const repoUrl = service.serviceMetadata?.repoUrl;
14
+ if (!repoUrl) {
15
+ throw new Error(`Service ${serviceId} does not have a repository URL in the catalog`);
16
+ }
17
+ return repoUrl;
18
+ }
19
+ exports.getServiceRepoUrl = getServiceRepoUrl;
20
+ async function triggerSyncFork(repositoryUrl, platform) {
21
+ const syncUrl = new URL(`https://maker.svc.${platform.getEnvironment()}.osaas.io/sync-fork`);
22
+ const res = await (0, client_core_1.createFetch)(syncUrl, {
23
+ method: 'POST',
24
+ headers: {
25
+ Authorization: `Bearer ${platform.getApiKey()}`,
26
+ 'Content-Type': 'application/json'
27
+ },
28
+ body: JSON.stringify({ repositoryUrl })
29
+ });
30
+ return res.jobId;
31
+ }
32
+ exports.triggerSyncFork = triggerSyncFork;
33
+ async function getSyncForkStatus(repositoryUrl, platform) {
34
+ const statusUrl = new URL(`https://maker.svc.${platform.getEnvironment()}.osaas.io/sync-fork/by-repo`);
35
+ statusUrl.searchParams.append('repositoryUrl', repositoryUrl);
36
+ try {
37
+ return await (0, client_core_1.createFetch)(statusUrl, {
38
+ headers: {
39
+ Authorization: `Bearer ${platform.getApiKey()}`,
40
+ 'Content-Type': 'application/json'
41
+ }
42
+ });
43
+ }
44
+ catch (err) {
45
+ if (err instanceof client_core_1.FetchError && err.httpCode === 404) {
46
+ return undefined;
47
+ }
48
+ throw err;
49
+ }
50
+ }
51
+ exports.getSyncForkStatus = getSyncForkStatus;
52
+ //# sourceMappingURL=syncfork.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"syncfork.js","sourceRoot":"","sources":["../../src/admin/syncfork.ts"],"names":[],"mappings":";;;AAAA,oDAAuE;AA4BhE,KAAK,UAAU,iBAAiB,CACrC,SAAiB,EACjB,WAAmB,EACnB,MAA0B;IAE1B,MAAM,UAAU,GAAG,IAAI,GAAG,CACxB,uBAAuB,WAAW,qBAAqB,SAAS,EAAE,CACnE,CAAC;IACF,MAAM,OAAO,GAAG,MAAM,IAAA,yBAAW,EAAkB,UAAU,EAAE;QAC7D,OAAO,EAAE;YACP,aAAa,EAAE,UAAU,MAAM,EAAE;YACjC,cAAc,EAAE,kBAAkB;SACnC;KACF,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,OAAO,CAAC,eAAe,EAAE,OAAO,CAAC;IACjD,IAAI,CAAC,OAAO,EAAE;QACZ,MAAM,IAAI,KAAK,CACb,WAAW,SAAS,gDAAgD,CACrE,CAAC;KACH;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AArBD,8CAqBC;AAEM,KAAK,UAAU,eAAe,CACnC,aAAqB,EACrB,QAAkB;IAElB,MAAM,OAAO,GAAG,IAAI,GAAG,CACrB,qBAAqB,QAAQ,CAAC,cAAc,EAAE,qBAAqB,CACpE,CAAC;IACF,MAAM,GAAG,GAAG,MAAM,IAAA,yBAAW,EAAmB,OAAO,EAAE;QACvD,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,aAAa,EAAE,UAAU,QAAQ,CAAC,SAAS,EAAE,EAAE;YAC/C,cAAc,EAAE,kBAAkB;SACnC;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,aAAa,EAAE,CAAC;KACxC,CAAC,CAAC;IACH,OAAO,GAAG,CAAC,KAAK,CAAC;AACnB,CAAC;AAhBD,0CAgBC;AAEM,KAAK,UAAU,iBAAiB,CACrC,aAAqB,EACrB,QAAkB;IAElB,MAAM,SAAS,GAAG,IAAI,GAAG,CACvB,qBAAqB,QAAQ,CAAC,cAAc,EAAE,6BAA6B,CAC5E,CAAC;IACF,SAAS,CAAC,YAAY,CAAC,MAAM,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC;IAC9D,IAAI;QACF,OAAO,MAAM,IAAA,yBAAW,EAAiB,SAAS,EAAE;YAClD,OAAO,EAAE;gBACP,aAAa,EAAE,UAAU,QAAQ,CAAC,SAAS,EAAE,EAAE;gBAC/C,cAAc,EAAE,kBAAkB;aACnC;SACF,CAAC,CAAC;KACJ;IAAC,OAAO,GAAG,EAAE;QACZ,IAAI,GAAG,YAAY,wBAAU,IAAI,GAAG,CAAC,QAAQ,KAAK,GAAG,EAAE;YACrD,OAAO,SAAS,CAAC;SAClB;QACD,MAAM,GAAG,CAAC;KACX;AACH,CAAC;AArBD,8CAqBC"}
@@ -1 +1 @@
1
- {"version":3,"file":"cmd.d.ts","sourceRoot":"","sources":["../../src/myapp/cmd.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAUpC,wBAAgB,QAAQ,YAwFvB"}
1
+ {"version":3,"file":"cmd.d.ts","sourceRoot":"","sources":["../../src/myapp/cmd.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA0CpC,wBAAgB,QAAQ,YA2FvB"}
package/dist/myapp/cmd.js CHANGED
@@ -4,6 +4,30 @@ exports.cmdMyapp = void 0;
4
4
  const commander_1 = require("commander");
5
5
  const client_core_1 = require("@osaas/client-core");
6
6
  const util_1 = require("../user/util");
7
+ async function waitForAppReady(ctx, appId, timeoutMs = 5 * 60 * 1000, intervalMs = 5000) {
8
+ const deadline = Date.now() + timeoutMs;
9
+ process.stdout.write('Waiting for app to be ready');
10
+ while (Date.now() < deadline) {
11
+ await new Promise((r) => setTimeout(r, intervalMs));
12
+ process.stdout.write('.');
13
+ const app = await (0, client_core_1.getMyApp)(ctx, appId);
14
+ if (app.buildStatus === 'running') {
15
+ process.stdout.write('\n');
16
+ console.log(`App is ready.`);
17
+ if (app.url)
18
+ console.log(`URL: ${app.url}`);
19
+ if (app.appDns)
20
+ console.log(`DNS: ${app.appDns}`);
21
+ return;
22
+ }
23
+ if (app.buildStatus === 'failed') {
24
+ process.stdout.write('\n');
25
+ throw new Error(`App build failed. Check logs with: osc myapp describe ${appId}`);
26
+ }
27
+ }
28
+ process.stdout.write('\n');
29
+ console.log(`Timed out waiting for app readiness. Use 'osc myapp describe ${appId}' to check status.`);
30
+ }
7
31
  function cmdMyapp() {
8
32
  const myapp = new commander_1.Command('myapp');
9
33
  myapp
@@ -31,6 +55,7 @@ function cmdMyapp() {
31
55
  .argument('<gitHubUrl>', 'GitHub repository URL')
32
56
  .option('--github-token <token>', 'GitHub token for private repos')
33
57
  .option('--config-service <name>', 'Config service reference')
58
+ .option('--no-wait', 'Do not wait for app to become ready')
34
59
  .action(async (name, type, gitHubUrl, options, command) => {
35
60
  try {
36
61
  const globalOpts = command.optsWithGlobals();
@@ -43,10 +68,12 @@ function cmdMyapp() {
43
68
  gitHubToken: options.githubToken,
44
69
  configService: options.configService
45
70
  });
46
- console.log(`App ${app.name} created successfully.`);
47
- if (app.appDns) {
48
- console.log(`DNS: ${app.appDns}`);
71
+ console.log(`App ${app.name} creation started...`);
72
+ if (!options.wait) {
73
+ console.log(`Build status: ${app.buildStatus ?? 'unknown'}`);
74
+ return;
49
75
  }
76
+ await waitForAppReady(ctx, app.id);
50
77
  }
51
78
  catch (err) {
52
79
  console.log(err.message);
@@ -1 +1 @@
1
- {"version":3,"file":"cmd.js","sourceRoot":"","sources":["../../src/myapp/cmd.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cmd.js","sourceRoot":"","sources":["../../src/myapp/cmd.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@osaas/cli",
3
- "version": "4.29.0",
3
+ "version": "4.31.0",
4
4
  "description": "Open Source Cloud CLI",
5
5
  "author": "Eyevinn Open Source Cloud <osc@eyevinn.se>",
6
6
  "homepage": "https://www.osaas.io",
@@ -21,12 +21,12 @@
21
21
  "test": "jest --pass-with-no-tests"
22
22
  },
23
23
  "dependencies": {
24
- "@osaas/client-ai": "^0.5.0",
25
- "@osaas/client-core": "^0.23.0",
26
- "@osaas/client-db": "^0.7.0",
27
- "@osaas/client-intercom": "^0.4.0",
28
- "@osaas/client-transcode": "^0.28.0",
29
- "@osaas/client-web": "^0.6.0",
24
+ "@osaas/client-ai": "^0.5.1",
25
+ "@osaas/client-core": "^0.24.0",
26
+ "@osaas/client-db": "^0.7.1",
27
+ "@osaas/client-intercom": "^0.4.1",
28
+ "@osaas/client-transcode": "^0.28.1",
29
+ "@osaas/client-web": "^0.6.1",
30
30
  "@types/promptly": "^3.0.5",
31
31
  "chalk": "4.1.2",
32
32
  "commander": "^12.1.0",
@@ -37,5 +37,5 @@
37
37
  "publishConfig": {
38
38
  "access": "public"
39
39
  },
40
- "gitHead": "fef2059e35c5b53476859b47c9e371c38aa79305"
40
+ "gitHead": "c414673dac32fd75065a0fd10074e69da7eb827d"
41
41
  }
package/src/admin/cmd.ts CHANGED
@@ -7,6 +7,11 @@ import {
7
7
  remakeOrder,
8
8
  waitForOrder
9
9
  } from '@osaas/client-core';
10
+ import {
11
+ getServiceRepoUrl,
12
+ getSyncForkStatus,
13
+ triggerSyncFork
14
+ } from './syncfork';
10
15
  import {
11
16
  getInstancesToRemove,
12
17
  listInstancesForTenant,
@@ -259,5 +264,49 @@ export default function cmdAdmin() {
259
264
  console.log((err as Error).message);
260
265
  }
261
266
  });
267
+ admin
268
+ .command('sync-fork')
269
+ .description('Trigger a fork sync for an OSC service')
270
+ .argument('<serviceId>', 'The OSC service ID (e.g. eyevinn-web-runner)')
271
+ .action(async (serviceId, options, command) => {
272
+ try {
273
+ const globalOpts = command.optsWithGlobals();
274
+ const environment = globalOpts?.env || 'prod';
275
+ const platform = new Platform({ environment });
276
+
277
+ Log().info(
278
+ `Looking up repository URL for service ${serviceId} in ${environment}`
279
+ );
280
+ const repoUrl = await getServiceRepoUrl(
281
+ serviceId,
282
+ environment,
283
+ platform.getApiKey()
284
+ );
285
+ Log().info(`Repository URL: ${repoUrl}`);
286
+
287
+ Log().info(`Triggering sync fork for ${repoUrl}`);
288
+ const jobId = await triggerSyncFork(repoUrl, platform);
289
+ Log().info(`Sync fork job started: ${jobId}`);
290
+ console.log(`Sync fork job started (jobId: ${jobId})`);
291
+
292
+ const status = await getSyncForkStatus(repoUrl, platform);
293
+ if (status) {
294
+ console.log(`Sync fork status: ${status.status}`);
295
+ if (status.status === 'failed' && status.error) {
296
+ console.log(
297
+ `Sync fork failed: [${status.error.type}] ${status.error.message}`
298
+ );
299
+ if (status.error.conflictFiles?.length) {
300
+ console.log(
301
+ `Conflict files: ${status.error.conflictFiles.join(', ')}`
302
+ );
303
+ }
304
+ return;
305
+ }
306
+ }
307
+ } catch (err) {
308
+ console.log((err as Error).message);
309
+ }
310
+ });
262
311
  return admin;
263
312
  }
@@ -0,0 +1,91 @@
1
+ import { createFetch, FetchError, Platform } from '@osaas/client-core';
2
+
3
+ interface ServiceMetadata {
4
+ repoUrl?: string;
5
+ title?: string;
6
+ description?: string;
7
+ }
8
+
9
+ interface ServiceResponse {
10
+ serviceId: string;
11
+ serviceMetadata: ServiceMetadata;
12
+ }
13
+
14
+ interface SyncForkResponse {
15
+ jobId: string;
16
+ }
17
+
18
+ interface SyncForkStatus {
19
+ jobId: string;
20
+ repositoryUrl: string;
21
+ status: string;
22
+ error?: {
23
+ type: string;
24
+ message: string;
25
+ conflictFiles?: string[];
26
+ };
27
+ }
28
+
29
+ export async function getServiceRepoUrl(
30
+ serviceId: string,
31
+ environment: string,
32
+ apiKey: string | undefined
33
+ ): Promise<string> {
34
+ const catalogUrl = new URL(
35
+ `https://catalog.svc.${environment}.osaas.io/service/${serviceId}`
36
+ );
37
+ const service = await createFetch<ServiceResponse>(catalogUrl, {
38
+ headers: {
39
+ Authorization: `Bearer ${apiKey}`,
40
+ 'Content-Type': 'application/json'
41
+ }
42
+ });
43
+ const repoUrl = service.serviceMetadata?.repoUrl;
44
+ if (!repoUrl) {
45
+ throw new Error(
46
+ `Service ${serviceId} does not have a repository URL in the catalog`
47
+ );
48
+ }
49
+ return repoUrl;
50
+ }
51
+
52
+ export async function triggerSyncFork(
53
+ repositoryUrl: string,
54
+ platform: Platform
55
+ ): Promise<string> {
56
+ const syncUrl = new URL(
57
+ `https://maker.svc.${platform.getEnvironment()}.osaas.io/sync-fork`
58
+ );
59
+ const res = await createFetch<SyncForkResponse>(syncUrl, {
60
+ method: 'POST',
61
+ headers: {
62
+ Authorization: `Bearer ${platform.getApiKey()}`,
63
+ 'Content-Type': 'application/json'
64
+ },
65
+ body: JSON.stringify({ repositoryUrl })
66
+ });
67
+ return res.jobId;
68
+ }
69
+
70
+ export async function getSyncForkStatus(
71
+ repositoryUrl: string,
72
+ platform: Platform
73
+ ): Promise<SyncForkStatus | undefined> {
74
+ const statusUrl = new URL(
75
+ `https://maker.svc.${platform.getEnvironment()}.osaas.io/sync-fork/by-repo`
76
+ );
77
+ statusUrl.searchParams.append('repositoryUrl', repositoryUrl);
78
+ try {
79
+ return await createFetch<SyncForkStatus>(statusUrl, {
80
+ headers: {
81
+ Authorization: `Bearer ${platform.getApiKey()}`,
82
+ 'Content-Type': 'application/json'
83
+ }
84
+ });
85
+ } catch (err) {
86
+ if (err instanceof FetchError && err.httpCode === 404) {
87
+ return undefined;
88
+ }
89
+ throw err;
90
+ }
91
+ }
package/src/myapp/cmd.ts CHANGED
@@ -8,6 +8,38 @@ import {
8
8
  } from '@osaas/client-core';
9
9
  import { confirm } from '../user/util';
10
10
 
11
+ async function waitForAppReady(
12
+ ctx: Context,
13
+ appId: string,
14
+ timeoutMs = 5 * 60 * 1000,
15
+ intervalMs = 5000
16
+ ): Promise<void> {
17
+ const deadline = Date.now() + timeoutMs;
18
+ process.stdout.write('Waiting for app to be ready');
19
+ while (Date.now() < deadline) {
20
+ await new Promise((r) => setTimeout(r, intervalMs));
21
+ process.stdout.write('.');
22
+ const app = await getMyApp(ctx, appId);
23
+ if (app.buildStatus === 'running') {
24
+ process.stdout.write('\n');
25
+ console.log(`App is ready.`);
26
+ if (app.url) console.log(`URL: ${app.url}`);
27
+ if (app.appDns) console.log(`DNS: ${app.appDns}`);
28
+ return;
29
+ }
30
+ if (app.buildStatus === 'failed') {
31
+ process.stdout.write('\n');
32
+ throw new Error(
33
+ `App build failed. Check logs with: osc myapp describe ${appId}`
34
+ );
35
+ }
36
+ }
37
+ process.stdout.write('\n');
38
+ console.log(
39
+ `Timed out waiting for app readiness. Use 'osc myapp describe ${appId}' to check status.`
40
+ );
41
+ }
42
+
11
43
  export function cmdMyapp() {
12
44
  const myapp = new Command('myapp');
13
45
 
@@ -36,6 +68,7 @@ export function cmdMyapp() {
36
68
  .argument('<gitHubUrl>', 'GitHub repository URL')
37
69
  .option('--github-token <token>', 'GitHub token for private repos')
38
70
  .option('--config-service <name>', 'Config service reference')
71
+ .option('--no-wait', 'Do not wait for app to become ready')
39
72
  .action(async (name, type, gitHubUrl, options, command) => {
40
73
  try {
41
74
  const globalOpts = command.optsWithGlobals();
@@ -48,10 +81,12 @@ export function cmdMyapp() {
48
81
  gitHubToken: options.githubToken,
49
82
  configService: options.configService
50
83
  });
51
- console.log(`App ${app.name} created successfully.`);
52
- if (app.appDns) {
53
- console.log(`DNS: ${app.appDns}`);
84
+ console.log(`App ${app.name} creation started...`);
85
+ if (!options.wait) {
86
+ console.log(`Build status: ${app.buildStatus ?? 'unknown'}`);
87
+ return;
54
88
  }
89
+ await waitForAppReady(ctx, app.id);
55
90
  } catch (err) {
56
91
  console.log((err as Error).message);
57
92
  }