@osaas/cli 4.27.2 → 4.28.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/cli.js CHANGED
@@ -50,7 +50,8 @@ const packageJson = JSON.parse((0, fs_1.readFileSync)((0, path_1.join)(__dirname
50
50
  cli.version(packageJson.version, '-v, --version', 'Output the current version');
51
51
  cli
52
52
  .configureHelp({ showGlobalOptions: true })
53
- .option('--env <environment>', 'Environment to use (overrides ENVIRONMENT env var)', process.env.ENVIRONMENT || 'prod');
53
+ .option('--env <environment>', 'Environment to use (overrides ENVIRONMENT env var)', process.env.ENVIRONMENT || 'prod')
54
+ .option('--json', 'Output as structured JSON (human-readable output goes to stderr)');
54
55
  cli.addCommand((0, login_1.cmdLogin)());
55
56
  cli.hook('preAction', async (thisCommand) => {
56
57
  const commandName = thisCommand.args?.[0] || thisCommand.name();
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"cmd.d.ts","sourceRoot":"","sources":["../../src/user/cmd.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,wBAAgB,OAAO,YA0BtB;AAED,wBAAgB,SAAS,YAkCxB;AAED,wBAAgB,WAAW,YA6D1B;AAED,wBAAgB,SAAS,YAyBxB;AAED,wBAAgB,UAAU,YA+BzB;AAED,wBAAgB,OAAO,YA0BtB;AAED,wBAAgB,sBAAsB,YA2BrC;AAED,wBAAgB,sBAAsB,YA6BrC;AAED,wBAAgB,gBAAgB,YAyB/B;AAED,wBAAgB,qBAAqB,YAkBpC;AAED,wBAAgB,UAAU,YAyHzB"}
1
+ {"version":3,"file":"cmd.d.ts","sourceRoot":"","sources":["../../src/user/cmd.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,wBAAgB,OAAO,YAsCtB;AAED,wBAAgB,SAAS,YA8CxB;AAED,wBAAgB,WAAW,YAsF1B;AAED,wBAAgB,SAAS,YAqCxB;AAED,wBAAgB,UAAU,YA2CzB;AAED,wBAAgB,OAAO,YAsCtB;AAED,wBAAgB,sBAAsB,YA2BrC;AAED,wBAAgB,sBAAsB,YA6BrC;AAED,wBAAgB,gBAAgB,YAyB/B;AAED,wBAAgB,qBAAqB,YAkBpC;AAED,wBAAgB,UAAU,YAyHzB"}
package/dist/user/cmd.js CHANGED
@@ -16,10 +16,22 @@ function cmdList() {
16
16
  const ctx = new client_core_1.Context({ environment });
17
17
  const serviceAccessToken = await ctx.getServiceAccessToken(serviceId);
18
18
  const instances = await (0, client_core_1.listInstances)(ctx, serviceId, serviceAccessToken);
19
- return instances.map((instance) => console.log(instance.name));
19
+ const isJson = command.optsWithGlobals().json;
20
+ if (isJson) {
21
+ process.stdout.write(JSON.stringify(instances) + '\n');
22
+ }
23
+ else {
24
+ instances.map((instance) => console.log(instance.name));
25
+ }
20
26
  }
21
27
  catch (err) {
22
- console.log(err.message);
28
+ const isJson = command.optsWithGlobals().json;
29
+ if (isJson) {
30
+ process.stderr.write(JSON.stringify({ error: err.message }) + '\n');
31
+ }
32
+ else {
33
+ console.log(err.message);
34
+ }
23
35
  }
24
36
  });
25
37
  return list;
@@ -42,11 +54,23 @@ function cmdCreate() {
42
54
  const ctx = new client_core_1.Context({ environment });
43
55
  const serviceAccessToken = await ctx.getServiceAccessToken(serviceId);
44
56
  const instance = await (0, client_core_1.createInstance)(ctx, serviceId, serviceAccessToken, payload);
45
- console.log('Instance created:');
46
- console.log(instance);
57
+ const isJson = command.optsWithGlobals().json;
58
+ if (isJson) {
59
+ process.stdout.write(JSON.stringify(instance) + '\n');
60
+ }
61
+ else {
62
+ console.log('Instance created:');
63
+ console.log(instance);
64
+ }
47
65
  }
48
66
  catch (err) {
49
- console.log(err.message);
67
+ const isJson = command.optsWithGlobals().json;
68
+ if (isJson) {
69
+ process.stderr.write(JSON.stringify({ error: err.message }) + '\n');
70
+ }
71
+ else {
72
+ console.log(err.message);
73
+ }
50
74
  }
51
75
  });
52
76
  return create;
@@ -65,39 +89,60 @@ function cmdDescribe() {
65
89
  const ctx = new client_core_1.Context({ environment });
66
90
  const serviceAccessToken = await ctx.getServiceAccessToken(serviceId);
67
91
  const instance = await (0, client_core_1.getInstance)(ctx, serviceId, name, serviceAccessToken);
68
- delete instance['resources'];
69
- delete instance['_links'];
70
- Object.keys(instance).forEach((key) => {
71
- if (typeof instance[key] !== 'object') {
72
- console.log(`${key}: ${instance[key]}`);
92
+ const isJson = command.optsWithGlobals().json;
93
+ if (isJson) {
94
+ delete instance['resources'];
95
+ delete instance['_links'];
96
+ try {
97
+ const ports = await (0, client_core_1.getPortsForInstance)(ctx, serviceId, name, serviceAccessToken);
98
+ instance['ports'] = ports;
73
99
  }
74
- else {
75
- console.log(`${key}:`);
76
- Object.keys(instance[key]).forEach((subKey) => {
77
- if (typeof instance[key][subKey] !== 'object') {
78
- console.log(` ${subKey}: ${instance[key][subKey]}`);
79
- }
80
- else {
81
- console.log(` ${subKey}:`);
82
- Object.keys(instance[key][subKey]).forEach((subSubKey) => {
83
- console.log(` ${subSubKey}: ${instance[key][subKey][subSubKey]}`);
84
- });
85
- }
86
- });
100
+ catch (err) {
101
+ // No ports for this service
87
102
  }
88
- });
89
- try {
90
- const ports = await (0, client_core_1.getPortsForInstance)(ctx, serviceId, name, serviceAccessToken);
91
- ports.forEach((port) => {
92
- console.log(`${port.externalIp}:${port.externalPort} => ${port.internalPort}`);
93
- });
103
+ process.stdout.write(JSON.stringify(instance) + '\n');
94
104
  }
95
- catch (err) {
96
- // No ports for this service
105
+ else {
106
+ delete instance['resources'];
107
+ delete instance['_links'];
108
+ Object.keys(instance).forEach((key) => {
109
+ if (typeof instance[key] !== 'object') {
110
+ console.log(`${key}: ${instance[key]}`);
111
+ }
112
+ else {
113
+ console.log(`${key}:`);
114
+ Object.keys(instance[key]).forEach((subKey) => {
115
+ if (typeof instance[key][subKey] !== 'object') {
116
+ console.log(` ${subKey}: ${instance[key][subKey]}`);
117
+ }
118
+ else {
119
+ console.log(` ${subKey}:`);
120
+ Object.keys(instance[key][subKey]).forEach((subSubKey) => {
121
+ console.log(` ${subSubKey}: ${instance[key][subKey][subSubKey]}`);
122
+ });
123
+ }
124
+ });
125
+ }
126
+ });
127
+ try {
128
+ const ports = await (0, client_core_1.getPortsForInstance)(ctx, serviceId, name, serviceAccessToken);
129
+ ports.forEach((port) => {
130
+ console.log(`${port.externalIp}:${port.externalPort} => ${port.internalPort}`);
131
+ });
132
+ }
133
+ catch (err) {
134
+ // No ports for this service
135
+ }
97
136
  }
98
137
  }
99
138
  catch (err) {
100
- console.log(err.message);
139
+ const isJson = command.optsWithGlobals().json;
140
+ if (isJson) {
141
+ process.stderr.write(JSON.stringify({ error: err.message }) + '\n');
142
+ }
143
+ else {
144
+ console.log(err.message);
145
+ }
101
146
  }
102
147
  });
103
148
  return describe;
@@ -116,14 +161,26 @@ function cmdRemove() {
116
161
  const environment = globalOpts?.env || 'prod';
117
162
  const ctx = new client_core_1.Context({ environment });
118
163
  const serviceAccessToken = await ctx.getServiceAccessToken(serviceId);
119
- if (!options.yes) {
164
+ const isJson = command.optsWithGlobals().json;
165
+ if (!options.yes && !isJson) {
120
166
  await (0, util_1.confirm)(`Are you sure you want to remove ${name}? (yes/no) `);
121
167
  }
122
168
  await (0, client_core_1.removeInstance)(ctx, serviceId, name, serviceAccessToken);
123
- console.log('Instance removed');
169
+ if (isJson) {
170
+ process.stdout.write(JSON.stringify({ removed: true }) + '\n');
171
+ }
172
+ else {
173
+ console.log('Instance removed');
174
+ }
124
175
  }
125
176
  catch (err) {
126
- console.log(err.message);
177
+ const isJson = command.optsWithGlobals().json;
178
+ if (isJson) {
179
+ process.stderr.write(JSON.stringify({ error: err.message }) + '\n');
180
+ }
181
+ else {
182
+ console.log(err.message);
183
+ }
127
184
  }
128
185
  });
129
186
  return remove;
@@ -146,11 +203,23 @@ function cmdRestart() {
146
203
  throw new Error(`Instance ${name} of service ${serviceId} not found`);
147
204
  }
148
205
  await (0, client_core_1.restartInstance)(ctx, serviceId, name, serviceAccessToken);
149
- console.log(`Instance ${name} of service ${serviceId} restarted`);
206
+ const isJson = command.optsWithGlobals().json;
207
+ if (isJson) {
208
+ process.stdout.write(JSON.stringify({ restarted: true }) + '\n');
209
+ }
210
+ else {
211
+ console.log(`Instance ${name} of service ${serviceId} restarted`);
212
+ }
150
213
  }
151
214
  catch (err) {
152
- console.log('Error restarting instance:');
153
- console.log(err.message);
215
+ const isJson = command.optsWithGlobals().json;
216
+ if (isJson) {
217
+ process.stderr.write(JSON.stringify({ error: err.message }) + '\n');
218
+ }
219
+ else {
220
+ console.log('Error restarting instance:');
221
+ console.log(err.message);
222
+ }
154
223
  }
155
224
  });
