@osaas/cli 4.3.2 → 4.5.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
@@ -40,6 +40,7 @@ const cmd_6 = __importDefault(require("./transcribe/cmd"));
40
40
  const cmd_7 = __importDefault(require("./db/cmd"));
41
41
  const cmd_8 = require("./architect/cmd");
42
42
  const cmd_9 = require("./vod/cmd");
43
+ const cmd_10 = require("./web/cmd");
43
44
  const cli = new commander_1.Command();
44
45
  // Read package.json
45
46
  const packageJson = JSON.parse((0, fs_1.readFileSync)((0, path_1.join)(__dirname, '..', 'package.json'), 'utf8'));
@@ -61,5 +62,6 @@ cli.addCommand((0, cmd_6.default)());
61
62
  cli.addCommand((0, cmd_7.default)());
62
63
  cli.addCommand((0, cmd_8.cmdChat)());
63
64
  cli.addCommand((0, cmd_9.cmdVod)());
65
+ cli.addCommand((0, cmd_10.cmdWeb)());
64
66
  cli.parse(process.argv);
65
67
  //# sourceMappingURL=cli.js.map
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,2BAAkC;AAClC,+BAA4B;AAC5B,yCAAoC;AACpC,sDAAmC;AACnC,oDAAsC;AACtC,qDAAoC;AACpC,yDAAyC;AACzC,qDAAiC;AACjC,yDAAyC;AACzC,2DAA6C;AAC7C,mDAA6B;AAC7B,yCAA0C;AAC1C,mCAAmC;AAEnC,MAAM,GAAG,GAAG,IAAI,mBAAO,EAAE,CAAC;AAE1B,oBAAoB;AACpB,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAC5B,IAAA,iBAAY,EAAC,IAAA,WAAI,EAAC,SAAS,EAAE,IAAI,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,CAC5D,CAAC;AAEF,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,EAAE,eAAe,EAAE,4BAA4B,CAAC,CAAC;AAEhF,GAAG;KACA,aAAa,CAAC,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC;KAC1C,MAAM,CAAC,qBAAqB,EAAE,oBAAoB,CAAC,CAAC;AAEvD,GAAG,CAAC,UAAU,CAAC,IAAA,aAAQ,GAAE,CAAC,CAAC;AAC3B,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;AAClC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;AACpC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;AACtC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;AACpC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;AAClC,GAAG,CAAC,UAAU,CAAC,IAAA,aAAW,GAAE,CAAC,CAAC;AAC9B,GAAG,CAAC,UAAU,CAAC,IAAA,aAAU,GAAE,CAAC,CAAC;AAC7B,GAAG,CAAC,UAAU,CAAC,IAAA,aAAO,GAAE,CAAC,CAAC;AAC1B,GAAG,CAAC,UAAU,CAAC,IAAA,aAAW,GAAE,CAAC,CAAC;AAC9B,GAAG,CAAC,UAAU,CAAC,IAAA,aAAa,GAAE,CAAC,CAAC;AAChC,GAAG,CAAC,UAAU,CAAC,IAAA,aAAK,GAAE,CAAC,CAAC;AACxB,GAAG,CAAC,UAAU,CAAC,IAAA,aAAO,GAAE,CAAC,CAAC;AAC1B,GAAG,CAAC,UAAU,CAAC,IAAA,YAAM,GAAE,CAAC,CAAC;AACzB,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,2BAAkC;AAClC,+BAA4B;AAC5B,yCAAoC;AACpC,sDAAmC;AACnC,oDAAsC;AACtC,qDAAoC;AACpC,yDAAyC;AACzC,qDAAiC;AACjC,yDAAyC;AACzC,2DAA6C;AAC7C,mDAA6B;AAC7B,yCAA0C;AAC1C,mCAAmC;AACnC,oCAAmC;AAEnC,MAAM,GAAG,GAAG,IAAI,mBAAO,EAAE,CAAC;AAE1B,oBAAoB;AACpB,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAC5B,IAAA,iBAAY,EAAC,IAAA,WAAI,EAAC,SAAS,EAAE,IAAI,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,CAC5D,CAAC;AAEF,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,EAAE,eAAe,EAAE,4BAA4B,CAAC,CAAC;AAEhF,GAAG;KACA,aAAa,CAAC,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC;KAC1C,MAAM,CAAC,qBAAqB,EAAE,oBAAoB,CAAC,CAAC;AAEvD,GAAG,CAAC,UAAU,CAAC,IAAA,aAAQ,GAAE,CAAC,CAAC;AAC3B,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;AAClC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;AACpC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;AACtC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;AACpC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;AAClC,GAAG,CAAC,UAAU,CAAC,IAAA,aAAW,GAAE,CAAC,CAAC;AAC9B,GAAG,CAAC,UAAU,CAAC,IAAA,aAAU,GAAE,CAAC,CAAC;AAC7B,GAAG,CAAC,UAAU,CAAC,IAAA,aAAO,GAAE,CAAC,CAAC;AAC1B,GAAG,CAAC,UAAU,CAAC,IAAA,aAAW,GAAE,CAAC,CAAC;AAC9B,GAAG,CAAC,UAAU,CAAC,IAAA,aAAa,GAAE,CAAC,CAAC;AAChC,GAAG,CAAC,UAAU,CAAC,IAAA,aAAK,GAAE,CAAC,CAAC;AACxB,GAAG,CAAC,UAAU,CAAC,IAAA,aAAO,GAAE,CAAC,CAAC;AAC1B,GAAG,CAAC,UAAU,CAAC,IAAA,YAAM,GAAE,CAAC,CAAC;AACzB,GAAG,CAAC,UAAU,CAAC,IAAA,aAAM,GAAE,CAAC,CAAC;AACzB,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare function cmdWeb(): Command;
3
+ //# sourceMappingURL=cmd.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cmd.d.ts","sourceRoot":"","sources":["../../src/web/cmd.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,wBAAgB,MAAM,YA6DrB"}
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.cmdWeb = void 0;
4
+ const client_core_1 = require("@osaas/client-core");
5
+ const client_web_1 = require("@osaas/client-web");
6
+ const commander_1 = require("commander");
7
+ function cmdWeb() {
8
+ const web = new commander_1.Command('web');
9
+ web
10
+ .command('publish')
11
+ .description('Publish a website')
12
+ .argument('<name>', 'Name of website')
13
+ .argument('<dir>', 'Directory to publish')
14
+ .option('-s, --sync', 'Synchronize the bucket')
15
+ .action(async (name, dir, options, command) => {
16
+ try {
17
+ const globalOpts = command.optsWithGlobals();
18
+ const environment = globalOpts?.env || 'prod';
19
+ const ctx = new client_core_1.Context({ environment });
20
+ const website = await (0, client_web_1.publish)(name, dir, ctx, { sync: options.sync });
21
+ console.log(`Website published at: ${website.url}`);
22
+ console.log('CDN settings:');
23
+ console.log(` - Origin: ${new URL(website.bucket.endpoint).hostname}`);
24
+ console.log(` - Origin Headers: 'Host: ${new URL(website.bucket.endpoint).hostname}'`);
25
+ console.log(` - Origin Path: ${website.bucket.name}`);
26
+ console.log(` - Default root object: index.html`);
27
+ }
28
+ catch (err) {
29
+ console.log(err.message);
30
+ }
31
+ });
32
+ web
33
+ .command('cdn-create')
34
+ .description('Create a CDN distribution for a service instance')
35
+ .argument('<serviceId>', 'Service Id')
36
+ .argument('<instanceName>', 'Instance name')
37
+ .option('--provider <provider>', 'CDN provider (default: cloudfront)')
38
+ .option('--origin-path <originPath>', 'Origin path (default: /)')
39
+ .action(async (serviceId, instanceName, options, command) => {
40
+ try {
41
+ const globalOpts = command.optsWithGlobals();
42
+ const environment = globalOpts?.env || 'prod';
43
+ const ctx = new client_core_1.Context({ environment });
44
+ if (!options.provider) {
45
+ options.provider = 'cloudfront';
46
+ }
47
+ if (options.provider === 'cloudfront') {
48
+ console.log('Creating CloudFront distribution...');
49
+ await (0, client_web_1.createCloudfrontDistribution)(serviceId, instanceName, ctx, {
50
+ originPath: options.originPath
51
+ });
52
+ console.log('CloudFront distribution created');
53
+ }
54
+ else {
55
+ console.log('CDN provider not supported (available: cloudfront)');
56
+ }
57
+ }
58
+ catch (err) {
59
+ console.log(err.message);
60
+ }
61
+ });
62
+ return web;
63
+ }
64
+ exports.cmdWeb = cmdWeb;
65
+ //# sourceMappingURL=cmd.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cmd.js","sourceRoot":"","sources":["../../src/web/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.3.2",
3
+ "version": "4.5.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",
@@ -24,9 +24,10 @@
24
24
  "dependencies": {
25
25
  "@osaas/client-ai": "^0.4.2",
26
26
  "@osaas/client-core": "^0.15.0",
27
- "@osaas/client-db": "^0.4.0",
27
+ "@osaas/client-db": "^0.4.1",
28
28
  "@osaas/client-intercom": "^0.2.2",
29
- "@osaas/client-transcode": "^0.13.2",
29
+ "@osaas/client-transcode": "^0.13.3",
30
+ "@osaas/client-web": "^0.3.0",
30
31
  "@types/promptly": "^3.0.5",
31
32
  "chalk": "4.1.2",
32
33
  "commander": "^12.1.0",
@@ -37,5 +38,5 @@
37
38
  "publishConfig": {
38
39
  "access": "public"
39
40
  },
40
- "gitHead": "0907e1a5bf0eb7c7c59a57e119d624e5bb3bd8eb"
41
+ "gitHead": "66e8693b4c3a63556c8da544fdfdb1c243bbea82"
41
42
  }
