@kwirthmagnify/kwirth-common 0.4.49

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 (46) hide show
  1. package/README.md +1 -0
  2. package/dist/AccessKey.d.ts +20 -0
  3. package/dist/AccessKey.js +75 -0
  4. package/dist/AlertInstanceConfig.d.ts +5 -0
  5. package/dist/AlertInstanceConfig.js +2 -0
  6. package/dist/AlertMessage.d.ts +15 -0
  7. package/dist/AlertMessage.js +9 -0
  8. package/dist/ApiKey.d.ts +7 -0
  9. package/dist/ApiKey.js +2 -0
  10. package/dist/Channel.d.ts +39 -0
  11. package/dist/Channel.js +14 -0
  12. package/dist/EchoInstanceConfig.d.ts +3 -0
  13. package/dist/EchoInstanceConfig.js +2 -0
  14. package/dist/EchoMessage.d.ts +12 -0
  15. package/dist/EchoMessage.js +2 -0
  16. package/dist/Global.d.ts +17 -0
  17. package/dist/Global.js +2 -0
  18. package/dist/InstanceConfig.d.ts +72 -0
  19. package/dist/InstanceConfig.js +78 -0
  20. package/dist/InstanceMessage.d.ts +73 -0
  21. package/dist/InstanceMessage.js +80 -0
  22. package/dist/LogInstanceConfig.d.ts +7 -0
  23. package/dist/LogInstanceConfig.js +2 -0
  24. package/dist/LogMessage.d.ts +9 -0
  25. package/dist/LogMessage.js +2 -0
  26. package/dist/MetricsInstanceConfig.d.ts +20 -0
  27. package/dist/MetricsInstanceConfig.js +14 -0
  28. package/dist/MetricsMessage.d.ts +46 -0
  29. package/dist/MetricsMessage.js +2 -0
  30. package/dist/OpsInstanceConfig.d.ts +2 -0
  31. package/dist/OpsInstanceConfig.js +2 -0
  32. package/dist/OpsMessage.d.ts +30 -0
  33. package/dist/OpsMessage.js +11 -0
  34. package/dist/RouteMessage.d.ts +11 -0
  35. package/dist/RouteMessage.js +2 -0
  36. package/dist/SignalMessage.d.ts +31 -0
  37. package/dist/SignalMessage.js +29 -0
  38. package/dist/TrivyInstanceConfig.d.ts +0 -0
  39. package/dist/TrivyInstanceConfig.js +7 -0
  40. package/dist/TrivyMessage.d.ts +0 -0
  41. package/dist/TrivyMessage.js +40 -0
  42. package/dist/Version.d.ts +9 -0
  43. package/dist/Version.js +57 -0
  44. package/dist/index.d.ts +20 -0
  45. package/dist/index.js +53 -0
  46. package/package.json +50 -0