156
225
  return restart;
@@ -169,10 +238,22 @@ function cmdLogs() {
169
238
  const ctx = new client_core_1.Context({ environment });
170
239
  const serviceAccessToken = await ctx.getServiceAccessToken(serviceId);
171
240
  const logs = await (0, client_core_1.getLogsForInstance)(ctx, serviceId, name, serviceAccessToken);
172
- console.log(logs);
241
+ const isJson = command.optsWithGlobals().json;
242
+ if (isJson) {
243
+ process.stdout.write(JSON.stringify({ logs }) + '\n');
244
+ }
245
+ else {
246
+ console.log(logs);
247
+ }
173
248
  }
174
249
  catch (err) {
175
- console.log(err.message);
250
+ const isJson = command.optsWithGlobals().json;
251
+ if (isJson) {
252
+ process.stderr.write(JSON.stringify({ error: err.message }) + '\n');
253
+ }
254
+ else {
255
+ console.log(err.message);
256
+ }
176
257
  }
177
258
  });
178
259
  return logs;
@@ -1 +1 @@
1
- {"version":3,"file":"cmd.js","sourceRoot":"","sources":["../../src/user/cmd.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cmd.js","sourceRoot":"","sources":["../../src/user/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.27.2",
3
+ "version": "4.28.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",
@@ -37,5 +37,5 @@
37
37
  "publishConfig": {
38
38
  "access": "public"
39
39
  },
40
- "gitHead": "95e06fc41d97c621992e984e921530eb72ef98a6"
40
+ "gitHead": "b79038abe28a4b0e6f0f14b50dee42e416f06623"
41
41
  }
package/src/cli.ts CHANGED
@@ -33,6 +33,10 @@ cli
33
33
  '--env <environment>',
34
34
  'Environment to use (overrides ENVIRONMENT env var)',
35
35
  process.env.ENVIRONMENT || 'prod'
36
+ )
37
+ .option(
38
+ '--json',
39
+ 'Output as structured JSON (human-readable output goes to stderr)'
36
40
  );
37
41
 
38
42
  cli.addCommand(cmdLogin());
package/src/user/cmd.ts CHANGED
@@ -33,11 +33,23 @@ export function cmdList() {
33
33
  serviceId,
34
34
  serviceAccessToken
35
35
  );
36
- return instances.map((instance: { name: string }) =>
37
- console.log(instance.name)
38
- );
36
+ const isJson = command.optsWithGlobals().json;
37
+ if (isJson) {
38
+ process.stdout.write(JSON.stringify(instances) + '\n');
39
+ } else {
40
+ instances.map((instance: { name: string }) =>
41
+ console.log(instance.name)
42
+ );
43
+ }
39
44
  } catch (err) {
40
- console.log((err as Error).message);
45
+ const isJson = command.optsWithGlobals().json;
46
+ if (isJson) {
47
+ process.stderr.write(
48
+ JSON.stringify({ error: (err as Error).message }) + '\n'
49
+ );
50
+ } else {
51
+ console.log((err as Error).message);
52
+ }
41
53
  }
