@axway/axway-central-cli 4.5.0 → 4.6.0-rc.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.
Files changed (83) hide show
  1. package/.security-profile-branches.json +18 -0
  2. package/package.json +1 -1
  3. package/dist/cli.js +0 -71
  4. package/dist/commands/apply/index.js +0 -112
  5. package/dist/commands/completion/index.js +0 -100
  6. package/dist/commands/config/common/index.js +0 -28
  7. package/dist/commands/config/index.js +0 -20
  8. package/dist/commands/config/list.js +0 -24
  9. package/dist/commands/config/set.js +0 -102
  10. package/dist/commands/config/unset.js +0 -48
  11. package/dist/commands/create/agentResource.js +0 -108
  12. package/dist/commands/create/environment.js +0 -62
  13. package/dist/commands/create/index.js +0 -109
  14. package/dist/commands/create/serviceAccount.js +0 -15
  15. package/dist/commands/delete/index.js +0 -196
  16. package/dist/commands/edit/environment.js +0 -101
  17. package/dist/commands/edit/index.js +0 -28
  18. package/dist/commands/get/index.js +0 -272
  19. package/dist/commands/install/agents.js +0 -290
  20. package/dist/commands/install/apigeexAgents.js +0 -223
  21. package/dist/commands/install/apigeexSaasAgents.js +0 -300
  22. package/dist/commands/install/awsAgents.js +0 -525
  23. package/dist/commands/install/awsSaasAgents.js +0 -508
  24. package/dist/commands/install/azureAgents.js +0 -242
  25. package/dist/commands/install/azureSaasAgents.js +0 -519
  26. package/dist/commands/install/backstageAgents.js +0 -167
  27. package/dist/commands/install/edgeAgents.js +0 -409
  28. package/dist/commands/install/gitHubSaasAgents.js +0 -294
  29. package/dist/commands/install/gitLabAgents.js +0 -178
  30. package/dist/commands/install/graylogAgent.js +0 -147
  31. package/dist/commands/install/helpers/creators.js +0 -359
  32. package/dist/commands/install/helpers/deleters.js +0 -36
  33. package/dist/commands/install/helpers/getters.js +0 -95
  34. package/dist/commands/install/helpers/index.js +0 -267
  35. package/dist/commands/install/helpers/inputs.js +0 -593
  36. package/dist/commands/install/helpers/regex.js +0 -67
  37. package/dist/commands/install/helpers/templates/apigeexTemplates.js +0 -109
  38. package/dist/commands/install/helpers/templates/awsTemplates.js +0 -129
  39. package/dist/commands/install/helpers/templates/azureTemplates.js +0 -125
  40. package/dist/commands/install/helpers/templates/backstageTemplates.js +0 -95
  41. package/dist/commands/install/helpers/templates/edgeTemplates.js +0 -360
  42. package/dist/commands/install/helpers/templates/gitLabTemplates.js +0 -66
  43. package/dist/commands/install/helpers/templates/graylogTemplates.js +0 -75
  44. package/dist/commands/install/helpers/templates/ibmAPIConnectTemplates.js +0 -116
  45. package/dist/commands/install/helpers/templates/istioTemplates.js +0 -214
  46. package/dist/commands/install/helpers/templates/kafkaTemplates.js +0 -194
  47. package/dist/commands/install/helpers/templates/sapApiPortalTemplates.js +0 -114
  48. package/dist/commands/install/helpers/templates/softwareAGWebMethodsTemplates.js +0 -93
  49. package/dist/commands/install/helpers/templates/traceableTemplates.js +0 -135
  50. package/dist/commands/install/helpers/templates/wso2Templates.js +0 -85
  51. package/dist/commands/install/helpers/util.js +0 -26
  52. package/dist/commands/install/ibmAPIConnectAgents.js +0 -213
  53. package/dist/commands/install/index.js +0 -36
  54. package/dist/commands/install/istioAgents.js +0 -346
  55. package/dist/commands/install/kafkaAgents.js +0 -303
  56. package/dist/commands/install/platform.js +0 -175
  57. package/dist/commands/install/sapApiPortalAgents.js +0 -198
  58. package/dist/commands/install/softwareAGWebMethodsAgents.js +0 -161
  59. package/dist/commands/install/swaggerHubSaasAgents.js +0 -272
  60. package/dist/commands/install/traceableAgents.js +0 -257
  61. package/dist/commands/install/traceableSaasAgents.js +0 -275
  62. package/dist/commands/install/wso2Agents.js +0 -163
  63. package/dist/commands/productize/helpers/productizationHelper.js +0 -408
  64. package/dist/commands/productize/index.js +0 -99
  65. package/dist/common/ApiServerClient.js +0 -1109
  66. package/dist/common/CacheController.js +0 -146
  67. package/dist/common/CliConfigManager.js +0 -76
  68. package/dist/common/CompositeError.js +0 -95
  69. package/dist/common/CoreConfigController.js +0 -174
  70. package/dist/common/DefinitionsManager.js +0 -298
  71. package/dist/common/Kubectl.js +0 -68
  72. package/dist/common/PlatformClient.js +0 -128
  73. package/dist/common/Renderer.js +0 -409
  74. package/dist/common/TmpFile.js +0 -96
  75. package/dist/common/bashCommands.js +0 -97
  76. package/dist/common/basicPrompts.js +0 -160
  77. package/dist/common/dataService.js +0 -312
  78. package/dist/common/errorHandler.js +0 -46
  79. package/dist/common/modules.d.js +0 -1
  80. package/dist/common/resultsRenderers.js +0 -164
  81. package/dist/common/types.js +0 -746
  82. package/dist/common/utils.js +0 -476
  83. package/dist/main.js +0 -8
