@steedos/service-package-registry 2.5.15-beta.9 → 2.5.16-beta.1
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.
|
@@ -9,11 +9,21 @@ const userDir = path.join(process.cwd(), '.steedos');
|
|
|
9
9
|
const packagesFilePath = path.join(userDir, 'steedos-packages.yml');
|
|
10
10
|
const metadataApi = require('@steedos/metadata-api');
|
|
11
11
|
const util = require('./util');
|
|
12
|
+
const metaDataCore = require('@steedos/metadata-core');
|
|
13
|
+
|
|
14
|
+
const getPackageYmlData = (packagePath)=>{
|
|
15
|
+
let packageYmlData = {};
|
|
16
|
+
if(fs.existsSync(path.join(packagePath, 'steedos.package.yml'))){
|
|
17
|
+
packageYmlData = metaDataCore.loadFile(path.join(packagePath, 'steedos.package.yml'));
|
|
18
|
+
}
|
|
19
|
+
return packageYmlData;
|
|
20
|
+
}
|
|
21
|
+
|
|
12
22
|
const loadPackagesConfig = ()=>{
|
|
13
23
|
return yaml.load(fs.readFileSync(packagesFilePath, 'utf8')) || {};
|
|
14
24
|
}
|
|
15
25
|
|
|
16
|
-
const appendToPackagesConfig = (packageName, options)=>{
|
|
26
|
+
const appendToPackagesConfig = (packageName, options, actionName)=>{
|
|
17
27
|
let packages = loadPackagesConfig();
|
|
18
28
|
let changeNamePackage = null;
|
|
19
29
|
if(options.local && !packages[packageName]){
|
|
@@ -36,7 +46,9 @@ const appendToPackagesConfig = (packageName, options)=>{
|
|
|
36
46
|
}
|
|
37
47
|
}else{
|
|
38
48
|
// 对于已经存在的软件包, 不支持使用传入的enable控制软件包状态.
|
|
39
|
-
|
|
49
|
+
if(actionName === 'addPackage'){
|
|
50
|
+
delete options.enable
|
|
51
|
+
}
|
|
40
52
|
packages[packageName] = Object.assign(packages[packageName], options)
|
|
41
53
|
}
|
|
42
54
|
}else{
|
|
@@ -331,8 +343,10 @@ const installPackage = async (broker, options)=>{
|
|
|
331
343
|
}
|
|
332
344
|
appendToPackagesConfig(module, packageConfig);
|
|
333
345
|
const metadata = await getPackageMetadata(util.getPackageRelativePath(process.cwd(), packagePath));
|
|
346
|
+
const packageYmlData = getPackageYmlData(packagePath);
|
|
334
347
|
await broker.call(`@steedos/service-packages.install`, {
|
|
335
348
|
serviceInfo: Object.assign({}, packageConfig, {
|
|
349
|
+
packageYmlData: packageYmlData,
|
|
336
350
|
name: module,
|
|
337
351
|
enable: enable,
|
|
338
352
|
nodeID: broker.nodeID,
|
|
@@ -385,5 +399,6 @@ module.exports = {
|
|
|
385
399
|
removePackage,
|
|
386
400
|
getPackageInfo,
|
|
387
401
|
getPackageMetadata,
|
|
388
|
-
installPackage
|
|
402
|
+
installPackage,
|
|
403
|
+
getPackageYmlData
|
|
389
404
|
}
|
|
@@ -47,16 +47,17 @@ const getAllPackages = async ()=>{
|
|
|
47
47
|
_package.version = package.version
|
|
48
48
|
}else{
|
|
49
49
|
packages.push({
|
|
50
|
+
label: package.label || packageName,
|
|
51
|
+
homepage: package.homepage,
|
|
52
|
+
description: package.description,
|
|
53
|
+
...(package.packageYmlData || {}),
|
|
50
54
|
_id : packageName.replace("/", '_'),
|
|
51
55
|
name: packageName,
|
|
52
56
|
status : package.enable ? 'starting' : 'disable',
|
|
53
57
|
version : package.version,
|
|
54
58
|
local: package.local,
|
|
55
|
-
label: package.label || packageName,
|
|
56
|
-
description: package.description,
|
|
57
59
|
metadata: package.metadata,
|
|
58
|
-
static: package.static
|
|
59
|
-
homepage: package.homepage
|
|
60
|
+
static: package.static
|
|
60
61
|
})
|
|
61
62
|
}
|
|
62
63
|
})
|
|
@@ -72,6 +73,10 @@ const getAllPackages = async ()=>{
|
|
|
72
73
|
_package.homepage = packageInfo.homepage
|
|
73
74
|
}else{
|
|
74
75
|
packages.push({
|
|
76
|
+
label: packageInfo.label || packageName,
|
|
77
|
+
description: packageInfo.description,
|
|
78
|
+
homepage: packageInfo.homepage,
|
|
79
|
+
...(packageInfo.packageYmlData || {}),
|
|
75
80
|
_id : packageName.replace("/", '_'),
|
|
76
81
|
name: packageName,
|
|
77
82
|
service_name: packageInfo.name,
|
|
@@ -79,10 +84,7 @@ const getAllPackages = async ()=>{
|
|
|
79
84
|
instance_id: packageInfo.instanceID,
|
|
80
85
|
status : 'enable',
|
|
81
86
|
version : packageInfo.version,
|
|
82
|
-
|
|
83
|
-
description: packageInfo.description,
|
|
84
|
-
local: false,
|
|
85
|
-
homepage: packageInfo.homepage
|
|
87
|
+
local: false
|
|
86
88
|
})
|
|
87
89
|
}
|
|
88
90
|
})
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@steedos/service-package-registry",
|
|
3
|
-
"version": "2.5.
|
|
3
|
+
"version": "2.5.16-beta.1",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "package.service.js",
|
|
6
6
|
"scripts": {
|
|
@@ -9,11 +9,11 @@
|
|
|
9
9
|
"author": "",
|
|
10
10
|
"license": "ISC",
|
|
11
11
|
"dependencies": {
|
|
12
|
-
"@steedos/auth": "2.5.
|
|
13
|
-
"@steedos/core": "2.5.
|
|
14
|
-
"@steedos/metadata-core": "2.5.
|
|
15
|
-
"@steedos/objectql": "2.5.
|
|
16
|
-
"@steedos/service-package-loader": "2.5.
|
|
12
|
+
"@steedos/auth": "2.5.16-beta.1",
|
|
13
|
+
"@steedos/core": "2.5.16-beta.1",
|
|
14
|
+
"@steedos/metadata-core": "2.5.16-beta.1",
|
|
15
|
+
"@steedos/objectql": "2.5.16-beta.1",
|
|
16
|
+
"@steedos/service-package-loader": "2.5.16-beta.1",
|
|
17
17
|
"fs-extra": "8.1.0",
|
|
18
18
|
"i18next": "20.3.2",
|
|
19
19
|
"json-stringify-safe": "5.0.1",
|
|
@@ -31,5 +31,5 @@
|
|
|
31
31
|
"publishConfig": {
|
|
32
32
|
"access": "public"
|
|
33
33
|
},
|
|
34
|
-
"gitHead": "
|
|
34
|
+
"gitHead": "a49fccb59a464a337093f027f5d5279d738f5570"
|
|
35
35
|
}
|
|
@@ -92,11 +92,15 @@ module.exports = {
|
|
|
92
92
|
async handler(ctx) {
|
|
93
93
|
const { module } = ctx.params
|
|
94
94
|
const packages = loader.loadPackagesConfig();
|
|
95
|
-
|
|
95
|
+
let packageConfig = _.find(packages, (_p, pname) => {
|
|
96
|
+
_p.name = pname;
|
|
96
97
|
return pname === module;
|
|
97
98
|
})
|
|
98
99
|
if (packageConfig) {
|
|
99
100
|
if (packageConfig.enable) {
|
|
101
|
+
if(packageConfig.static){
|
|
102
|
+
packageConfig = Object.assign({}, packageConfig, this.getStaticPackageInfo(packageConfig, packageConfig.name))
|
|
103
|
+
}
|
|
100
104
|
if (packageConfig.local) {
|
|
101
105
|
let packagePath = packageConfig.path;
|
|
102
106
|
if(!path.isAbsolute(packagePath)){
|
|
@@ -104,8 +108,10 @@ module.exports = {
|
|
|
104
108
|
}
|
|
105
109
|
await loader.loadPackage(module, packagePath);
|
|
106
110
|
const metadata = await loader.getPackageMetadata(util.getPackageRelativePath(process.cwd(), packageConfig.path));
|
|
111
|
+
const packageYmlData = loader.getPackageYmlData(packagePath);
|
|
107
112
|
await ctx.broker.call(`@steedos/service-packages.install`, {
|
|
108
113
|
serviceInfo: Object.assign({}, Object.assign({}, packageConfig, { name: module }), {
|
|
114
|
+
packageYmlData: packageYmlData,
|
|
109
115
|
nodeID: ctx.broker.nodeID,
|
|
110
116
|
instanceID: ctx.broker.instanceID,
|
|
111
117
|
metadata: metadata
|
|
@@ -127,11 +133,16 @@ module.exports = {
|
|
|
127
133
|
disablePackage:{
|
|
128
134
|
async handler(ctx) {
|
|
129
135
|
const { module } = ctx.params
|
|
130
|
-
|
|
136
|
+
let packageConfig = await loader.disablePackage(module);
|
|
137
|
+
if(packageConfig.static){
|
|
138
|
+
packageConfig = Object.assign({}, packageConfig, this.getStaticPackageInfo(packageConfig, packageConfig.name))
|
|
139
|
+
}
|
|
131
140
|
if(packageConfig.path){
|
|
132
141
|
const metadata = await loader.getPackageMetadata(util.getPackageRelativePath(process.cwd(), packageConfig.path));
|
|
142
|
+
const packageYmlData = loader.getPackageYmlData(packageConfig.path);
|
|
133
143
|
await ctx.broker.call(`@steedos/service-packages.install`, {
|
|
134
144
|
serviceInfo: Object.assign({}, packageConfig, {
|
|
145
|
+
packageYmlData,
|
|
135
146
|
nodeID: ctx.broker.nodeID,
|
|
136
147
|
instanceID: ctx.broker.instanceID,
|
|
137
148
|
metadata: metadata
|
|
@@ -150,8 +161,10 @@ module.exports = {
|
|
|
150
161
|
}
|
|
151
162
|
await packages.checkDependencies(path.resolve(packageConfig.path))
|
|
152
163
|
const metadata = await loader.getPackageMetadata(util.getPackageRelativePath(process.cwd(), packageConfig.path));
|
|
164
|
+
const packageYmlData = loader.getPackageYmlData(packageConfig.path);
|
|
153
165
|
await ctx.broker.call(`@steedos/service-packages.install`, {
|
|
154
166
|
serviceInfo: Object.assign({}, packageConfig, {
|
|
167
|
+
packageYmlData,
|
|
155
168
|
nodeID: ctx.broker.nodeID,
|
|
156
169
|
instanceID: ctx.broker.instanceID,
|
|
157
170
|
metadata: metadata
|
|
@@ -183,6 +196,7 @@ module.exports = {
|
|
|
183
196
|
const enable = true;
|
|
184
197
|
return await this.installPackageFromUrl(module, version, url, auth, enable, registry_url, ctx.broker, {fromClient})
|
|
185
198
|
} catch (error) {
|
|
199
|
+
this.broker.logger.error(`installPackageFromUrl: `, error);
|
|
186
200
|
let errorInfo = error.message || '';
|
|
187
201
|
if (error.stderr) {
|
|
188
202
|
const errors = error.stderr.split('\n');
|
|
@@ -253,8 +267,10 @@ module.exports = {
|
|
|
253
267
|
}
|
|
254
268
|
const newConfig = loader.appendToPackagesConfig(module, packageConfig);
|
|
255
269
|
const metadata = await loader.getPackageMetadata(util.getPackageRelativePath(process.cwd(), packagePath));
|
|
270
|
+
const packageYmlData = loader.getPackageYmlData(packagePath);
|
|
256
271
|
await this.broker.call(`@steedos/service-packages.install`, {
|
|
257
272
|
serviceInfo: Object.assign({}, newConfig, {
|
|
273
|
+
packageYmlData,
|
|
258
274
|
name: module,
|
|
259
275
|
enable: enable,
|
|
260
276
|
nodeID: this.broker.nodeID,
|
|
@@ -316,8 +332,10 @@ module.exports = {
|
|
|
316
332
|
} catch (error) {
|
|
317
333
|
console.error(error)
|
|
318
334
|
}
|
|
335
|
+
const packageYmlData = loader.getPackageYmlData(packagePath);
|
|
319
336
|
await broker.call(`@steedos/service-packages.install`, {
|
|
320
337
|
serviceInfo: Object.assign({}, packageConfig, {
|
|
338
|
+
packageYmlData,
|
|
321
339
|
name: packageName,
|
|
322
340
|
enable: enable,
|
|
323
341
|
nodeID: broker.nodeID,
|
|
@@ -411,7 +429,7 @@ module.exports = {
|
|
|
411
429
|
if(!_.has(options, 'static')){
|
|
412
430
|
options.static = true
|
|
413
431
|
}
|
|
414
|
-
loader.appendToPackagesConfig(name, options)
|
|
432
|
+
loader.appendToPackagesConfig(name, options, 'addPackage')
|
|
415
433
|
await this.installPackagesSyncToMetaData(name);
|
|
416
434
|
}
|
|
417
435
|
}
|
|
@@ -451,8 +469,10 @@ module.exports = {
|
|
|
451
469
|
_packageInfo = Object.assign({}, _packageInfo, this.getPackageInfo(_packageInfo, name))
|
|
452
470
|
}
|
|
453
471
|
const metadata = await loader.getPackageMetadata(_packageInfo.path);
|
|
472
|
+
const packageYmlData = loader.getPackageYmlData(_packageInfo.path);
|
|
454
473
|
await this.broker.call(`@steedos/service-packages.install`, {
|
|
455
474
|
serviceInfo: {
|
|
475
|
+
packageYmlData,
|
|
456
476
|
name: name,
|
|
457
477
|
nodeID: this.broker.nodeID,
|
|
458
478
|
instanceID: this.broker.instanceID,
|