42
54
  });
43
55
  return list;
@@ -70,10 +82,22 @@ export function cmdCreate() {
70
82
  serviceAccessToken,
71
83
  payload
72
84
  );
73
- console.log('Instance created:');
74
- console.log(instance);
85
+ const isJson = command.optsWithGlobals().json;
86
+ if (isJson) {
87
+ process.stdout.write(JSON.stringify(instance) + '\n');
88
+ } else {
89
+ console.log('Instance created:');
90
+ console.log(instance);
91
+ }
75
92
  } catch (err) {
76
- console.log((err as Error).message);
93
+ const isJson = command.optsWithGlobals().json;
94
+ if (isJson) {
95
+ process.stderr.write(
96
+ JSON.stringify({ error: (err as Error).message }) + '\n'
97
+ );
98
+ } else {
99
+ console.log((err as Error).message);
100
+ }
77
101
  }
78
102
  });
79
103
  return create;
@@ -99,44 +123,69 @@ export function cmdDescribe() {
99
123
  name,
100
124
  serviceAccessToken
101
125
  );
102
- delete instance['resources'];
103
- delete instance['_links'];
104
- Object.keys(instance).forEach((key) => {
105
- if (typeof instance[key] !== 'object') {
106
- console.log(`${key}: ${instance[key]}`);
107
- } else {
108
- console.log(`${key}:`);
109
- Object.keys(instance[key]).forEach((subKey) => {
110
- if (typeof instance[key][subKey] !== 'object') {
111
- console.log(` ${subKey}: ${instance[key][subKey]}`);
112
- } else {
113
- console.log(` ${subKey}:`);
114
- Object.keys(instance[key][subKey]).forEach((subSubKey) => {
115
- console.log(
116
- ` ${subSubKey}: ${instance[key][subKey][subSubKey]}`
117
- );
118
- });
119
- }
120
- });
121
- }
122
- });
123
- try {
124
- const ports = await getPortsForInstance(
125
- ctx,
126
- serviceId,
127
- name,
128
- serviceAccessToken
129
- );
130
- ports.forEach((port) => {
131
- console.log(
132
- `${port.externalIp}:${port.externalPort} => ${port.internalPort}`
126
+ const isJson = command.optsWithGlobals().json;
127
+ if (isJson) {
128
+ delete instance['resources'];
129
+ delete instance['_links'];
130
+ try {
131
+ const ports = await getPortsForInstance(
132
+ ctx,
133
+ serviceId,
134
+ name,
135
+ serviceAccessToken
133
136
  );
137
+ instance['ports'] = ports;
138
+ } catch (err) {
139
+ // No ports for this service
140
+ }
141
+ process.stdout.write(JSON.stringify(instance) + '\n');
142
+ } else {
143
+ delete instance['resources'];
144
+ delete instance['_links'];
145
+ Object.keys(instance).forEach((key) => {
146
+ if (typeof instance[key] !== 'object') {
147
+ console.log(`${key}: ${instance[key]}`);
148
+ } else {
149
+ console.log(`${key}:`);
150
+ Object.keys(instance[key]).forEach((subKey) => {
151
+ if (typeof instance[key][subKey] !== 'object') {
152
+ console.log(` ${subKey}: ${instance[key][subKey]}`);
153
+ } else {
154
+ console.log(` ${subKey}:`);
155
+ Object.keys(instance[key][subKey]).forEach((subSubKey) => {
156
+ console.log(
157
+ ` ${subSubKey}: ${instance[key][subKey][subSubKey]}`
158
+ );
159
+ });
160
+ }
161
+ });
162
+ }
134
163
  });
135
- } catch (err) {
136
- // No ports for this service
164
+ try {
165
+ const ports = await getPortsForInstance(
166
+ ctx,
167
+ serviceId,
168
+ name,
169
+ serviceAccessToken
170
+ );
171
+ ports.forEach((port) => {
172
+ console.log(
173
+ `${port.externalIp}:${port.externalPort} => ${port.internalPort}`
174
+ );
175
+ });
176
+ } catch (err) {
177
+ // No ports for this service
178
+ }
137
179
  }
138
180
  } catch (err) {
139
- console.log((err as Error).message);
181
+ const isJson = command.optsWithGlobals().json;
182
+ if (isJson) {
183
+ process.stderr.write(
184
+ JSON.stringify({ error: (err as Error).message }) + '\n'
185
+ );
186
+ } else {
187
+ console.log((err as Error).message);
188
+ }
140
189
  }
141
190
  });
142
191
  return describe;
@@ -157,13 +206,25 @@ export function cmdRemove() {
157
206
  const ctx = new Context({ environment });
158
207
  const serviceAccessToken = await ctx.getServiceAccessToken(serviceId);
159
208
 
160
- if (!options.yes) {
209
+ const isJson = command.optsWithGlobals().json;
210
+ if (!options.yes && !isJson) {
161
211
  await confirm(`Are you sure you want to remove ${name}? (yes/no) `);
162
212
  }
163
213
  await removeInstance(ctx, serviceId, name, serviceAccessToken);
164
- console.log('Instance removed');
214
+ if (isJson) {
215
+ process.stdout.write(JSON.stringify({ removed: true }) + '\n');
216
+ } else {
217
+ console.log('Instance removed');
218
+ }
165
219
  } catch (err) {
166
- console.log((err as Error).message);
220
+ const isJson = command.optsWithGlobals().json;
221
+ if (isJson) {
222
+ process.stderr.write(
223
+ JSON.stringify({ error: (err as Error).message }) + '\n'
224
+ );
225
+ } else {
226
+ console.log((err as Error).message);
227
+ }
167
228
  }
168
229
  });
