@osaas/cli 4.8.3 → 4.9.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/web/cmd.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,wBAAgB,MAAM,YA6DrB"}
1
+ {"version":3,"file":"cmd.d.ts","sourceRoot":"","sources":["../../src/web/cmd.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AASpC,wBAAgB,MAAM,YAiGrB"}
package/dist/web/cmd.js CHANGED
@@ -59,6 +59,32 @@ function cmdWeb() {
59
59
  console.log(err.message);
60
60
  }
61
61
  });
62
+ web
63
+ .command('config-to-env')
64
+ .description('Load configuration from Application Config service and set as environment variables')
65
+ .argument('<configInstance>', 'Name of the application configuration service instance')
66
+ .action(async (configInstance, options, command) => {
67
+ try {
68
+ const globalOpts = command.optsWithGlobals();
69
+ const environment = globalOpts?.env || 'prod';
70
+ const ctx = new client_core_1.Context({ environment });
71
+ const token = await ctx.getServiceAccessToken('eyevinn-app-config-svc');
72
+ const instance = await (0, client_core_1.getInstance)(ctx, 'eyevinn-app-config-svc', configInstance, token);
73
+ if (instance) {
74
+ const url = new URL('/api/v1/config', instance.url);
75
+ const response = await fetch(url);
76
+ if (response.ok) {
77
+ const data = (await response.json());
78
+ data.items.map((config) => {
79
+ console.log(`export ${config.key.toUpperCase()}=${config.value}`);
80
+ });
81
+ }
82
+ }
83
+ }
84
+ catch (err) {
85
+ console.log(err.message);
86
+ }
87
+ });
62
88
  return web;
63
89
  }
64
90
  exports.cmdWeb = cmdWeb;
@@ -1 +1 @@
1
- {"version":3,"file":"cmd.js","sourceRoot":"","sources":["../../src/web/cmd.ts"],"names":[],"mappings":"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"}
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.8.3",
3
+ "version": "4.9.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,9 @@
24
24
  "dependencies": {
25
25
  "@osaas/client-ai": "^0.4.3",
26
26
  "@osaas/client-core": "^0.15.1",
27
- "@osaas/client-db": "^0.5.0",
27
+ "@osaas/client-db": "^0.5.1",
28
28
  "@osaas/client-intercom": "^0.2.3",
29
- "@osaas/client-transcode": "^0.15.3",
29
+ "@osaas/client-transcode": "^0.15.4",
30
30
  "@osaas/client-web": "^0.3.6",
31
31
  "@types/promptly": "^3.0.5",
32
32
  "chalk": "4.1.2",
@@ -38,5 +38,5 @@
38
38
  "publishConfig": {
39
39
  "access": "public"
40
40
  },
41
- "gitHead": "4413b4785d4361bf7e3d82908e9b81683d41eca9"
41
+ "gitHead": "9c761442a9e13f31f28cf1e3c1627d708d8848b8"
42
42
  }
package/readme.md CHANGED
@@ -152,3 +152,19 @@ PAT_SECRET=<pat-secret> osc admin list-instances eyevinn channel-engine
152
152
  ```
153
153
  PAT_SECRET=<pat-secret> osc --env dev admin remove-instance asdasd channel-engine mychannel
154
154
  ```
155
+
156
+ ### Store application configuration values as environment variables
157
+
158
+ Configuration values managed by the Application Config Service can be stored as environment variable using this commmand.
159
+
160
+ ```bash
161
+ % osc web config-to-env <config-instance-name>
162
+ export AWS_ACCESS_KEY_ID=admin
163
+ export CHANNELURL=https://eyevinnlab.ce.prod.osaas.io/channels/mychannel/master.m3u8
164
+ ```
165
+
166
+ And storing it in the shell.
167
+
168
+ ```bash
169
+ % eval `osc web config-to-env <config-instance-name>`
170
+ ```
package/src/web/cmd.ts CHANGED
@@ -1,7 +1,14 @@
1
- import { Context } from '@osaas/client-core';
1
+ import { Context, getInstance } from '@osaas/client-core';
2
2
  import { createCloudfrontDistribution, publish } from '@osaas/client-web';
3
3
  import { Command } from 'commander';
4
4
 
5
+ interface ConfigList {
6
+ offset: number;
7
+ limit: number;
8
+ total: number;
9
+ items: [{ key: string; value: string }];
10
+ }
11
+
5
12
  export function cmdWeb() {
6
13
  const web = new Command('web');
7
14
 
@@ -62,5 +69,41 @@ export function cmdWeb() {
62
69
  console.log((err as Error).message);
63
70
  }
64
71
  });
72
+
73
+ web
74
+ .command('config-to-env')
75
+ .description(
76
+ 'Load configuration from Application Config service and set as environment variables'
77
+ )
78
+ .argument(
79
+ '<configInstance>',
80
+ 'Name of the application configuration service instance'
81
+ )
82
+ .action(async (configInstance, options, command) => {
83
+ try {
84
+ const globalOpts = command.optsWithGlobals();
85
+ const environment = globalOpts?.env || 'prod';
86
+ const ctx = new Context({ environment });
87
+ const token = await ctx.getServiceAccessToken('eyevinn-app-config-svc');
88
+ const instance = await getInstance(
89
+ ctx,
90
+ 'eyevinn-app-config-svc',
91
+ configInstance,
92
+ token
93
+ );
94
+ if (instance) {
95
+ const url = new URL('/api/v1/config', instance.url);
96
+ const response = await fetch(url);
97
+ if (response.ok) {
98
+ const data: ConfigList = (await response.json()) as ConfigList;
99
+ data.items.map((config) => {
100
+ console.log(`export ${config.key.toUpperCase()}=${config.value}`);
101
+ });
102
+ }
103
+ }
104
+ } catch (err) {
105
+ console.log((err as Error).message);
106
+ }
107
+ });
65
108
  return web;
66
109
  }