package/readme.md CHANGED
@@ -20,31 +20,29 @@ npm install -g @osaas/cli
20
20
  Usage: osc [options] [command]
21
21
 
22
22
  Options:
23
- -v, --version Output the current version
24
- --env <environment> Environment to use
25
- -h, --help display help for command
23
+ -v, --version Output the current version
24
+ --env <environment> Environment to use
25
+ -h, --help display help for command
26
26
 
27
27
  Commands:
28
28
  admin
29
- list <serviceId> List all my service instances
30
- create [options] <serviceId> <name> Create a service instance
31
- describe <serviceId> <name> Get details for a service instance
32
- remove <serviceId> <name> Remove a service instance
33
- logs <serviceId> <name> Get logs for a service instance
34
- transcode [options] <source> <dest> [packageDestination] Transcode file to ABR fileset and store on S3
35
- bucket
36
- encore
37
- pipeline
38
- packager [options] <source> <dest> Create streaming package from ABR bundle on S3
39
- and store on another S3 bucket
29
+ list <serviceId> List all my service instances
30
+ create [options] <serviceId> <name> Create a service instance
31
+ describe <serviceId> <name> Get details for a service instance
32
+ remove <serviceId> <name> Remove a service instance
33
+ logs <serviceId> <name> Get logs for a service instance
34
+ packager [options] <source> <dest> Create streaming package from ABR bundle on S3
35
+ and store on another S3 bucket
40
36
  compare