169
230
  return remove;
@@ -193,10 +254,22 @@ export function cmdRestart() {
193
254
  throw new Error(`Instance ${name} of service ${serviceId} not found`);
194
255
  }
195
256
  await restartInstance(ctx, serviceId, name, serviceAccessToken);
196
- console.log(`Instance ${name} of service ${serviceId} restarted`);
257
+ const isJson = command.optsWithGlobals().json;
258
+ if (isJson) {
259
+ process.stdout.write(JSON.stringify({ restarted: true }) + '\n');
260
+ } else {
261
+ console.log(`Instance ${name} of service ${serviceId} restarted`);
262
+ }
197
263
  } catch (err) {
198
- console.log('Error restarting instance:');
199
- console.log((err as Error).message);
264
+ const isJson = command.optsWithGlobals().json;
265
+ if (isJson) {
266
+ process.stderr.write(
267
+ JSON.stringify({ error: (err as Error).message }) + '\n'
268
+ );
269
+ } else {
270
+ console.log('Error restarting instance:');
271
+ console.log((err as Error).message);
272
+ }
200
273
  }
201
274
  });
202
275
  return restart;
@@ -222,9 +295,21 @@ export function cmdLogs() {
222
295
  name,
223
296
  serviceAccessToken
224
297
  );
225
- console.log(logs);
298
+ const isJson = command.optsWithGlobals().json;
299
+ if (isJson) {
300
+ process.stdout.write(JSON.stringify({ logs }) + '\n');
301
+ } else {
302
+ console.log(logs);
303
+ }
226
304
  } catch (err) {
227
- console.log((err as Error).message);
305
+ const isJson = command.optsWithGlobals().json;
306
+ if (isJson) {
307
+ process.stderr.write(
308
+ JSON.stringify({ error: (err as Error).message }) + '\n'
309
+ );
310
+ } else {
311
+ console.log((err as Error).message);
312
+ }
228
313
  }
229
314
  });
230
315
  return logs;