package/README.md ADDED
@@ -0,0 +1 @@
1
+ Common structures for using Kwirth
@@ -0,0 +1,20 @@
1
+ declare class AccessKey {
2
+ id: string;
3
+ type: string;
4
+ resources: string;
5
+ }
6
+ declare function accessKeyCreate(type: string, resources: string): AccessKey;
7
+ declare function accessKeyBuild(id: string, type: string, resources: string): AccessKey;
8
+ declare function accessKeySerialize(accessKey: AccessKey): string;
9
+ declare function accessKeyDeserialize(key: string): AccessKey;
10
+ declare function parseResource(key: string): ResourceIdentifier;
11
+ declare function parseResources(key: string): ResourceIdentifier[];
12
+ declare function buildResource(scopes: string[], namespaces: string[], groups: string[], pods: string[], containers: string[]): string;
13
+ interface ResourceIdentifier {
14
+ scopes: string;
15
+ namespaces: string;
16
+ groups: string;
17
+ pods: string;
18
+ containers: string;
19
+ }
20
+ export { accessKeyBuild, accessKeyCreate, accessKeyDeserialize, accessKeySerialize, AccessKey, parseResource, parseResources, ResourceIdentifier, buildResource };
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AccessKey = void 0;
4
+ exports.accessKeyBuild = accessKeyBuild;
5
+ exports.accessKeyCreate = accessKeyCreate;
6
+ exports.accessKeyDeserialize = accessKeyDeserialize;
7
+ exports.accessKeySerialize = accessKeySerialize;
8
+ exports.parseResource = parseResource;
9
+ exports.parseResources = parseResources;
10
+ exports.buildResource = buildResource;
11
+ const uuid_1 = require("uuid");
12
+ /*
13
+ Access key format is:
14
+
15
+ id|type|resource
16
+
17
+ where:
18
+ id: is a UUID
19
+ type: is 'volatile', 'permanent' (it is persisted when created) or 'bearer:....'
20
+ in case of a bearer accessKey, the type contains the expire for the key, that is, for example:
21
+ bearer:
22
+ resource: is a stringified ResourceIdentifier
23
+ */
24
+ class AccessKey {
25
+ constructor() {
26
+ this.id = '';
27
+ this.type = 'volatile';
28
+ this.resources = '';
29
+ }
30
+ }
31
+ exports.AccessKey = AccessKey;
32
+ function accessKeyCreate(type, resources) {
33
+ let accessKey = new AccessKey();
34
+ accessKey.id = (0, uuid_1.v4)();
35
+ accessKey.type = type;
36
+ accessKey.resources = resources;
37
+ return accessKey;
38
+ }
39
+ function accessKeyBuild(id, type, resources) {
40
+ let accessKey = new AccessKey();
41
+ accessKey.id = id;
42
+ accessKey.type = type;
43
+ accessKey.resources = resources;
44
+ return accessKey;
45
+ }
46
+ function accessKeySerialize(accessKey) {
47
+ return `${accessKey.id}|${accessKey.type}|${accessKey.resources}`;
48
+ }
49
+ function accessKeyDeserialize(key) {
50
+ var parts = key.split('|');
51
+ return accessKeyBuild(parts[0], parts[1], parts[2]);
52
+ }
53
+ function parseResource(key) {
54
+ var parts = key.split(':');
55
+ return {
56
+ scopes: parts[0],
57
+ namespaces: parts[1],
58
+ groups: parts[2],
59
+ pods: parts[3],
60
+ containers: parts[4]
61
+ };
62
+ }
63
+ function parseResources(key) {
64
+ if (!key)
65
+ return [];
66
+ let ress = key.split(';');
67
+ let result = [];
68
+ for (var res of ress) {
69
+ result.push(parseResource(res));
70
+ }
71
+ return result;
72
+ }
73
+ function buildResource(scopes, namespaces, groups, pods, containers) {
74
+ return `${scopes.join(',')}:${namespaces.join(',')}:${groups.join(',')}:${pods.join(',')}:${containers.join(',')}`;
75
+ }
@@ -0,0 +1,5 @@
1
+ export interface AlertConfig {
2
+ regexInfo: string[];
3
+ regexWarning: string[];
4
+ regexError: string[];
5
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,15 @@
1
+ import { IInstanceMessage } from "./InstanceMessage";
2
+ export declare enum EAlertSeverity {
3
+ INFO = "info",
4
+ WARNING = "warning",
5
+ ERROR = "error"
6
+ }
7
+ export interface IAlertMessage extends IInstanceMessage {
8
+ msgtype: 'alertmessage';
9
+ timestamp?: Date;
10
+ severity: EAlertSeverity;
11
+ namespace: string;
12
+ pod: string;
13
+ container: string;
14
+ text: string;
15
+ }
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EAlertSeverity = void 0;
4
+ var EAlertSeverity;
5
+ (function (EAlertSeverity) {
6
+ EAlertSeverity["INFO"] = "info";
7
+ EAlertSeverity["WARNING"] = "warning";
8
+ EAlertSeverity["ERROR"] = "error";
9
+ })(EAlertSeverity || (exports.EAlertSeverity = EAlertSeverity = {}));
@@ -0,0 +1,7 @@
1
+ import { AccessKey } from './AccessKey';
2
+ export interface ApiKey {
3
+ accessKey: AccessKey;
4
+ description: string;
5
+ expire: number;
6
+ days: number;
7
+ }
package/dist/ApiKey.js ADDED
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,39 @@
1
+ declare enum ClusterTypeEnum {
2
+ KUBERNETES = "kubernetes",
3
+ DOCKER = "docker"
4
+ }
5
+ declare enum EClusterType {
6
+ KUBERNETES = "kubernetes",
7
+ DOCKER = "docker"
8
+ }
9
+ interface IEndpointConfig {
10
+ name: string;
11
+ methods: string[];
12
+ requiresAccessKey: boolean;
13
+ }
14
+ interface BackChannelData {
15
+ id: string;
16
+ routable: boolean;
17
+ pauseable: boolean;
18
+ modifyable: boolean;
19
+ reconnectable: boolean;
20
+ sources: string[];
21
+ metrics: boolean;
22
+ events: boolean;
23
+ endpoints: IEndpointConfig[];
24
+ websocket: boolean;
25
+ cluster: boolean;
26
+ }
27
+ interface KwirthData {
28
+ version: string;
29
+ lastVersion: string;
30
+ clusterName: string;
31
+ clusterType: EClusterType;
32
+ inCluster: boolean;
33
+ isElectron: boolean;
34
+ namespace: string;
35
+ deployment: string;
36
+ metricsInterval: number;
37
+ channels: BackChannelData[];
38
+ }
39
+ export { ClusterTypeEnum, KwirthData, BackChannelData, EClusterType };
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EClusterType = exports.ClusterTypeEnum = void 0;
4
+ //transient
5
+ var ClusterTypeEnum;
6
+ (function (ClusterTypeEnum) {
7
+ ClusterTypeEnum["KUBERNETES"] = "kubernetes";
8
+ ClusterTypeEnum["DOCKER"] = "docker";
9
+ })(ClusterTypeEnum || (exports.ClusterTypeEnum = ClusterTypeEnum = {}));
10
+ var EClusterType;
11
+ (function (EClusterType) {
12
+ EClusterType["KUBERNETES"] = "kubernetes";
13
+ EClusterType["DOCKER"] = "docker";
14
+ })(EClusterType || (exports.EClusterType = EClusterType = {}));
@@ -0,0 +1,3 @@
1
+ export interface IEchoConfig {
2
+ interval: number;
3
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,12 @@
1
+ import { IInstanceMessage } from "./InstanceMessage";
2
+ export interface IEchoMessage extends IInstanceMessage {
3
+ msgtype: 'echomessage';
4
+ namespace: string;
5
+ pod: string;
6
+ container: string;
7
+ text: string;
8
+ }
9
+ export interface IEchoMessageResponse extends IInstanceMessage {
10
+ msgtype: 'echomessageresponse';
11
+ text: string;
12
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,17 @@
1
+ import { AccessKey } from "./AccessKey";
2
+ interface IUser {
3
+ id: string;
4
+ name: string;
5
+ password: string;
6
+ accessKey: AccessKey;
7
+ resources: string;
8
+ }
9
+ interface ILoginResponse {
10
+ id: string;
11
+ name: string;
12
+ accessKey: AccessKey;
13
+ }
14
+ interface IClusterMetricsConfig {
15
+ metricsInterval: number;
16
+ }
17
+ export { ILoginResponse, IUser, IClusterMetricsConfig };
package/dist/Global.js ADDED
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,72 @@
1
+ import { IInstanceMessage } from "./InstanceMessage";
2
+ export declare enum InstanceConfigObjectEnum {
3
+ PODS = "pods",
4
+ EVENTS = "events"
5
+ }
6
+ export declare enum InstanceConfigViewEnum {
7
+ NONE = "none",
8
+ CLUSTER = "cluster",
9
+ NAMESPACE = "namespace",
10
+ GROUP = "group",
11
+ POD = "pod",
12
+ CONTAINER = "container"
13
+ }
14
+ export declare enum InstanceConfigScopeEnum {
15
+ NONE = "none",
16
+ API = "api",
17
+ CLUSTER = "cluster",
18
+ FILTER = "filter",
19
+ VIEW = "view",
20
+ SNAPSHOT = "snapshot",
21
+ STREAM = "stream",
22
+ CREATE = "create",
23
+ SUBSCRIBE = "subscribe",
24
+ GET = "get",
25
+ EXECUTE = "execute",
26
+ RESTART = "restart",
27
+ WORKLOAD = "workload",
28
+ KUBERNETES = "kubernetes"
29
+ }
30
+ export declare enum EInstanceConfigObject {
31
+ PODS = "pods",
32
+ EVENTS = "events"
33
+ }
34
+ export declare enum EInstanceConfigView {
35
+ NONE = "none",
36
+ CLUSTER = "cluster",
37
+ NAMESPACE = "namespace",
38
+ GROUP = "group",
39
+ POD = "pod",
40
+ CONTAINER = "container"
41
+ }
42
+ export declare enum EInstanceConfigScope {
43
+ NONE = "none",
44
+ API = "api",
45
+ CLUSTER = "cluster",
46
+ FILTER = "filter",
47
+ VIEW = "view",
48
+ SNAPSHOT = "snapshot",
49
+ STREAM = "stream",
50
+ CREATE = "create",
51
+ SUBSCRIBE = "subscribe",
52
+ GET = "get",
53
+ EXECUTE = "execute",
54
+ RESTART = "restart",
55
+ WORKLOAD = "workload",
56
+ KUBERNETES = "kubernetes"
57
+ }
58
+ export interface IInstanceConfig extends IInstanceMessage {
59
+ objects: EInstanceConfigObject;
60
+ accessKey: string;
61
+ scope: string;
62
+ view: EInstanceConfigView;
63
+ namespace: string;
64
+ group: string;
65
+ pod: string;
66
+ container: string;
67
+ data?: any;
68
+ }
69
+ export interface IInstanceConfigResponse extends IInstanceMessage {
70
+ text?: string;
71
+ data?: any;
72
+ }
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EInstanceConfigScope = exports.EInstanceConfigView = exports.EInstanceConfigObject = exports.InstanceConfigScopeEnum = exports.InstanceConfigViewEnum = exports.InstanceConfigObjectEnum = void 0;
4
+ // transient
5
+ var InstanceConfigObjectEnum;
6
+ (function (InstanceConfigObjectEnum) {
7
+ InstanceConfigObjectEnum["PODS"] = "pods";
8
+ InstanceConfigObjectEnum["EVENTS"] = "events";
9
+ })(InstanceConfigObjectEnum || (exports.InstanceConfigObjectEnum = InstanceConfigObjectEnum = {}));
10
+ // transient
11
+ var InstanceConfigViewEnum;
12
+ (function (InstanceConfigViewEnum) {
13
+ InstanceConfigViewEnum["NONE"] = "none";
14
+ InstanceConfigViewEnum["CLUSTER"] = "cluster";
15
+ InstanceConfigViewEnum["NAMESPACE"] = "namespace";
16
+ InstanceConfigViewEnum["GROUP"] = "group";
17
+ InstanceConfigViewEnum["POD"] = "pod";
18
+ InstanceConfigViewEnum["CONTAINER"] = "container";
19
+ })(InstanceConfigViewEnum || (exports.InstanceConfigViewEnum = InstanceConfigViewEnum = {}));
20
+ // transient
21
+ var InstanceConfigScopeEnum;
22
+ (function (InstanceConfigScopeEnum) {
23
+ InstanceConfigScopeEnum["NONE"] = "none";
24
+ InstanceConfigScopeEnum["API"] = "api";
25
+ InstanceConfigScopeEnum["CLUSTER"] = "cluster";
26
+ // LOG
27
+ InstanceConfigScopeEnum["FILTER"] = "filter";
28
+ InstanceConfigScopeEnum["VIEW"] = "view";
29
+ // METRICS
30
+ InstanceConfigScopeEnum["SNAPSHOT"] = "snapshot";
31
+ InstanceConfigScopeEnum["STREAM"] = "stream";
32
+ // ALARM
33
+ InstanceConfigScopeEnum["CREATE"] = "create";
34
+ InstanceConfigScopeEnum["SUBSCRIBE"] = "subscribe";
35
+ // OPS
36
+ InstanceConfigScopeEnum["GET"] = "get";
37
+ InstanceConfigScopeEnum["EXECUTE"] = "execute";
38
+ InstanceConfigScopeEnum["RESTART"] = "restart";
39
+ // TRIVY
40
+ InstanceConfigScopeEnum["WORKLOAD"] = "workload";
41
+ InstanceConfigScopeEnum["KUBERNETES"] = "kubernetes";
42
+ })(InstanceConfigScopeEnum || (exports.InstanceConfigScopeEnum = InstanceConfigScopeEnum = {}));
43
+ var EInstanceConfigObject;
44
+ (function (EInstanceConfigObject) {
45
+ EInstanceConfigObject["PODS"] = "pods";
46
+ EInstanceConfigObject["EVENTS"] = "events";
47
+ })(EInstanceConfigObject || (exports.EInstanceConfigObject = EInstanceConfigObject = {}));
48
+ var EInstanceConfigView;
49
+ (function (EInstanceConfigView) {
50
+ EInstanceConfigView["NONE"] = "none";
51
+ EInstanceConfigView["CLUSTER"] = "cluster";
52
+ EInstanceConfigView["NAMESPACE"] = "namespace";
53
+ EInstanceConfigView["GROUP"] = "group";
54
+ EInstanceConfigView["POD"] = "pod";
55
+ EInstanceConfigView["CONTAINER"] = "container";
56
+ })(EInstanceConfigView || (exports.EInstanceConfigView = EInstanceConfigView = {}));
57
+ var EInstanceConfigScope;
58
+ (function (EInstanceConfigScope) {
59
+ EInstanceConfigScope["NONE"] = "none";
60
+ EInstanceConfigScope["API"] = "api";
61
+ EInstanceConfigScope["CLUSTER"] = "cluster";
62
+ // LOG
63
+ EInstanceConfigScope["FILTER"] = "filter";
64
+ EInstanceConfigScope["VIEW"] = "view";
65
+ // METRICS
66
+ EInstanceConfigScope["SNAPSHOT"] = "snapshot";
67
+ EInstanceConfigScope["STREAM"] = "stream";
68
+ // ALARM
69
+ EInstanceConfigScope["CREATE"] = "create";
70
+ EInstanceConfigScope["SUBSCRIBE"] = "subscribe";
71
+ // OPS
72
+ EInstanceConfigScope["GET"] = "get";
73
+ EInstanceConfigScope["EXECUTE"] = "execute";
74
+ EInstanceConfigScope["RESTART"] = "restart";
75
+ // TRIVY
76
+ EInstanceConfigScope["WORKLOAD"] = "workload";
77
+ EInstanceConfigScope["KUBERNETES"] = "kubernetes";
78
+ })(EInstanceConfigScope || (exports.EInstanceConfigScope = EInstanceConfigScope = {}));
@@ -0,0 +1,73 @@
1
+ export declare enum InstanceMessageChannelEnum {
2
+ NONE = "none",
3
+ LOG = "log",
4
+ METRICS = "metrics",
5
+ AUDIT = "audit",
6
+ OPS = "ops",
7
+ ALERT = "alert",
8
+ TRIVY = "trivy"
9
+ }
10
+ export declare enum EInstanceMessageChannel {
11
+ NONE = "none",
12
+ LOG = "log",
13
+ METRICS = "metrics",
14
+ AUDIT = "audit",
15
+ OPS = "ops",
16
+ ALERT = "alert",
17
+ TRIVY = "trivy",
18
+ MAGNIFY = "magnify"
19
+ }
20
+ export declare enum InstanceMessageTypeEnum {
21
+ DATA = "data",
22
+ SIGNAL = "signal"
23
+ }
24
+ export declare enum EInstanceMessageType {
25
+ DATA = "data",
26
+ SIGNAL = "signal"
27
+ }
28
+ export declare enum InstanceMessageActionEnum {
29
+ NONE = "none",
30
+ ROUTE = "route",
31
+ START = "start",
32
+ STOP = "stop",
33
+ PAUSE = "pause",
34
+ CONTINUE = "continue",
35
+ MODIFY = "modify",
36
+ PING = "ping",
37
+ RECONNECT = "reconnect",
38
+ COMMAND = "command",
39
+ WEBSOCKET = "websocket"
40
+ }
41
+ export declare enum EInstanceMessageAction {
42
+ NONE = "none",
43
+ RI = "ri",
44
+ ROUTE = "route",
45
+ START = "start",
46
+ STOP = "stop",
47
+ PAUSE = "pause",
48
+ CONTINUE = "continue",
49
+ MODIFY = "modify",
50
+ PING = "ping",
51
+ RECONNECT = "reconnect",
52
+ COMMAND = "command",
53
+ WEBSOCKET = "websocket"
54
+ }
55
+ export declare enum InstanceMessageFlowEnum {
56
+ IMMEDIATE = "immediate",
57
+ REQUEST = "request",
58
+ RESPONSE = "response",
59
+ UNSOLICITED = "unsolicited"
60
+ }
61
+ export declare enum EInstanceMessageFlow {
62
+ IMMEDIATE = "immediate",
63
+ REQUEST = "request",
64
+ RESPONSE = "response",
65
+ UNSOLICITED = "unsolicited"
66
+ }
67
+ export interface IInstanceMessage {
68
+ action: EInstanceMessageAction;
69
+ flow: EInstanceMessageFlow;
70
+ type: EInstanceMessageType;
71
+ channel: string;
72
+ instance: string;
73
+ }
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EInstanceMessageFlow = exports.InstanceMessageFlowEnum = exports.EInstanceMessageAction = exports.InstanceMessageActionEnum = exports.EInstanceMessageType = exports.InstanceMessageTypeEnum = exports.EInstanceMessageChannel = exports.InstanceMessageChannelEnum = void 0;
4
+ // transient
5
+ var InstanceMessageChannelEnum;
6
+ (function (InstanceMessageChannelEnum) {
7
+ InstanceMessageChannelEnum["NONE"] = "none";
8
+ InstanceMessageChannelEnum["LOG"] = "log";
9
+ InstanceMessageChannelEnum["METRICS"] = "metrics";
10
+ InstanceMessageChannelEnum["AUDIT"] = "audit";
11
+ InstanceMessageChannelEnum["OPS"] = "ops";
12
+ InstanceMessageChannelEnum["ALERT"] = "alert";
13
+ InstanceMessageChannelEnum["TRIVY"] = "trivy";
14
+ })(InstanceMessageChannelEnum || (exports.InstanceMessageChannelEnum = InstanceMessageChannelEnum = {}));
15
+ var EInstanceMessageChannel;
16
+ (function (EInstanceMessageChannel) {
17
+ EInstanceMessageChannel["NONE"] = "none";
18
+ EInstanceMessageChannel["LOG"] = "log";
19
+ EInstanceMessageChannel["METRICS"] = "metrics";
20
+ EInstanceMessageChannel["AUDIT"] = "audit";
21
+ EInstanceMessageChannel["OPS"] = "ops";
22
+ EInstanceMessageChannel["ALERT"] = "alert";
23
+ EInstanceMessageChannel["TRIVY"] = "trivy";
24
+ EInstanceMessageChannel["MAGNIFY"] = "magnify";
25
+ })(EInstanceMessageChannel || (exports.EInstanceMessageChannel = EInstanceMessageChannel = {}));
26
+ // transient
27
+ var InstanceMessageTypeEnum;
28
+ (function (InstanceMessageTypeEnum) {
29
+ InstanceMessageTypeEnum["DATA"] = "data";
30
+ InstanceMessageTypeEnum["SIGNAL"] = "signal";
31
+ })(InstanceMessageTypeEnum || (exports.InstanceMessageTypeEnum = InstanceMessageTypeEnum = {}));
32
+ var EInstanceMessageType;
33
+ (function (EInstanceMessageType) {
34
+ EInstanceMessageType["DATA"] = "data";
35
+ EInstanceMessageType["SIGNAL"] = "signal";
36
+ })(EInstanceMessageType || (exports.EInstanceMessageType = EInstanceMessageType = {}));
37
+ // transient
38
+ var InstanceMessageActionEnum;
39
+ (function (InstanceMessageActionEnum) {
40
+ InstanceMessageActionEnum["NONE"] = "none";
41
+ InstanceMessageActionEnum["ROUTE"] = "route";
42
+ InstanceMessageActionEnum["START"] = "start";
43
+ InstanceMessageActionEnum["STOP"] = "stop";
44
+ InstanceMessageActionEnum["PAUSE"] = "pause";
45
+ InstanceMessageActionEnum["CONTINUE"] = "continue";
46
+ InstanceMessageActionEnum["MODIFY"] = "modify";
47
+ InstanceMessageActionEnum["PING"] = "ping";
48
+ InstanceMessageActionEnum["RECONNECT"] = "reconnect";
49
+ InstanceMessageActionEnum["COMMAND"] = "command";
50
+ InstanceMessageActionEnum["WEBSOCKET"] = "websocket";
51
+ })(InstanceMessageActionEnum || (exports.InstanceMessageActionEnum = InstanceMessageActionEnum = {}));
52
+ var EInstanceMessageAction;
53
+ (function (EInstanceMessageAction) {
54
+ EInstanceMessageAction["NONE"] = "none";
55
+ EInstanceMessageAction["RI"] = "ri";
56
+ EInstanceMessageAction["ROUTE"] = "route";
57
+ EInstanceMessageAction["START"] = "start";
58
+ EInstanceMessageAction["STOP"] = "stop";
59
+ EInstanceMessageAction["PAUSE"] = "pause";
60
+ EInstanceMessageAction["CONTINUE"] = "continue";
61
+ EInstanceMessageAction["MODIFY"] = "modify";
62
+ EInstanceMessageAction["PING"] = "ping";
63
+ EInstanceMessageAction["RECONNECT"] = "reconnect";
64
+ EInstanceMessageAction["COMMAND"] = "command";
65
+ EInstanceMessageAction["WEBSOCKET"] = "websocket";
66
+ })(EInstanceMessageAction || (exports.EInstanceMessageAction = EInstanceMessageAction = {}));
67
+ var InstanceMessageFlowEnum;
68
+ (function (InstanceMessageFlowEnum) {
69
+ InstanceMessageFlowEnum["IMMEDIATE"] = "immediate";
70
+ InstanceMessageFlowEnum["REQUEST"] = "request";
71
+ InstanceMessageFlowEnum["RESPONSE"] = "response";
72
+ InstanceMessageFlowEnum["UNSOLICITED"] = "unsolicited";
73
+ })(InstanceMessageFlowEnum || (exports.InstanceMessageFlowEnum = InstanceMessageFlowEnum = {}));
74
+ var EInstanceMessageFlow;
75
+ (function (EInstanceMessageFlow) {
76
+ EInstanceMessageFlow["IMMEDIATE"] = "immediate";
77
+ EInstanceMessageFlow["REQUEST"] = "request";
78
+ EInstanceMessageFlow["RESPONSE"] = "response";
79
+ EInstanceMessageFlow["UNSOLICITED"] = "unsolicited";
80
+ })(EInstanceMessageFlow || (exports.EInstanceMessageFlow = EInstanceMessageFlow = {}));
@@ -0,0 +1,7 @@
1
+ export interface LogConfig {
2
+ timestamp: boolean;
3
+ previous: boolean;
4
+ maxMessages: number;
5
+ fromStart: boolean;
6
+ startTime: number;
7
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,9 @@
1
+ import { IInstanceMessage } from './InstanceMessage';
2
+ export interface ILogMessage extends IInstanceMessage {
3
+ msgtype: 'logmessage';
4
+ timestamp?: Date;
5
+ text: string;
6
+ namespace: string;
7
+ pod: string;
8
+ container: string;
9
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,20 @@
1
+ export declare enum MetricsConfigModeEnum {
2
+ SNAPSHOT = "snapshot",
3
+ STREAM = "stream"
4
+ }
5
+ export interface MetricsConfig {
6
+ mode: MetricsConfigModeEnum;
7
+ aggregate: boolean;
8
+ interval: number;
9
+ metrics: string[];
10
+ }
11
+ export declare enum EMetricsConfigMode {
12
+ SNAPSHOT = "snapshot",
13
+ STREAM = "stream"
14
+ }
15
+ export interface IMetricsConfig {
16
+ mode: MetricsConfigModeEnum;
17
+ aggregate: boolean;
18
+ interval: number;
19
+ metrics: string[];
20
+ }
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EMetricsConfigMode = exports.MetricsConfigModeEnum = void 0;
4
+ //transient
5
+ var MetricsConfigModeEnum;
6
+ (function (MetricsConfigModeEnum) {
7
+ MetricsConfigModeEnum["SNAPSHOT"] = "snapshot";
8
+ MetricsConfigModeEnum["STREAM"] = "stream";
9
+ })(MetricsConfigModeEnum || (exports.MetricsConfigModeEnum = MetricsConfigModeEnum = {}));
10
+ var EMetricsConfigMode;
11
+ (function (EMetricsConfigMode) {
12
+ EMetricsConfigMode["SNAPSHOT"] = "snapshot";
13
+ EMetricsConfigMode["STREAM"] = "stream";
14
+ })(EMetricsConfigMode || (exports.EMetricsConfigMode = EMetricsConfigMode = {}));
@@ -0,0 +1,46 @@
1
+ import { IInstanceMessage } from "./InstanceMessage";
2
+ export interface AssetMetrics {
3
+ assetName: string;
4
+ values: {
5
+ metricName: string;
6
+ metricValue: number;
7
+ }[];
8
+ }
9
+ export interface MetricsMessage extends IInstanceMessage {
10
+ msgtype: 'metricsmessage';
11
+ assets: AssetMetrics[];
12
+ timestamp: number;
13
+ namespace: string;
14
+ pod: string;
15
+ container: string;
16
+ }
17
+ export interface IMetricsMessage extends IInstanceMessage {
18
+ msgtype: 'metricsmessage';
19
+ assets: AssetMetrics[];
20
+ timestamp: number;
21
+ namespace: string;
22
+ group: string;
23
+ pod: string;
24
+ container: string;
25
+ command?: string;
26
+ id?: string;
27
+ }
28
+ export interface IMetricsAssetsValue {
29
+ metricName: string;
30
+ metricValue: number;
31
+ }
32
+ export interface IMetricsAssets {
33
+ assetName: string;
34
+ values: IMetricsAssetsValue[];
35
+ }
36
+ export interface IMetricsMessageResponse extends IInstanceMessage {
37
+ msgtype: 'metricsmessageresponse';
38
+ id?: string;
39
+ command?: string;
40
+ timestamp: number;
41
+ namespace: string;
42
+ group: string;
43
+ pod: string;
44
+ container: string;
45
+ assets: IMetricsAssets[];
46
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,2 @@
1
+ export interface OpsConfig {
2
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,30 @@
1
+ import { IInstanceMessage } from "./InstanceMessage";
2
+ export declare enum EOpsCommand {
3
+ DESCRIBE = "describe",
4
+ EXECUTE = "execute",
5
+ RESTART = "restart",
6
+ RESTARTPOD = "restartpod",
7
+ RESTARTNS = "restartns"
8
+ }
9
+ export interface IOpsMessage extends IInstanceMessage {
10
+ msgtype: 'opsmessage';
11
+ id: string;
12
+ accessKey: string;
13
+ instance: string;
14
+ namespace: string;
15
+ group: string;
16
+ pod: string;
17
+ container: string;
18
+ command: EOpsCommand;
19
+ params?: string[];
20
+ }
21
+ export interface IOpsMessageResponse extends IInstanceMessage {
22
+ msgtype: 'opsmessageresponse';
23
+ id: string;
24
+ command: EOpsCommand;
25
+ namespace: string;
26
+ group: string;
27
+ pod: string;
28
+ container: string;
29
+ data?: any;
30
+ }
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EOpsCommand = void 0;
4
+ var EOpsCommand;
5
+ (function (EOpsCommand) {
6
+ EOpsCommand["DESCRIBE"] = "describe";
7
+ EOpsCommand["EXECUTE"] = "execute";
8
+ EOpsCommand["RESTART"] = "restart";
9
+ EOpsCommand["RESTARTPOD"] = "restartpod";
10
+ EOpsCommand["RESTARTNS"] = "restartns";
11
+ })(EOpsCommand || (exports.EOpsCommand = EOpsCommand = {}));
@@ -0,0 +1,11 @@
1
+ import { IInstanceMessage } from "./InstanceMessage";
2
+ export interface IRouteMessage extends IInstanceMessage {
3
+ msgtype: 'routemessage';
4
+ accessKey: string;
5
+ destChannel: string;
6
+ data: any;
7
+ }
8
+ export interface IRouteMessageResponse extends IInstanceMessage {
9
+ msgtype: 'routemessageresponse';
10
+ data?: any;
11
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,31 @@
1
+ import { IInstanceMessage } from './InstanceMessage';
2
+ export declare enum SignalMessageLevelEnum {
3
+ INFO = "info",
4
+ WARNING = "warning",
5
+ ERROR = "error"
6
+ }
7
+ export declare enum SignalMessageEventEnum {
8
+ ADD = "add",
9
+ DELETE = "delete",
10
+ OTHER = "other"
11
+ }
12
+ export declare enum ESignalMessageLevel {
13
+ INFO = "info",
14
+ WARNING = "warning",
15
+ ERROR = "error"
16
+ }
17
+ export declare enum ESignalMessageEvent {
18
+ ADD = "add",
19
+ DELETE = "delete",
20
+ OTHER = "other"
21
+ }
22
+ export interface ISignalMessage extends IInstanceMessage {
23
+ timestamp?: Date;
24
+ namespace?: string;
25
+ pod?: string;
26
+ container?: string;
27
+ level: ESignalMessageLevel;
28
+ data?: any;
29
+ text?: string;
30
+ event?: ESignalMessageEvent;
31
+ }
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ESignalMessageEvent = exports.ESignalMessageLevel = exports.SignalMessageEventEnum = exports.SignalMessageLevelEnum = void 0;
4
+ // transient
5
+ var SignalMessageLevelEnum;
6
+ (function (SignalMessageLevelEnum) {
7
+ SignalMessageLevelEnum["INFO"] = "info";
8
+ SignalMessageLevelEnum["WARNING"] = "warning";
9
+ SignalMessageLevelEnum["ERROR"] = "error";
10
+ })(SignalMessageLevelEnum || (exports.SignalMessageLevelEnum = SignalMessageLevelEnum = {}));
11
+ // transient
12
+ var SignalMessageEventEnum;
13
+ (function (SignalMessageEventEnum) {
14
+ SignalMessageEventEnum["ADD"] = "add";
15
+ SignalMessageEventEnum["DELETE"] = "delete";
16
+ SignalMessageEventEnum["OTHER"] = "other";
17
+ })(SignalMessageEventEnum || (exports.SignalMessageEventEnum = SignalMessageEventEnum = {}));
18
+ var ESignalMessageLevel;
19
+ (function (ESignalMessageLevel) {
20
+ ESignalMessageLevel["INFO"] = "info";
21
+ ESignalMessageLevel["WARNING"] = "warning";
22
+ ESignalMessageLevel["ERROR"] = "error";
23
+ })(ESignalMessageLevel || (exports.ESignalMessageLevel = ESignalMessageLevel = {}));
24
+ var ESignalMessageEvent;
25
+ (function (ESignalMessageEvent) {
26
+ ESignalMessageEvent["ADD"] = "add";
27
+ ESignalMessageEvent["DELETE"] = "delete";
28
+ ESignalMessageEvent["OTHER"] = "other";
29
+ })(ESignalMessageEvent || (exports.ESignalMessageEvent = ESignalMessageEvent = {}));
File without changes
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ // export interface TrivyConfig {
3
+ // maxCritical:number
4
+ // maxHigh:number
5
+ // maxMedium:number
6
+ // maxLow:number
7
+ // }
File without changes
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ //import { IInstanceMessage } from "./InstanceMessage"
3
+ // export enum ETrivyCommand {
4
+ // RESCAN = 'rescan'
5
+ // }
6
+ // export interface ITrivyMessage extends IInstanceMessage {
7
+ // msgtype: 'trivymessage'
8
+ // id: string
9
+ // accessKey: string
10
+ // instance: string
11
+ // namespace: string
12
+ // group: string
13
+ // pod:string
14
+ // container: string
15
+ // command: ETrivyCommand
16
+ // params?: string[]
17
+ // }
18
+ // export interface ITrivyMessageResponse extends IInstanceMessage {
19
+ // msgtype: 'trivymessageresponse'
20
+ // id: string
21
+ // namespace: string
22
+ // group: string
23
+ // pod: string
24
+ // container: string
25
+ // msgsubtype?: string
26
+ // data?: any
27
+ // }
28
+ // export interface IUnknown {
29
+ // name: string
30
+ // namespace: string
31
+ // container: string
32
+ // statusCode: number
33
+ // statusMessage: string
34
+ // }
35
+ // export interface IKnown {
36
+ // name: string
37
+ // namespace: string
38
+ // container: string
39
+ // report: any
40
+ // }
@@ -0,0 +1,9 @@
1
+ /**
2
+ *
3
+ * @param version1 version to check against a specifi level
4
+ * @param version2 level you want to compare to
5
+ * @returns true if version1 version is higher than version2
6
+ */
7
+ declare const versionGreatOrEqualThan: (version1: string, version2: string) => boolean;
8
+ declare const versionGreaterThan: (version1: string, version2: string) => boolean;
9
+ export { versionGreatOrEqualThan, versionGreaterThan };
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ /*
3
+ Copyright 2024 Julio Fernandez
4
+
5
+ Licensed under the Apache License, Version 2.0 (the "License");
6
+ you may not use this file except in compliance with the License.
7
+ You may obtain a copy of the License at
8
+
9
+ http://www.apache.org/licenses/LICENSE-2.0
10
+
11
+ Unless required by applicable law or agreed to in writing, software
12
+ distributed under the License is distributed on an "AS IS" BASIS,
13
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ See the License for the specific language governing permissions and
15
+ limitations under the License.
16
+ */
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.versionGreaterThan = exports.versionGreatOrEqualThan = void 0;
19
+ /**
20
+ *
21
+ * @param version1 version to check against a specifi level
22
+ * @param version2 level you want to compare to
23
+ * @returns true if version1 version is higher than version2
24
+ */
25
+ // const versionGreatOrEqualThan = (version1: string, version2: string): boolean => {
26
+ // const v1 = version1.split('.').map(Number)
27
+ // const v2 = version2.split('.').map(Number)
28
+ // for (let i = 0; i < Math.max(v1.length, v2.length); i++) {
29
+ // const num1 = v1[i] || 0
30
+ // const num2 = v2[i] || 0
31
+ // if (num1 > num2)
32
+ // return true
33
+ // else if (num1 < num2)
34
+ // return false
35
+ // }
36
+ // // versions are equal
37
+ // return true
38
+ // }
39
+ const versionGreatOrEqualThan = (version1, version2) => {
40
+ return versionGreaterThan(version1, version2) || (version1 === version2);
41
+ };
42
+ exports.versionGreatOrEqualThan = versionGreatOrEqualThan;
43
+ const versionGreaterThan = (version1, version2) => {
44
+ const v1 = version1.split('.').map(Number);
45
+ const v2 = version2.split('.').map(Number);
46
+ for (let i = 0; i < Math.max(v1.length, v2.length); i++) {
47
+ const num1 = v1[i] || 0;
48
+ const num2 = v2[i] || 0;
49
+ if (num1 > num2)
50
+ return true;
51
+ else if (num1 < num2)
52
+ return false;
53
+ }
54
+ // versions are equal
55
+ return false;
56
+ };
57
+ exports.versionGreaterThan = versionGreaterThan;
@@ -0,0 +1,20 @@
1
+ export * from './Channel';
2
+ export * from './InstanceMessage';
3
+ export * from './InstanceConfig';
4
+ export * from './AlertMessage';
5
+ export * from './AlertInstanceConfig';
6
+ export * from './EchoMessage';
7
+ export * from './EchoInstanceConfig';
8
+ export * from './LogInstanceConfig';
9
+ export * from './LogMessage';
10
+ export * from './MetricsMessage';
11
+ export * from './MetricsInstanceConfig';
12
+ export * from './OpsMessage';
13
+ export * from './OpsInstanceConfig';
14
+ export * from './RouteMessage';
15
+ export * from './SignalMessage';
16
+ export * from './ApiKey';
17
+ export * from './AccessKey';
18
+ export * from './Global';
19
+ export * from './LogInstanceConfig';
20
+ export * from './Version';
package/dist/index.js ADDED
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ /*
18
+ Copyright 2024 Julio Fernandez
19
+
20
+ Licensed under the Apache License, Version 2.0 (the "License");
21
+ you may not use this file except in compliance with the License.
22
+ You may obtain a copy of the License at
23
+
24
+ http://www.apache.org/licenses/LICENSE-2.0
25
+
26
+ Unless required by applicable law or agreed to in writing, software
27
+ distributed under the License is distributed on an "AS IS" BASIS,
28
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
29
+ See the License for the specific language governing permissions and
30
+ limitations under the License.
31
+ */
32
+ __exportStar(require("./Channel"), exports);
33
+ __exportStar(require("./InstanceMessage"), exports);
34
+ __exportStar(require("./InstanceConfig"), exports);
35
+ __exportStar(require("./AlertMessage"), exports);
36
+ __exportStar(require("./AlertInstanceConfig"), exports);
37
+ __exportStar(require("./EchoMessage"), exports);
38
+ __exportStar(require("./EchoInstanceConfig"), exports);
39
+ __exportStar(require("./LogInstanceConfig"), exports);
40
+ __exportStar(require("./LogMessage"), exports);
41
+ __exportStar(require("./MetricsMessage"), exports);
42
+ __exportStar(require("./MetricsInstanceConfig"), exports);
43
+ __exportStar(require("./OpsMessage"), exports);
44
+ __exportStar(require("./OpsInstanceConfig"), exports);
45
+ // export * from './TrivyMessage'
46
+ // export * from './TrivyInstanceConfig'
47
+ __exportStar(require("./RouteMessage"), exports);
48
+ __exportStar(require("./SignalMessage"), exports);
49
+ __exportStar(require("./ApiKey"), exports);
50
+ __exportStar(require("./AccessKey"), exports);
51
+ __exportStar(require("./Global"), exports);
52
+ __exportStar(require("./LogInstanceConfig"), exports);
53
+ __exportStar(require("./Version"), exports);
package/package.json ADDED
@@ -0,0 +1,50 @@
1
+ {
2
+ "name": "@kwirthmagnify/kwirth-common",
3
+ "version": "0.4.49",
4
+ "description": "Common interfaces for integrating applications with Kwirth",
5
+ "scripts": {
6
+ "build": "del .\\dist\\* /s /q && tsc"
7
+ },
8
+ "publishConfig": {
9
+ "access": "public",
10
+ "main": "dist/index.js"
11
+ },
12
+ "main": "dist/index.js",
13
+ "module": "dist/index.js",
14
+ "types": "dist/index.d.ts",
15
+ "files": [
16
+ "dist"
17
+ ],
18
+ "repository": {
19
+ "type": "git",
20
+ "url": "git+https://github.com/kwirthmagnify/kwirth-common.git"
21
+ },
22
+ "keywords": [
23
+ "kwirth",
24
+ "kubernetes",
25
+ "log",
26
+ "metrics",
27
+ "alert",
28
+ "trivy",
29
+ "operations",
30
+ "shell",
31
+ "observability",
32
+ "kubelog",
33
+ "kwirth-log",
34
+ "kwirthlog",
35
+ "kwirth-metrics",
36
+ "kwirthmetrics"
37
+ ],
38
+ "author": "Julio Fernandez",
39
+ "license": "ISC",
40
+ "bugs": {
41
+ "url": "https://github.com/kwirthmagnify/kwirth-common/issues"
42
+ },
43
+ "homepage": "https://github.com/kwirthmagnify/kwirth-common#readme",
44
+ "dependencies": {
45
+ "uuid": "^11.1.0"
46
+ },
47
+ "devDependencies": {
48
+ "typescript": "^5.8.3"
49
+ }
50
+ }