@@ -1,359 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.updateSubResourceType = exports.createSecret = exports.createNewIDPSecretResource = exports.createNewIDPResource = exports.createNewDataPlaneSecretResource = exports.createNewDataPlaneResource = exports.createNewAgentResource = exports.createDosaAndCerts = exports.createByResourceType = exports.createBackUpConfigs = void 0;
7
- var _chalk = _interopRequireDefault(require("chalk"));
8
- var _snooplogg = _interopRequireDefault(require("snooplogg"));
9
- var _fsExtra = _interopRequireDefault(require("fs-extra"));
10
- var _bashCommands = require("../../../common/bashCommands");
11
- var _Kubectl = require("../../../common/Kubectl");
12
- var _PlatformClient = require("../../../common/PlatformClient");
13
- var _types = require("../../../common/types");
14
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
15
- const {
16
- log
17
- } = (0, _snooplogg.default)('central: install: helpers: creators');
18
- const createBackUpConfigs = async configFiles => {
19
- let fileExist = false;
20
- let dateTimeStamp = new Date().toISOString().slice(0, 10).concat(' ').concat(new Date().toLocaleTimeString('it-IT')).replace(/:\s*/g, '.');
21
- const backupDate = `${dateTimeStamp}-`;
22
- for (let configFile of configFiles) {
23
- if (_fsExtra.default.existsSync(configFile)) {
24
- fileExist = true;
25
- let backupFile = backupDate + configFile;
26
- await _fsExtra.default.copyFile(configFile, backupFile).then(() => {
27
- console.log(`Created backup file ${backupFile}`);
28
- }).catch(err => {
29
- console.error(err);
30
- });
31
- }
32
- }
33
- return fileExist;
34
- };
35
- exports.createBackUpConfigs = createBackUpConfigs;
36
- const createDosaAndCerts = async (client, name) => {
37
- console.log('Creating a new service account.');
38
- const {
39
- publicKey,
40
- privateKey
41
- } = await (0, _bashCommands.createKeyPair)();
42
- const publicCert = _fsExtra.default.readFileSync(publicKey).toString();
43
- const account = await client.createServiceAccount({
44
- name: name,
45
- desc: name,
46
- publicKey: publicCert,
47
- roles: [_PlatformClient.PlatformServiceAccountRole.ApiCentralAdmin]
48
- });
49
- console.log(_chalk.default.green(`New service account "${account.name}" with clientId "${account.client_id}" has been successfully created.`));
50
- console.log(_chalk.default.green(`The private key has been placed at ${privateKey}\nThe public key has been placed at ${publicKey}`));
51
- return new _types.DosaAccount(account.client_id, publicKey, privateKey);
52
- };
53
- exports.createDosaAndCerts = createDosaAndCerts;
54
- const updateSubResourceType = async (client, defsManager, name, resourceType, resourceShortName, scopeName = '', subResources = {}) => {
55
- var _defs$0$resource$spec, _defs$0$resource$spec2;
56
- const defs = defsManager.findDefsByWord(resourceShortName);
57
- if (!defs) {
58
- throw Error(`the server doesn't have a resource type "${resourceType}"`);
59
- }
60
- const knownSubResourcesNames = (_defs$0$resource$spec = (_defs$0$resource$spec2 = defs[0].resource.spec.subResources) === null || _defs$0$resource$spec2 === void 0 ? void 0 : _defs$0$resource$spec2.names) !== null && _defs$0$resource$spec !== void 0 ? _defs$0$resource$spec : [];
61
- for (let [key, value] of Object.entries(subResources)) {
62
- if (knownSubResourcesNames.includes(key)) {
63
- console.log(`Updating subresource ${key} on ${resourceType}`);
64
- const resource = {
65
- name
66
- };
67
- Object.assign(resource, {
68
- [key]: value
69
- });
70
- await client.updateSubResource({
71
- resourceDef: defs[0].resource,
72
- resource: resource,
73
- subResourceName: key,
74
- scopeDef: defs[0].scope ? defs[0].scope : undefined,
75
- scopeName: defs[0].scope ? scopeName || name : undefined
76
- });
77
- }
78
- }
79
- };
80
- exports.updateSubResourceType = updateSubResourceType;
81
- const createByResourceType = async (client, defsManager, name, resourceType, resourceShortName, spec = {}, scopeName = '', subResources = {}) => {
82
- var _defs$0$resource$spec3, _defs$0$resource$spec4;
83
- console.log(`Creating a new ${resourceType}`);
84
- // NOTE: only a first found set is used
85
- const defs = defsManager.findDefsByWord(resourceShortName);
86
- if (!defs) {
87
- throw Error(`the server doesn't have a resource type "${resourceType}"`);
88
- }
89
-
90
- // @ts-ignore payload
91
- const resource = {
92
- name,
93
- spec
94
- };
95
- const knownSubResourcesNames = (_defs$0$resource$spec3 = (_defs$0$resource$spec4 = defs[0].resource.spec.subResources) === null || _defs$0$resource$spec4 === void 0 ? void 0 : _defs$0$resource$spec4.names) !== null && _defs$0$resource$spec3 !== void 0 ? _defs$0$resource$spec3 : [];
96
- for (let [key, value] of Object.entries(subResources)) {
97
- if (knownSubResourcesNames.includes(key)) {
98
- Object.assign(resource, {
99
- [key]: value
100
- });
101
- }
102
- }
103
- const withSubRes = subResources !== null;
104
- const result = await client.createResource({
105
- resource,
106
- resourceDef: defs[0].resource,
107
- scopeDef: defs[0].scope ? defs[0].scope : undefined,
108
- scopeName: defs[0].scope ? scopeName || name : undefined,
109
- withSubResources: withSubRes
110
- });
111
- if (!result.data) {
112
- var _result$error;
113
- const errMsg = `cannot create a new ${resourceType.toLowerCase()}`;
114
- if ((_result$error = result.error) !== null && _result$error !== void 0 && _result$error.length) {
115
- throw Error(`${errMsg}: ${result.error[0].detail}.`);
116
- } else {
117
- throw Error(`${errMsg}.`);
118
- }
119
- } else {
120
- console.log(`New ${resourceType.toLowerCase()} "${result.data.name}" has been successfully created.`);
121
- }
122
- return result.data.name;
123
- };
124
- exports.createByResourceType = createByResourceType;
125
- const createNewAgentResource = async (client, defsManager, envName, dataPlaneType, agentResource, agentType, owningTeam, agentName, dataPlaneName, frequency, queue, config, filterDA) => {
126
- console.log(`Creating a new ${agentResource}, with data plane type: ${dataPlaneType}.`);
127
- // NOTE: only a first found set is used
128
- const defs = defsManager.findDefsByWord(agentType);
129
- if (!defs) {
130
- throw Error(`the server doesn't have a resource type "${agentType}"`);
131
- }
132
-
133
- // create the dataplane object
134
- let withSubResources = false;
135
- let dataplane = {};
136
- if (dataPlaneName) {
137
- dataplane.name = dataPlaneName;
138
- withSubResources = true;
139
- }
140
- frequency ? dataplane.frequency = frequency : null;
141
- queue ? agentResource === _types.AgentResourceKind.da ? dataplane.queueDiscovery = queue : dataplane.queueTrafficCollection = queue : null;
142
- config ? null : config = {
143
- owningTeam: owningTeam,
144
- filter: dataPlaneType === _types.DataPlaneNames.AWS || _types.DataPlaneNames.AZURE ? filterDA === null || filterDA === void 0 ? void 0 : filterDA.trim() : ''
145
- };
146
- const result = await client.createResource({
147
- // @ts-ignore payload
148
- resource: {
149
- title: agentName,
150
- spec: {
151
- dataplaneType: dataPlaneType,
152
- config: config
153
- },
154
- dataplane: dataplane
155
- },
156
- resourceDef: defs[0].resource,
157
- scopeDef: defs[0].scope ? defs[0].scope : undefined,
158
- scopeName: envName,
159
- withSubResources: withSubResources
160
- });
161
- if (!result.data) {
162
- var _result$error2;
163
- const errMsg = `cannot create a new agent`;
164
- if ((_result$error2 = result.error) !== null && _result$error2 !== void 0 && _result$error2.length) {
165
- throw Error(`${errMsg}: ${result.error[0].detail}.`);
166
- } else {
167
- throw Error(`${errMsg}.`);
168
- }
169
- } else {
170
- console.log(`New agent of type "${defs[0].resource.name}" named "${result.data.name}" has been successfully created.`);
171
- }
172
- return result.data.name;
173
- };
174
-
175
- /**
176
- * @description Helper func to create a new DataPlane resource
177
- * @param client API Service Client
178
- * @param defsManager Definition Manager
179
- * @param envName Environment Name
180
- * @param dataPlaneType DataPlane Type
181
- */
182
- exports.createNewAgentResource = createNewAgentResource;
183
- const createNewDataPlaneResource = async (client, defsManager, envName, dataPlaneType, config) => {
184
- console.log(`Creating a new Dataplane resource, with type: ${dataPlaneType}.`);
185
- // NOTE: only a first found set is used
186
- const defs = defsManager.findDefsByWord("dp");
187
- if (!defs) {
188
- throw Error(`the server doesn't have a resource type "Dataplane"`);
189
- }
190
- const result = await client.createResource({
191
- // @ts-ignore payload
192
- resource: {
193
- title: dataPlaneType + " Dataplane",
194
- spec: {
195
- type: dataPlaneType,
196
- config: config
197
- }
198
- },
199
- resourceDef: defs[0].resource,
200
- scopeDef: defs[0].scope ? defs[0].scope : undefined,
201
- scopeName: envName
202
- });
203
- if (!result.data) {
204
- var _result$error3;
205
- const errMsg = `cannot create a new dataplane`;
206
- if ((_result$error3 = result.error) !== null && _result$error3 !== void 0 && _result$error3.length) {
207
- throw Error(`${errMsg}: ${result.error[0].detail}.`);
208
- } else {
209
- throw Error(`${errMsg}.`);
210
- }
211
- } else {
212
- console.log(`New dataplane of type "${defs[0].resource.name}" named "${result.data.name}" has been successfully created.`);
213
- }
214
- return result.data;
215
- };
216
-
217
- /**
218
- * @description Helper func to create a new DataPlane resource
219
- * @param client API Service Client
220
- * @param defsManager Definition Manager
221
- * @param envName Environment Name
222
- * @param dataPlaneName DataPlane Name
223
- * @param accessData Encrypted Access Data
224
- */
225
- exports.createNewDataPlaneResource = createNewDataPlaneResource;
226
- const createNewDataPlaneSecretResource = async (client, defsManager, envName, dataPlaneType, dataPlaneName, accessData) => {
227
- console.log(`Creating a new DataplaneSecret resource.`);
228
- // NOTE: only a first found set is used
229
- const defs = defsManager.findDefsByWord("dps");
230
- if (!defs) {
231
- throw Error(`the server doesn't have a resource type "DataplaneSecret"`);
232
- }
233
- const result = await client.createResource({
234
- // @ts-ignore payload
235
- resource: {
236
- title: dataPlaneType + " Dataplane Secret",
237
- spec: {
238
- dataplane: dataPlaneName,
239
- data: accessData
240
- }
241
- },
242
- resourceDef: defs[0].resource,
243
- scopeDef: defs[0].scope ? defs[0].scope : undefined,
244
- scopeName: envName
245
- });
246
- log(result);
247
- if (!result.data) {
248
- var _result$error4;
249
- const errMsg = `cannot create a new agent`;
250
- if ((_result$error4 = result.error) !== null && _result$error4 !== void 0 && _result$error4.length) {
251
- throw Error(`${errMsg}: ${result.error[0].detail}.`);
252
- } else {
253
- throw Error(`${errMsg}.`);
254
- }
255
- } else {
256
- console.log(`New secret of type "${defs[0].resource.name}" named "${result.data.name}" has been successfully created.`);
257
- }
258
- return result.data;
259
- };
260
-
261
- /**
262
- * @description Helper func to create a new Identity Provider resource
263
- * @param client API Service Client
264
- * @param defsManager Definition Manager
265
- * @param idpConfig IDP Configuration from inputs
266
- */
267
- exports.createNewDataPlaneSecretResource = createNewDataPlaneSecretResource;
268
- const createNewIDPResource = async (client, defsManager, idpConfig) => {
269
- console.log(`Creating a new Identity Provider resource.`);
270
- // NOTE: only a first found set is used
271
- const defs = defsManager.findDefsByWord("idp");
272
- if (!defs) {
273
- throw Error(`the server doesn't have a resource type Identity Provider`);
274
- }
275
- const result = await client.createResource({
276
- // @ts-ignore payload
277
- resource: {
278
- title: idpConfig.title,
279
- spec: idpConfig.getSpec()
280
- },
281
- resourceDef: defs[0].resource,
282
- scopeDef: defs[0].scope ? defs[0].scope : undefined
283
- });
284
- log(result);
285
- if (!result.data) {
286
- var _result$error5;
287
- const errMsg = `cannot create a new agent`;
288
- if ((_result$error5 = result.error) !== null && _result$error5 !== void 0 && _result$error5.length) {
289
- throw Error(`${errMsg}: ${result.error[0].detail}.`);
290
- } else {
291
- throw Error(`${errMsg}.`);
292
- }
293
- } else {
294
- console.log(`New Identity Provider of type "${defs[0].resource.name}" named "${result.data.name}" has been successfully created.`);
295
- }
296
- return result.data;
297
- };
298
-
299
- /**
300
- * @description Helper func to create a new Identity Provider Secret resource
301
- * @param client API Service Client
302
- * @param defsManager Definition Manager
303
- * @param idpAuthConfig IDP Auth Configuration from inputs
304
- * @param idpResource IDP Configuration received after creating the IDP from inputs
305
- */
306
- exports.createNewIDPResource = createNewIDPResource;
307
- const createNewIDPSecretResource = async (client, defsManager, idpAuthConfig, idpResource) => {
308
- console.log(`Creating a new Identity Provider Secret resource.`);
309
- // NOTE: only a first found set is used
310
- const defs = defsManager.findDefsByWord("idpsec");
311
- if (!defs) {
312
- throw Error(`the server doesn't have a resource type Identity Provider Secret`);
313
- }
314
- const result = await client.createResource({
315
- // @ts-ignore payload
316
- resource: {
317
- title: idpResource.title + ' IDPSecret',
318
- spec: idpAuthConfig.getSpec()
319
- },
320
- resourceDef: defs[0].resource,
321
- scopeDef: defs[0].scope ? defs[0].scope : undefined,
322
- scopeName: idpResource.name
323
- });
324
- log(result);
325
- if (!result.data) {
326
- var _result$error6;
327
- const errMsg = `cannot create a new agent`;
328
- if ((_result$error6 = result.error) !== null && _result$error6 !== void 0 && _result$error6.length) {
329
- throw Error(`${errMsg}: ${result.error[0].detail}.`);
330
- } else {
331
- throw Error(`${errMsg}.`);
332
- }
333
- } else {
334
- console.log(`New Identity Provider of type "${defs[0].resource.name}" named "${result.data.name}" has been successfully created.`);
335
- }
336
- return result.data;
337
- };
338
-
339
- /**
340
- * @description Helper func to check for existing secret, and clean up old secret before creating a new one.
341
- * @param namespace Namespace to create the secret in.
342
- * @param secretName The name of the secret.
343
- * @param createFunc A function that will create the secret
344
- */
345
- exports.createNewIDPSecretResource = createNewIDPSecretResource;
346
- const createSecret = async (namespace, secretName, createFunc) => {
347
- const secrets = await _Kubectl.kubectl.get('secrets', `-n ${namespace} ${secretName}`);
348
- // NotFound errors are ok. Throw an error for anything else.
349
- if (secrets.error && !secrets.error.includes('NotFound')) {
350
- throw Error(secrets.error);
351
- }
352
-
353
- // delete the secret if it already exists and then re-create it.
354
- if (secrets.data.length > 0) {
355
- await _Kubectl.kubectl.delete('secret', `-n ${namespace} ${secretName}`);
356
- }
357
- await createFunc();
358
- };
359
- exports.createSecret = createSecret;
@@ -1,36 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.deleteByResourceType = void 0;
7
- var _chalk = _interopRequireDefault(require("chalk"));
8
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
9
- const deleteByResourceType = async (client, defsManager, name, resourceType, resourceShortName, scopeName = '') => {
10
- console.log(`Deleting ${resourceType}`);
11
- // NOTE: only a first found set is used
12
- const defs = defsManager.findDefsByWord(resourceShortName);
13
- if (!defs) {
14
- throw Error(`the server doesn't have a resource type "${resourceType}"`);
15
- }
16
- const result = await client.deleteResourceByName({
17
- // @ts-ignore resource is not important for the test`
18
- resourceName: name,
19
- // @ts-ignore resourceDef is not important for the test
20
- resourceDef: defs[0].resource,
21
- scopeDef: defs[0].scope ? defs[0].scope : undefined,
22
- scopeName: defs[0].scope ? scopeName || name : undefined
23
- });
24
- if (!result.data) {
25
- var _result$error;
26
- const errMsg = `error deleting resource ${resourceType.toLowerCase()}`;
27
- if ((_result$error = result.error) !== null && _result$error !== void 0 && _result$error.length) {
28
- console.log(_chalk.default.redBright(`${errMsg}: ${result.error[0].detail}.`));
29
- } else {
30
- console.log(_chalk.default.redBright(`${errMsg}.`));
31
- }
32
- } else {
33
- console.log(`New ${resourceType.toLowerCase()} "${result.data.name}" has been successfully deleted.`);
34
- }
35
- };
36
- exports.deleteByResourceType = deleteByResourceType;
@@ -1,95 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.getListByResource = exports.getLatestAgentVersion = exports.getEnvironmentId = exports.getCurrentUserOrgId = void 0;
7
- var _snooplogg = _interopRequireDefault(require("snooplogg"));
8
- var _CoreConfigController = require("../../../common/CoreConfigController");
9
- var _dataService = require("../../../common/dataService");
10
- var _types = require("../../../common/types");
11
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
12
- const {
13
- log
14
- } = (0, _snooplogg.default)('central: install: agents: helpers');
15
- const getListByResource = async input => {
16
- // NOTE: only a first found set is used
17
- const defs = input.defsManager.findDefsByWord(input.resourceShortName);
18
- if (!defs) {
19
- throw Error(`the server doesn't have a resource type "${input.resourceType}"`);
20
- }
21
- return input.client.getResourcesList({
22
- resourceDef: defs[0].resource,
23
- scopeDef: defs[0].scope ? defs[0].scope : undefined,
24
- scopeName: input.scopeName,
25
- query: input.query
26
- });
27
- };
28
-
29
- // Note: forcing it to use apicentral client id
30
- exports.getListByResource = getListByResource;
31
- const getCurrentUserOrgId = async () => {
32
- const authData = await new _CoreConfigController.CoreConfigController().getAuthInfo();
33
- if (!authData.orgId) throw Error(`Can't find org ID`);
34
- return authData.orgId;
35
- };
36
- exports.getCurrentUserOrgId = getCurrentUserOrgId;
37
- const getEnvironmentId = async (client, defsManager, environmentName, scopeName) => {
38
- var _resource$data;
39
- const defs = defsManager.findDefsByWord('env');
40
- if (!defs) {
41
- throw Error(`the server doesn't have a resource type "Environment"`);
42
- }
43
- const resource = await client.getResourceByName({
44
- resourceDef: defs[0].resource,
45
- resourceName: environmentName,
46
- scopeDef: defs[0].scope ? defs[0].scope : undefined,
47
- scopeName: scopeName ? scopeName : undefined
48
- });
49
- return (_resource$data = resource.data) !== null && _resource$data !== void 0 && _resource$data.metadata ? resource.data.metadata.id || '' : '';
50
- };
51
- exports.getEnvironmentId = getEnvironmentId;
52
- const getLatestAgentVersion = async agent => {
53
- try {
54
- const service = await (0, _dataService.dataService)({
55
- baseUrl: _types.PublicRepoUrl,
56
- basePath: _types.BasePaths.DockerAgentAPIRepoPath
57
- });
58
- const response = await service.get(`/${agent}/tags/list`, {
59
- // docker api requires auth, even if its just anonymous
60
- Authorization: `Basic ${Buffer.from('anonymous:').toString('base64')}`
61
- }, true);
62
- if (response.tags.length === 0) {
63
- return 'latest';
64
- }
65
- const latestVersion = response.tags.reduce((prev, current) => {
66
- // skip any tags that are latest
67
- if (prev === 'latest') {
68
- return current;
69
- } else if (current === 'latest') {
70
- return prev;
71
- }
72
-
73
- // find the largest tag
74
- const [pMajor, pMinor, pPatch] = prev.split('.').map(Number);
75
- const [cMajor, cMinor, cPatch] = current.split('.').map(Number);
76
- if (cMajor > pMajor) {
77
- return current;
78
- }
79
- if (cMajor == pMajor && cMinor > pMinor) {
80
- return current;
81
- }
82
- if (cMajor == pMajor && cMinor == pMinor && cPatch > pPatch) {
83
- return current;
84
- }
85
- return prev;
86
- });
87
- log(`Latest Version (${agent}): ${latestVersion}`);
88
- return latestVersion;
89
- } catch (e) {
90
- log('Error hit retrieving latest version of agent, setting tag to latest');
91
- log(e);
92
- return 'latest';
93
- }
94
- };
95
- exports.getLatestAgentVersion = getLatestAgentVersion;