41
37
  live
42
38
  intercom
43
- transcribe [options] <source> Generate subtitles from video or audio using Open
44
- AI Whisper
39
+ transcribe [options] <source> Generate subtitles from video or audio using Open
40
+ AI Whisper
45
41
  db
46
42
  architect
47
- help [command] display help for command
43
+ vod
44
+ web
45
+ help [command] display help for command
48
46
  ```
49
47
 
50
48
  ## Examples
package/src/cli.ts CHANGED
@@ -13,6 +13,7 @@ import cmdTranscribe from './transcribe/cmd';
13
13
  import cmdDb from './db/cmd';
14
14
  import { cmdChat } from './architect/cmd';
15
15
  import { cmdVod } from './vod/cmd';
16
+ import { cmdWeb } from './web/cmd';
16
17
 
17
18
  const cli = new Command();
18
19
 
@@ -41,4 +42,5 @@ cli.addCommand(cmdTranscribe());
41
42
  cli.addCommand(cmdDb());
42
43
  cli.addCommand(cmdChat());
43
44
  cli.addCommand(cmdVod());
45
+ cli.addCommand(cmdWeb());
44
46
  cli.parse(process.argv);
package/src/web/cmd.ts ADDED
@@ -0,0 +1,66 @@
1
+ import { Context } from '@osaas/client-core';
2
+ import { createCloudfrontDistribution, publish } from '@osaas/client-web';
3
+ import { Command } from 'commander';
4
+
5
+ export function cmdWeb() {
6
+ const web = new Command('web');
7
+
8
+ web
9
+ .command('publish')
10
+ .description('Publish a website')
11
+ .argument('<name>', 'Name of website')
12
+ .argument('<dir>', 'Directory to publish')
13
+ .option('-s, --sync', 'Synchronize the bucket')
14
+ .action(async (name, dir, options, command) => {
15
+ try {
16
+ const globalOpts = command.optsWithGlobals();
17
+ const environment = globalOpts?.env || 'prod';
18
+ const ctx = new Context({ environment });
19
+
20
+ const website = await publish(name, dir, ctx, { sync: options.sync });
21
+ console.log(`Website published at: ${website.url}`);
22
+ console.log('CDN settings:');
23
+ console.log(` - Origin: ${new URL(website.bucket.endpoint).hostname}`);
24
+ console.log(
25
+ ` - Origin Headers: 'Host: ${
26
+ new URL(website.bucket.endpoint).hostname
27
+ }'`
28
+ );
29
+ console.log(` - Origin Path: ${website.bucket.name}`);
30
+ console.log(` - Default root object: index.html`);
31
+ } catch (err) {
32
+ console.log((err as Error).message);
33
+ }
34
+ });
35
+
36
+ web
37
+ .command('cdn-create')
38
+ .description('Create a CDN distribution for a service instance')
39
+ .argument('<serviceId>', 'Service Id')
40
+ .argument('<instanceName>', 'Instance name')
41
+ .option('--provider <provider>', 'CDN provider (default: cloudfront)')
42
+ .option('--origin-path <originPath>', 'Origin path (default: /)')
43
+ .action(async (serviceId, instanceName, options, command) => {
44
+ try {
45
+ const globalOpts = command.optsWithGlobals();
46
+ const environment = globalOpts?.env || 'prod';
47
+ const ctx = new Context({ environment });
48
+
49
+ if (!options.provider) {
50
+ options.provider = 'cloudfront';
51
+ }
52
+ if (options.provider === 'cloudfront') {
53
+ console.log('Creating CloudFront distribution...');
54
+ await createCloudfrontDistribution(serviceId, instanceName, ctx, {
55
+ originPath: options.originPath
56
+ });
57
+ console.log('CloudFront distribution created');
58
+ } else {
59
+ console.log('CDN provider not supported (available: cloudfront)');
60
+ }
61
+ } catch (err) {
62
+ console.log((err as Error).message);
63
+ }
64
+ });
65
+ return web;
66
+ }