@kapeta/local-cluster-service 0.33.2 → 0.33.4

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/CHANGELOG.md CHANGED
@@ -1,3 +1,17 @@
1
+ ## [0.33.4](https://github.com/kapetacom/local-cluster-service/compare/v0.33.3...v0.33.4) (2024-01-04)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * Update fallback for SHOW_PIXEL_GRID ([22058c7](https://github.com/kapetacom/local-cluster-service/commit/22058c7ad02c1cf5bd4c21b8860dd696b21107b1))
7
+
8
+ ## [0.33.3](https://github.com/kapetacom/local-cluster-service/compare/v0.33.2...v0.33.3) (2024-01-02)
9
+
10
+
11
+ ### Bug Fixes
12
+
13
+ * Be consistent when mapping web + rest to http ([#109](https://github.com/kapetacom/local-cluster-service/issues/109)) ([9fde7d6](https://github.com/kapetacom/local-cluster-service/commit/9fde7d6ca4efa76888c25e2b7ad05f452d6c38db))
14
+
1
15
  ## [0.33.2](https://github.com/kapetacom/local-cluster-service/compare/v0.33.1...v0.33.2) (2023-12-30)
2
16
 
3
17
 
@@ -103,7 +103,7 @@ class FilesystemManager {
103
103
  storageService_1.storageService.put('app', RELEASE_CHANNEL, channel);
104
104
  }
105
105
  getShowPixelGrid() {
106
- return storageService_1.storageService.get('app', SHOW_PIXEL_GRID, false);
106
+ return storageService_1.storageService.get('app', SHOW_PIXEL_GRID, true);
107
107
  }
108
108
  setShowPixelGrid(show) {
109
109
  storageService_1.storageService.put('app', SHOW_PIXEL_GRID, show);
@@ -376,6 +376,11 @@ class InstanceManager {
376
376
  // Not an operator
377
377
  return Promise.resolve();
378
378
  }
379
+ // Check if the operator has a local definition, if not we skip it since we can't start it
380
+ if (!asset.definition.spec.local) {
381
+ console.log('Skipping operator since it as no local definition: %s', consumer.kind);
382
+ return Promise.resolve();
383
+ }
379
384
  console.log('Ensuring resource: %s in %s', consumerUri.id, systemId);
380
385
  return operatorManager_1.operatorManager.ensureResource(systemId, consumerUri.fullName, consumerUri.version);
381
386
  });
@@ -25,7 +25,7 @@ function proxyHttpRequest(req, res, opts) {
25
25
  if (opts.consumerPath.startsWith(sourceBasePath)) {
26
26
  path = path.replace(sourceBasePath, targetBasePath);
27
27
  }
28
- console.log('Proxy request to provider: %s => %s%s [web]', opts.consumerPath, opts.address, path);
28
+ console.log('Proxy request to provider: %s => %s%s [http]', opts.consumerPath, opts.address, path);
29
29
  const reqOpts = {
30
30
  method: req.method,
31
31
  url: opts.address + path,
@@ -3,6 +3,7 @@
3
3
  * SPDX-License-Identifier: BUSL-1.1
4
4
  */
5
5
  import { EnvironmentType } from './types';
6
+ export declare const HTTP_PORT_TYPE = "http";
6
7
  export declare const DEFAULT_PORT_TYPE = "http";
7
8
  export declare const HTTP_PORTS: string[];
8
9
  declare class ServiceManager {
@@ -7,13 +7,15 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
7
7
  return (mod && mod.__esModule) ? mod : { "default": mod };
8
8
  };
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.serviceManager = exports.HTTP_PORTS = exports.DEFAULT_PORT_TYPE = void 0;
10
+ exports.serviceManager = exports.HTTP_PORTS = exports.DEFAULT_PORT_TYPE = exports.HTTP_PORT_TYPE = void 0;
11
11
  const lodash_1 = __importDefault(require("lodash"));
12
12
  const clusterService_1 = require("./clusterService");
13
13
  const storageService_1 = require("./storageService");
14
14
  const nodejs_utils_1 = require("@kapeta/nodejs-utils");
15
- exports.DEFAULT_PORT_TYPE = 'http';
16
- exports.HTTP_PORTS = ['web', 'http', 'rest'];
15
+ const BlockInstanceRunner_1 = require("./utils/BlockInstanceRunner");
16
+ exports.HTTP_PORT_TYPE = 'http';
17
+ exports.DEFAULT_PORT_TYPE = exports.HTTP_PORT_TYPE;
18
+ exports.HTTP_PORTS = [exports.HTTP_PORT_TYPE, 'web', 'rest'];
17
19
  class ServiceManager {
18
20
  _systems;
19
21
  constructor() {
@@ -65,9 +67,7 @@ class ServiceManager {
65
67
  if (!portType) {
66
68
  portType = exports.DEFAULT_PORT_TYPE;
67
69
  }
68
- if (exports.HTTP_PORTS.includes(portType)) {
69
- portType = 'http';
70
- }
70
+ portType = (0, BlockInstanceRunner_1.resolvePortType)(portType);
71
71
  const service = this._ensureService(systemId, blockInstanceId);
72
72
  if (!service[portType]) {
73
73
  const port = await clusterService_1.clusterService.getNextAvailablePort();
@@ -5,6 +5,7 @@
5
5
  import { DefinitionInfo } from '@kapeta/local-cluster-config';
6
6
  import { KapetaURI } from '@kapeta/nodejs-utils';
7
7
  import { AnyMap, BlockProcessParams, ProcessInfo, StringMap } from '../types';
8
+ export declare function resolvePortType(portType: string): string;
8
9
  export declare class BlockInstanceRunner {
9
10
  private readonly _systemId;
10
11
  constructor(systemId: string);
@@ -7,7 +7,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
7
7
  return (mod && mod.__esModule) ? mod : { "default": mod };
8
8
  };
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.BlockInstanceRunner = void 0;
10
+ exports.BlockInstanceRunner = exports.resolvePortType = void 0;
11
11
  const node_fs_1 = __importDefault(require("node:fs"));
12
12
  const local_cluster_config_1 = __importDefault(require("@kapeta/local-cluster-config"));
13
13
  const utils_1 = require("./utils");
@@ -39,17 +39,24 @@ async function getProvider(uri) {
39
39
  return (0, nodejs_utils_1.parseKapetaUri)(ref).id === uri.id;
40
40
  });
41
41
  }
42
+ function resolvePortType(portType) {
43
+ if (serviceManager_1.HTTP_PORTS.includes(portType)) {
44
+ return serviceManager_1.HTTP_PORT_TYPE;
45
+ }
46
+ return portType;
47
+ }
48
+ exports.resolvePortType = resolvePortType;
42
49
  function getProviderPorts(assetVersion, providerVersion) {
43
50
  const out = assetVersion.definition?.spec?.providers
44
51
  ?.map((provider) => {
45
- return provider.spec?.port?.type;
52
+ return resolvePortType(provider.spec?.port?.type);
46
53
  })
47
54
  .filter((t) => !!t) ?? [];
48
55
  if (out.length === 0) {
49
56
  if (providerVersion.definition.spec?.defaultPort?.type) {
50
- return [providerVersion.definition.spec?.defaultPort?.type];
57
+ return [resolvePortType(providerVersion.definition.spec?.defaultPort?.type)];
51
58
  }
52
- return [serviceManager_1.DEFAULT_PORT_TYPE];
59
+ return [resolvePortType(serviceManager_1.DEFAULT_PORT_TYPE)];
53
60
  }
54
61
  // Duplicated port types are not allowed
55
62
  return Array.from(new Set(out));
@@ -103,7 +103,7 @@ class FilesystemManager {
103
103
  storageService_1.storageService.put('app', RELEASE_CHANNEL, channel);
104
104
  }
105
105
  getShowPixelGrid() {
106
- return storageService_1.storageService.get('app', SHOW_PIXEL_GRID, false);
106
+ return storageService_1.storageService.get('app', SHOW_PIXEL_GRID, true);
107
107
  }
108
108
  setShowPixelGrid(show) {
109
109
  storageService_1.storageService.put('app', SHOW_PIXEL_GRID, show);
@@ -376,6 +376,11 @@ class InstanceManager {
376
376
  // Not an operator
377
377
  return Promise.resolve();
378
378
  }
379
+ // Check if the operator has a local definition, if not we skip it since we can't start it
380
+ if (!asset.definition.spec.local) {
381
+ console.log('Skipping operator since it as no local definition: %s', consumer.kind);
382
+ return Promise.resolve();
383
+ }
379
384
  console.log('Ensuring resource: %s in %s', consumerUri.id, systemId);
380
385
  return operatorManager_1.operatorManager.ensureResource(systemId, consumerUri.fullName, consumerUri.version);
381
386
  });
@@ -25,7 +25,7 @@ function proxyHttpRequest(req, res, opts) {
25
25
  if (opts.consumerPath.startsWith(sourceBasePath)) {
26
26
  path = path.replace(sourceBasePath, targetBasePath);
27
27
  }
28
- console.log('Proxy request to provider: %s => %s%s [web]', opts.consumerPath, opts.address, path);
28
+ console.log('Proxy request to provider: %s => %s%s [http]', opts.consumerPath, opts.address, path);
29
29
  const reqOpts = {
30
30
  method: req.method,
31
31
  url: opts.address + path,
@@ -3,6 +3,7 @@
3
3
  * SPDX-License-Identifier: BUSL-1.1
4
4
  */
5
5
  import { EnvironmentType } from './types';
6
+ export declare const HTTP_PORT_TYPE = "http";
6
7
  export declare const DEFAULT_PORT_TYPE = "http";
7
8
  export declare const HTTP_PORTS: string[];
8
9
  declare class ServiceManager {
@@ -7,13 +7,15 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
7
7
  return (mod && mod.__esModule) ? mod : { "default": mod };
8
8
  };
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.serviceManager = exports.HTTP_PORTS = exports.DEFAULT_PORT_TYPE = void 0;
10
+ exports.serviceManager = exports.HTTP_PORTS = exports.DEFAULT_PORT_TYPE = exports.HTTP_PORT_TYPE = void 0;
11
11
  const lodash_1 = __importDefault(require("lodash"));
12
12
  const clusterService_1 = require("./clusterService");
13
13
  const storageService_1 = require("./storageService");
14
14
  const nodejs_utils_1 = require("@kapeta/nodejs-utils");
15
- exports.DEFAULT_PORT_TYPE = 'http';
16
- exports.HTTP_PORTS = ['web', 'http', 'rest'];
15
+ const BlockInstanceRunner_1 = require("./utils/BlockInstanceRunner");
16
+ exports.HTTP_PORT_TYPE = 'http';
17
+ exports.DEFAULT_PORT_TYPE = exports.HTTP_PORT_TYPE;
18
+ exports.HTTP_PORTS = [exports.HTTP_PORT_TYPE, 'web', 'rest'];
17
19
  class ServiceManager {
18
20
  _systems;
19
21
  constructor() {
@@ -65,9 +67,7 @@ class ServiceManager {
65
67
  if (!portType) {
66
68
  portType = exports.DEFAULT_PORT_TYPE;
67
69
  }
68
- if (exports.HTTP_PORTS.includes(portType)) {
69
- portType = 'http';
70
- }
70
+ portType = (0, BlockInstanceRunner_1.resolvePortType)(portType);
71
71
  const service = this._ensureService(systemId, blockInstanceId);
72
72
  if (!service[portType]) {
73
73
  const port = await clusterService_1.clusterService.getNextAvailablePort();
@@ -5,6 +5,7 @@
5
5
  import { DefinitionInfo } from '@kapeta/local-cluster-config';
6
6
  import { KapetaURI } from '@kapeta/nodejs-utils';
7
7
  import { AnyMap, BlockProcessParams, ProcessInfo, StringMap } from '../types';
8
+ export declare function resolvePortType(portType: string): string;
8
9
  export declare class BlockInstanceRunner {
9
10
  private readonly _systemId;
10
11
  constructor(systemId: string);
@@ -7,7 +7,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
7
7
  return (mod && mod.__esModule) ? mod : { "default": mod };
8
8
  };
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.BlockInstanceRunner = void 0;
10
+ exports.BlockInstanceRunner = exports.resolvePortType = void 0;
11
11
  const node_fs_1 = __importDefault(require("node:fs"));
12
12
  const local_cluster_config_1 = __importDefault(require("@kapeta/local-cluster-config"));
13
13
  const utils_1 = require("./utils");
@@ -39,17 +39,24 @@ async function getProvider(uri) {
39
39
  return (0, nodejs_utils_1.parseKapetaUri)(ref).id === uri.id;
40
40
  });
41
41
  }
42
+ function resolvePortType(portType) {
43
+ if (serviceManager_1.HTTP_PORTS.includes(portType)) {
44
+ return serviceManager_1.HTTP_PORT_TYPE;
45
+ }
46
+ return portType;
47
+ }
48
+ exports.resolvePortType = resolvePortType;
42
49
  function getProviderPorts(assetVersion, providerVersion) {
43
50
  const out = assetVersion.definition?.spec?.providers
44
51
  ?.map((provider) => {
45
- return provider.spec?.port?.type;
52
+ return resolvePortType(provider.spec?.port?.type);
46
53
  })
47
54
  .filter((t) => !!t) ?? [];
48
55
  if (out.length === 0) {
49
56
  if (providerVersion.definition.spec?.defaultPort?.type) {
50
- return [providerVersion.definition.spec?.defaultPort?.type];
57
+ return [resolvePortType(providerVersion.definition.spec?.defaultPort?.type)];
51
58
  }
52
- return [serviceManager_1.DEFAULT_PORT_TYPE];
59
+ return [resolvePortType(serviceManager_1.DEFAULT_PORT_TYPE)];
53
60
  }
54
61
  // Duplicated port types are not allowed
55
62
  return Array.from(new Set(out));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kapeta/local-cluster-service",
3
- "version": "0.33.2",
3
+ "version": "0.33.4",
4
4
  "description": "Manages configuration, ports and service discovery for locally running Kapeta systems",
5
5
  "type": "commonjs",
6
6
  "exports": {
@@ -114,7 +114,7 @@ class FilesystemManager {
114
114
  }
115
115
 
116
116
  getShowPixelGrid() {
117
- return storageService.get<boolean>('app', SHOW_PIXEL_GRID, false);
117
+ return storageService.get<boolean>('app', SHOW_PIXEL_GRID, true);
118
118
  }
119
119
 
120
120
  setShowPixelGrid(show: boolean) {
@@ -480,7 +480,11 @@ export class InstanceManager {
480
480
  // Not an operator
481
481
  return Promise.resolve();
482
482
  }
483
-
483
+ // Check if the operator has a local definition, if not we skip it since we can't start it
484
+ if(!asset.definition.spec.local) {
485
+ console.log('Skipping operator since it as no local definition: %s', consumer.kind)
486
+ return Promise.resolve();
487
+ }
484
488
  console.log('Ensuring resource: %s in %s', consumerUri.id, systemId);
485
489
  return operatorManager.ensureResource(systemId, consumerUri.fullName, consumerUri.version);
486
490
  });
@@ -27,7 +27,7 @@ export function proxyHttpRequest(req: StringBodyRequest, res: Response, opts: Pr
27
27
  path = path.replace(sourceBasePath, targetBasePath);
28
28
  }
29
29
 
30
- console.log('Proxy request to provider: %s => %s%s [web]', opts.consumerPath, opts.address, path);
30
+ console.log('Proxy request to provider: %s => %s%s [http]', opts.consumerPath, opts.address, path);
31
31
 
32
32
  const reqOpts: SimpleRequest = {
33
33
  method: req.method,
@@ -8,10 +8,13 @@ import { clusterService } from './clusterService';
8
8
  import { storageService } from './storageService';
9
9
  import { EnvironmentType } from './types';
10
10
  import { normalizeKapetaUri } from '@kapeta/nodejs-utils';
11
+ import { resolvePortType } from './utils/BlockInstanceRunner';
11
12
 
12
- export const DEFAULT_PORT_TYPE = 'http';
13
+ export const HTTP_PORT_TYPE = 'http';
13
14
 
14
- export const HTTP_PORTS = ['web', 'http', 'rest'];
15
+ export const DEFAULT_PORT_TYPE = HTTP_PORT_TYPE;
16
+
17
+ export const HTTP_PORTS = [HTTP_PORT_TYPE, 'web', 'rest'];
15
18
 
16
19
  class ServiceManager {
17
20
  private _systems: any;
@@ -75,9 +78,7 @@ class ServiceManager {
75
78
  portType = DEFAULT_PORT_TYPE;
76
79
  }
77
80
 
78
- if (HTTP_PORTS.includes(portType)) {
79
- portType = 'http';
80
- }
81
+ portType = resolvePortType(portType);
81
82
 
82
83
  const service = this._ensureService(systemId, blockInstanceId);
83
84
 
@@ -7,7 +7,7 @@ import FS from 'node:fs';
7
7
  import ClusterConfig, { DefinitionInfo } from '@kapeta/local-cluster-config';
8
8
  import { getBindHost, getBlockInstanceContainerName, readYML } from './utils';
9
9
  import { KapetaURI, parseKapetaUri, normalizeKapetaUri } from '@kapeta/nodejs-utils';
10
- import { DEFAULT_PORT_TYPE, serviceManager } from '../serviceManager';
10
+ import { DEFAULT_PORT_TYPE, HTTP_PORT_TYPE, HTTP_PORTS, serviceManager } from '../serviceManager';
11
11
  import {
12
12
  COMPOSE_LABEL_PROJECT,
13
13
  COMPOSE_LABEL_SERVICE,
@@ -45,19 +45,26 @@ async function getProvider(uri: KapetaURI) {
45
45
  });
46
46
  }
47
47
 
48
+ export function resolvePortType(portType: string) {
49
+ if (HTTP_PORTS.includes(portType)) {
50
+ return HTTP_PORT_TYPE;
51
+ }
52
+ return portType;
53
+ }
54
+
48
55
  function getProviderPorts(assetVersion: DefinitionInfo, providerVersion: DefinitionInfo): string[] {
49
56
  const out =
50
57
  assetVersion.definition?.spec?.providers
51
58
  ?.map((provider: any) => {
52
- return provider.spec?.port?.type;
59
+ return resolvePortType(provider.spec?.port?.type);
53
60
  })
54
61
  .filter((t: any) => !!t) ?? [];
55
62
 
56
63
  if (out.length === 0) {
57
64
  if (providerVersion.definition.spec?.defaultPort?.type) {
58
- return [providerVersion.definition.spec?.defaultPort?.type];
65
+ return [resolvePortType(providerVersion.definition.spec?.defaultPort?.type)];
59
66
  }
60
- return [DEFAULT_PORT_TYPE];
67
+ return [resolvePortType(DEFAULT_PORT_TYPE)];
61
68
  }
62
69
  // Duplicated port types are not allowed
63
70
  return Array.from(new Set<string>(out));