@oneuptime/common 10.0.84 → 10.0.85
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/Models/DatabaseModels/Index.ts +2 -0
- package/Models/DatabaseModels/KubernetesContainer.ts +552 -0
- package/Models/DatabaseModels/KubernetesResource.ts +130 -0
- package/Models/DatabaseModels/LlmLog.ts +2 -1
- package/Models/DatabaseModels/LlmProvider.ts +5 -4
- package/Models/DatabaseModels/Project.ts +40 -0
- package/Server/API/KubernetesResourceAPI.ts +144 -12
- package/Server/Infrastructure/Postgres/SchemaMigrations/1777550162848-MigrationName.ts +29 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1777571961028-MigrationName.ts +99 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +4 -0
- package/Server/Infrastructure/Queue.ts +60 -0
- package/Server/Infrastructure/QueueWorker.ts +39 -1
- package/Server/Middleware/HttpMetricsMiddleware.ts +92 -0
- package/Server/Services/AuditLogService.ts +19 -1
- package/Server/Services/KubernetesContainerService.ts +264 -0
- package/Server/Services/KubernetesResourceService.ts +233 -0
- package/Server/Services/StatusPageSubscriberService.ts +4 -4
- package/Server/Types/Database/Permissions/AccessControlPermission.ts +3 -3
- package/Server/Utils/LLM/LLMService.ts +132 -11
- package/Server/Utils/Monitor/MonitorAlert.ts +1 -1
- package/Server/Utils/Monitor/MonitorIncident.ts +1 -1
- package/Server/Utils/StartServer.ts +2 -0
- package/Server/Utils/Telemetry/AppMetrics.ts +211 -0
- package/Server/Utils/Telemetry/RuntimeMetrics.ts +169 -0
- package/Server/Utils/Telemetry.ts +98 -0
- package/Server/Utils/Workspace/Slack/Actions/Alert.ts +2 -2
- package/Server/Utils/Workspace/Slack/Actions/Incident.ts +2 -2
- package/Server/Utils/Workspace/Slack/Actions/ScheduledMaintenance.ts +2 -2
- package/Tests/jest.setup.ts +18 -0
- package/Types/Kubernetes/KubernetesInventoryExtractor.ts +171 -5
- package/Types/LLM/LlmType.ts +3 -0
- package/UI/Components/Forms/ModelForm.tsx +3 -3
- package/UI/Components/LogsViewer/components/LogsAnalyticsView.tsx +2 -2
- package/Utils/UUID.ts +1 -3
- package/build/dist/Models/DatabaseModels/Index.js +2 -0
- package/build/dist/Models/DatabaseModels/Index.js.map +1 -1
- package/build/dist/Models/DatabaseModels/KubernetesContainer.js +581 -0
- package/build/dist/Models/DatabaseModels/KubernetesContainer.js.map +1 -0
- package/build/dist/Models/DatabaseModels/KubernetesResource.js +135 -0
- package/build/dist/Models/DatabaseModels/KubernetesResource.js.map +1 -1
- package/build/dist/Models/DatabaseModels/LlmLog.js +1 -1
- package/build/dist/Models/DatabaseModels/LlmLog.js.map +1 -1
- package/build/dist/Models/DatabaseModels/LlmProvider.js +4 -4
- package/build/dist/Models/DatabaseModels/LlmProvider.js.map +1 -1
- package/build/dist/Models/DatabaseModels/Project.js +41 -0
- package/build/dist/Models/DatabaseModels/Project.js.map +1 -1
- package/build/dist/Server/API/KubernetesResourceAPI.js +106 -9
- package/build/dist/Server/API/KubernetesResourceAPI.js.map +1 -1
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1777550162848-MigrationName.js +16 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1777550162848-MigrationName.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1777571961028-MigrationName.js +40 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1777571961028-MigrationName.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +4 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
- package/build/dist/Server/Infrastructure/Queue.js +44 -0
- package/build/dist/Server/Infrastructure/Queue.js.map +1 -1
- package/build/dist/Server/Infrastructure/QueueWorker.js +31 -1
- package/build/dist/Server/Infrastructure/QueueWorker.js.map +1 -1
- package/build/dist/Server/Middleware/HttpMetricsMiddleware.js +61 -0
- package/build/dist/Server/Middleware/HttpMetricsMiddleware.js.map +1 -0
- package/build/dist/Server/Services/AuditLogService.js +14 -1
- package/build/dist/Server/Services/AuditLogService.js.map +1 -1
- package/build/dist/Server/Services/KubernetesContainerService.js +179 -0
- package/build/dist/Server/Services/KubernetesContainerService.js.map +1 -0
- package/build/dist/Server/Services/KubernetesResourceService.js +175 -0
- package/build/dist/Server/Services/KubernetesResourceService.js.map +1 -1
- package/build/dist/Server/Services/StatusPageSubscriberService.js +4 -4
- package/build/dist/Server/Services/StatusPageSubscriberService.js.map +1 -1
- package/build/dist/Server/Types/Database/Permissions/AccessControlPermission.js +3 -3
- package/build/dist/Server/Utils/LLM/LLMService.js +111 -13
- package/build/dist/Server/Utils/LLM/LLMService.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/MonitorAlert.js +1 -1
- package/build/dist/Server/Utils/Monitor/MonitorAlert.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/MonitorIncident.js +1 -1
- package/build/dist/Server/Utils/Monitor/MonitorIncident.js.map +1 -1
- package/build/dist/Server/Utils/StartServer.js +2 -0
- package/build/dist/Server/Utils/StartServer.js.map +1 -1
- package/build/dist/Server/Utils/Telemetry/AppMetrics.js +167 -0
- package/build/dist/Server/Utils/Telemetry/AppMetrics.js.map +1 -0
- package/build/dist/Server/Utils/Telemetry/RuntimeMetrics.js +141 -0
- package/build/dist/Server/Utils/Telemetry/RuntimeMetrics.js.map +1 -0
- package/build/dist/Server/Utils/Telemetry.js +47 -0
- package/build/dist/Server/Utils/Telemetry.js.map +1 -1
- package/build/dist/Server/Utils/Workspace/Slack/Actions/Alert.js +2 -2
- package/build/dist/Server/Utils/Workspace/Slack/Actions/Incident.js +2 -2
- package/build/dist/Server/Utils/Workspace/Slack/Actions/ScheduledMaintenance.js +2 -2
- package/build/dist/Tests/jest.setup.js +17 -0
- package/build/dist/Tests/jest.setup.js.map +1 -1
- package/build/dist/Types/Kubernetes/KubernetesInventoryExtractor.js +116 -4
- package/build/dist/Types/Kubernetes/KubernetesInventoryExtractor.js.map +1 -1
- package/build/dist/Types/LLM/LlmType.js +3 -0
- package/build/dist/Types/LLM/LlmType.js.map +1 -1
- package/build/dist/UI/Components/Forms/ModelForm.js +3 -3
- package/build/dist/UI/Components/LogsViewer/components/LogsAnalyticsView.js.map +1 -1
- package/build/dist/Utils/UUID.js +1 -2
- package/build/dist/Utils/UUID.js.map +1 -1
- package/package.json +6 -8
|
@@ -6,6 +6,12 @@ import OpenTelemetryAPI, {
|
|
|
6
6
|
*/
|
|
7
7
|
Meter,
|
|
8
8
|
type AttributeValue,
|
|
9
|
+
type Attributes,
|
|
10
|
+
type ObservableCounter,
|
|
11
|
+
type ObservableGauge,
|
|
12
|
+
type ObservableResult,
|
|
13
|
+
type ObservableUpDownCounter,
|
|
14
|
+
type UpDownCounter,
|
|
9
15
|
} from "@opentelemetry/api";
|
|
10
16
|
import { Logger, logs } from "@opentelemetry/api-logs";
|
|
11
17
|
import {
|
|
@@ -42,6 +48,7 @@ import URL from "../../Types/API/URL";
|
|
|
42
48
|
import Dictionary from "../../Types/Dictionary";
|
|
43
49
|
import { AppVersion, Env, DisableTelemetry } from "../EnvironmentConfig";
|
|
44
50
|
import logger from "./Logger";
|
|
51
|
+
import RuntimeMetrics from "./Telemetry/RuntimeMetrics";
|
|
45
52
|
|
|
46
53
|
type ResourceWithRawAttributes = LogsResource & {
|
|
47
54
|
getRawAttributes?: () => Array<[string, AttributeValue | undefined]>;
|
|
@@ -59,6 +66,16 @@ export type SpanOptions = opentelemetry.api.SpanOptions;
|
|
|
59
66
|
export type TelemetryLogger = Logger;
|
|
60
67
|
export type TelemetryAttributes = opentelemetry.api.Attributes;
|
|
61
68
|
export type TelemetryCounter = Counter<opentelemetry.api.Attributes>;
|
|
69
|
+
export type TelemetryHistogram = Histogram<opentelemetry.api.Attributes>;
|
|
70
|
+
export type TelemetryUpDownCounter =
|
|
71
|
+
UpDownCounter<opentelemetry.api.Attributes>;
|
|
72
|
+
export type TelemetryObservableGauge = ObservableGauge<Attributes>;
|
|
73
|
+
export type TelemetryObservableCounter = ObservableCounter<Attributes>;
|
|
74
|
+
export type TelemetryObservableUpDownCounter =
|
|
75
|
+
ObservableUpDownCounter<Attributes>;
|
|
76
|
+
export type TelemetryObservableCallback = (
|
|
77
|
+
result: ObservableResult<Attributes>,
|
|
78
|
+
) => void | Promise<void>;
|
|
62
79
|
|
|
63
80
|
export enum SpanStatusCode {
|
|
64
81
|
UNSET = 0,
|
|
@@ -286,6 +303,13 @@ export default class Telemetry {
|
|
|
286
303
|
sdk.start();
|
|
287
304
|
|
|
288
305
|
this.sdk = sdk;
|
|
306
|
+
|
|
307
|
+
try {
|
|
308
|
+
RuntimeMetrics.init();
|
|
309
|
+
} catch (err) {
|
|
310
|
+
logger.error("Failed to initialize runtime metrics");
|
|
311
|
+
logger.error(err);
|
|
312
|
+
}
|
|
289
313
|
}
|
|
290
314
|
|
|
291
315
|
return this.sdk;
|
|
@@ -389,6 +413,80 @@ export default class Telemetry {
|
|
|
389
413
|
return histogram;
|
|
390
414
|
}
|
|
391
415
|
|
|
416
|
+
public static getObservableGauge(data: {
|
|
417
|
+
name: string;
|
|
418
|
+
description: string;
|
|
419
|
+
unit?: string;
|
|
420
|
+
callback: TelemetryObservableCallback;
|
|
421
|
+
}): TelemetryObservableGauge {
|
|
422
|
+
const metricOptions: MetricOptions = {
|
|
423
|
+
description: data.description,
|
|
424
|
+
};
|
|
425
|
+
|
|
426
|
+
if (data.unit) {
|
|
427
|
+
metricOptions.unit = data.unit;
|
|
428
|
+
}
|
|
429
|
+
|
|
430
|
+
const gauge: TelemetryObservableGauge =
|
|
431
|
+
this.getMeter().createObservableGauge(data.name, metricOptions);
|
|
432
|
+
|
|
433
|
+
gauge.addCallback(data.callback);
|
|
434
|
+
|
|
435
|
+
return gauge;
|
|
436
|
+
}
|
|
437
|
+
|
|
438
|
+
public static getObservableCounter(data: {
|
|
439
|
+
name: string;
|
|
440
|
+
description: string;
|
|
441
|
+
unit?: string;
|
|
442
|
+
callback: TelemetryObservableCallback;
|
|
443
|
+
}): TelemetryObservableCounter {
|
|
444
|
+
const metricOptions: MetricOptions = {
|
|
445
|
+
description: data.description,
|
|
446
|
+
};
|
|
447
|
+
|
|
448
|
+
if (data.unit) {
|
|
449
|
+
metricOptions.unit = data.unit;
|
|
450
|
+
}
|
|
451
|
+
|
|
452
|
+
const counter: TelemetryObservableCounter =
|
|
453
|
+
this.getMeter().createObservableCounter(data.name, metricOptions);
|
|
454
|
+
|
|
455
|
+
counter.addCallback(data.callback);
|
|
456
|
+
|
|
457
|
+
return counter;
|
|
458
|
+
}
|
|
459
|
+
|
|
460
|
+
public static getObservableUpDownCounter(data: {
|
|
461
|
+
name: string;
|
|
462
|
+
description: string;
|
|
463
|
+
unit?: string;
|
|
464
|
+
callback: TelemetryObservableCallback;
|
|
465
|
+
}): TelemetryObservableUpDownCounter {
|
|
466
|
+
const metricOptions: MetricOptions = {
|
|
467
|
+
description: data.description,
|
|
468
|
+
};
|
|
469
|
+
|
|
470
|
+
if (data.unit) {
|
|
471
|
+
metricOptions.unit = data.unit;
|
|
472
|
+
}
|
|
473
|
+
|
|
474
|
+
const counter: TelemetryObservableUpDownCounter =
|
|
475
|
+
this.getMeter().createObservableUpDownCounter(data.name, metricOptions);
|
|
476
|
+
|
|
477
|
+
counter.addCallback(data.callback);
|
|
478
|
+
|
|
479
|
+
return counter;
|
|
480
|
+
}
|
|
481
|
+
|
|
482
|
+
public static isMetricsEnabled(): boolean {
|
|
483
|
+
if (DisableTelemetry) {
|
|
484
|
+
return false;
|
|
485
|
+
}
|
|
486
|
+
|
|
487
|
+
return Boolean(this.metricReader);
|
|
488
|
+
}
|
|
489
|
+
|
|
392
490
|
public static getTracer(): opentelemetry.api.Tracer {
|
|
393
491
|
const tracer: opentelemetry.api.Tracer =
|
|
394
492
|
OpenTelemetryAPI.trace.getTracer("default");
|
|
@@ -172,7 +172,7 @@ export default class SlackAlertActions {
|
|
|
172
172
|
return;
|
|
173
173
|
}
|
|
174
174
|
|
|
175
|
-
//
|
|
175
|
+
// invalid action type.
|
|
176
176
|
return Response.sendErrorResponse(
|
|
177
177
|
req,
|
|
178
178
|
res,
|
|
@@ -263,7 +263,7 @@ export default class SlackAlertActions {
|
|
|
263
263
|
return;
|
|
264
264
|
}
|
|
265
265
|
|
|
266
|
-
//
|
|
266
|
+
// invalid action type.
|
|
267
267
|
return Response.sendErrorResponse(
|
|
268
268
|
req,
|
|
269
269
|
res,
|
|
@@ -629,7 +629,7 @@ export default class SlackIncidentActions {
|
|
|
629
629
|
return;
|
|
630
630
|
}
|
|
631
631
|
|
|
632
|
-
//
|
|
632
|
+
// invalid action type.
|
|
633
633
|
return Response.sendErrorResponse(
|
|
634
634
|
req,
|
|
635
635
|
res,
|
|
@@ -724,7 +724,7 @@ export default class SlackIncidentActions {
|
|
|
724
724
|
return;
|
|
725
725
|
}
|
|
726
726
|
|
|
727
|
-
//
|
|
727
|
+
// invalid action type.
|
|
728
728
|
return Response.sendErrorResponse(
|
|
729
729
|
req,
|
|
730
730
|
res,
|
|
@@ -638,7 +638,7 @@ export default class SlackScheduledMaintenanceActions {
|
|
|
638
638
|
return;
|
|
639
639
|
}
|
|
640
640
|
|
|
641
|
-
//
|
|
641
|
+
// invalid action type.
|
|
642
642
|
return Response.sendErrorResponse(
|
|
643
643
|
req,
|
|
644
644
|
res,
|
|
@@ -774,7 +774,7 @@ export default class SlackScheduledMaintenanceActions {
|
|
|
774
774
|
return;
|
|
775
775
|
}
|
|
776
776
|
|
|
777
|
-
//
|
|
777
|
+
// invalid action type.
|
|
778
778
|
return Response.sendErrorResponse(
|
|
779
779
|
req,
|
|
780
780
|
res,
|
package/Tests/jest.setup.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import "@testing-library/jest-dom";
|
|
2
2
|
import { TextEncoder, TextDecoder } from "util";
|
|
3
|
+
import { webcrypto, randomUUID } from "crypto";
|
|
3
4
|
|
|
4
5
|
// Polyfill TextEncoder/TextDecoder for jsdom
|
|
5
6
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
@@ -7,6 +8,23 @@ import { TextEncoder, TextDecoder } from "util";
|
|
|
7
8
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
8
9
|
(global as any).TextDecoder = TextDecoder;
|
|
9
10
|
|
|
11
|
+
/*
|
|
12
|
+
* jsdom does not expose crypto.randomUUID, so back it with Node's webcrypto
|
|
13
|
+
* (UUID.ts calls globalThis.crypto.randomUUID() to stay browser-bundle-safe).
|
|
14
|
+
*/
|
|
15
|
+
if (!globalThis.crypto) {
|
|
16
|
+
Object.defineProperty(globalThis, "crypto", {
|
|
17
|
+
value: webcrypto,
|
|
18
|
+
configurable: true,
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
if (typeof globalThis.crypto.randomUUID !== "function") {
|
|
22
|
+
Object.defineProperty(globalThis.crypto, "randomUUID", {
|
|
23
|
+
value: randomUUID,
|
|
24
|
+
configurable: true,
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
|
|
10
28
|
// Mock window.scrollTo for jsdom
|
|
11
29
|
Object.defineProperty(window, "scrollTo", {
|
|
12
30
|
value: jest.fn(),
|
|
@@ -14,6 +14,8 @@ import {
|
|
|
14
14
|
KubernetesVPAObject,
|
|
15
15
|
KubernetesObjectMetadata,
|
|
16
16
|
KubernetesCondition,
|
|
17
|
+
KubernetesContainerSpec,
|
|
18
|
+
KubernetesContainerStatus,
|
|
17
19
|
parsePodObject,
|
|
18
20
|
parseNodeObject,
|
|
19
21
|
parseDeploymentObject,
|
|
@@ -61,6 +63,23 @@ type AnyKubernetesObject =
|
|
|
61
63
|
| KubernetesHPAObject
|
|
62
64
|
| KubernetesVPAObject;
|
|
63
65
|
|
|
66
|
+
/**
|
|
67
|
+
* Row-shaped payload for KubernetesContainer upserts. One row per
|
|
68
|
+
* container inside a Pod's spec.
|
|
69
|
+
*/
|
|
70
|
+
export interface ParsedKubernetesContainerRow {
|
|
71
|
+
podNamespaceKey: string;
|
|
72
|
+
podName: string;
|
|
73
|
+
name: string;
|
|
74
|
+
image: string | null;
|
|
75
|
+
state: string | null;
|
|
76
|
+
reason: string | null;
|
|
77
|
+
isReady: boolean | null;
|
|
78
|
+
restartCount: number | null;
|
|
79
|
+
memoryLimitBytes: number | null;
|
|
80
|
+
lastSeenAt: Date;
|
|
81
|
+
}
|
|
82
|
+
|
|
64
83
|
/**
|
|
65
84
|
* Row-shaped payload for KubernetesResource upserts. Mirrors the
|
|
66
85
|
* columns of the KubernetesResource Postgres model.
|
|
@@ -130,6 +149,132 @@ export const INVENTORIED_RESOURCE_TYPES: ReadonlyArray<string> = [
|
|
|
130
149
|
"verticalpodautoscalers",
|
|
131
150
|
];
|
|
132
151
|
|
|
152
|
+
/*
|
|
153
|
+
* Parse a Kubernetes memory string ("256Mi", "1Gi", "512M", "2G") to
|
|
154
|
+
* bytes. Returns null when the input is empty or unparseable so
|
|
155
|
+
* callers can leave memoryLimitBytes null rather than store a wrong
|
|
156
|
+
* number.
|
|
157
|
+
*/
|
|
158
|
+
function parseMemoryStringToBytes(value: string | undefined): number | null {
|
|
159
|
+
if (!value) {
|
|
160
|
+
return null;
|
|
161
|
+
}
|
|
162
|
+
const match: RegExpMatchArray | null = value
|
|
163
|
+
.trim()
|
|
164
|
+
.match(/^([0-9]*\.?[0-9]+)\s*([A-Za-z]+)?$/);
|
|
165
|
+
if (!match) {
|
|
166
|
+
return null;
|
|
167
|
+
}
|
|
168
|
+
const num: number = parseFloat(match[1] || "");
|
|
169
|
+
if (isNaN(num)) {
|
|
170
|
+
return null;
|
|
171
|
+
}
|
|
172
|
+
const unit: string = (match[2] || "").trim();
|
|
173
|
+
|
|
174
|
+
// Binary units (Kubernetes default for limits).
|
|
175
|
+
if (unit === "Ki") {
|
|
176
|
+
return Math.round(num * 1024);
|
|
177
|
+
}
|
|
178
|
+
if (unit === "Mi") {
|
|
179
|
+
return Math.round(num * 1024 * 1024);
|
|
180
|
+
}
|
|
181
|
+
if (unit === "Gi") {
|
|
182
|
+
return Math.round(num * 1024 * 1024 * 1024);
|
|
183
|
+
}
|
|
184
|
+
if (unit === "Ti") {
|
|
185
|
+
return Math.round(num * 1024 * 1024 * 1024 * 1024);
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
// Decimal units.
|
|
189
|
+
if (unit === "K" || unit === "k") {
|
|
190
|
+
return Math.round(num * 1000);
|
|
191
|
+
}
|
|
192
|
+
if (unit === "M") {
|
|
193
|
+
return Math.round(num * 1000 * 1000);
|
|
194
|
+
}
|
|
195
|
+
if (unit === "G") {
|
|
196
|
+
return Math.round(num * 1000 * 1000 * 1000);
|
|
197
|
+
}
|
|
198
|
+
if (unit === "T") {
|
|
199
|
+
return Math.round(num * 1000 * 1000 * 1000 * 1000);
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
// No unit -> raw bytes.
|
|
203
|
+
if (unit === "") {
|
|
204
|
+
return Math.round(num);
|
|
205
|
+
}
|
|
206
|
+
return null;
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
/**
|
|
210
|
+
* Build per-container rows from a parsed Pod object. The state +
|
|
211
|
+
* reason + ready + restartCount columns are taken from
|
|
212
|
+
* status.containerStatuses (matched by container name). When status
|
|
213
|
+
* hasn't been observed yet (newly scheduled pod) those fields stay
|
|
214
|
+
* null.
|
|
215
|
+
*/
|
|
216
|
+
export function extractContainersFromPod(data: {
|
|
217
|
+
parsedPod: KubernetesPodObject;
|
|
218
|
+
lastSeenAt: Date;
|
|
219
|
+
}): Array<ParsedKubernetesContainerRow> {
|
|
220
|
+
const meta: KubernetesObjectMetadata = data.parsedPod.metadata;
|
|
221
|
+
if (!meta || !meta.name) {
|
|
222
|
+
return [];
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
const podNamespaceKey: string = meta.namespace || "";
|
|
226
|
+
const podName: string = meta.name;
|
|
227
|
+
|
|
228
|
+
const specContainers: Array<KubernetesContainerSpec> = Array.isArray(
|
|
229
|
+
data.parsedPod.spec?.containers,
|
|
230
|
+
)
|
|
231
|
+
? data.parsedPod.spec.containers
|
|
232
|
+
: [];
|
|
233
|
+
const statusList: Array<KubernetesContainerStatus> = Array.isArray(
|
|
234
|
+
data.parsedPod.status?.containerStatuses,
|
|
235
|
+
)
|
|
236
|
+
? data.parsedPod.status.containerStatuses
|
|
237
|
+
: [];
|
|
238
|
+
|
|
239
|
+
const statusByName: Map<string, KubernetesContainerStatus> = new Map();
|
|
240
|
+
for (const cs of statusList) {
|
|
241
|
+
if (cs && typeof cs.name === "string" && cs.name) {
|
|
242
|
+
statusByName.set(cs.name, cs);
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
|
|
246
|
+
const rows: Array<ParsedKubernetesContainerRow> = [];
|
|
247
|
+
for (const container of specContainers) {
|
|
248
|
+
const containerName: string = container?.name || "";
|
|
249
|
+
if (!containerName) {
|
|
250
|
+
continue;
|
|
251
|
+
}
|
|
252
|
+
const cs: KubernetesContainerStatus | undefined =
|
|
253
|
+
statusByName.get(containerName);
|
|
254
|
+
|
|
255
|
+
const memLimitRaw: string | undefined =
|
|
256
|
+
container.resources?.limits?.["memory"];
|
|
257
|
+
const memoryLimitBytes: number | null =
|
|
258
|
+
parseMemoryStringToBytes(memLimitRaw);
|
|
259
|
+
|
|
260
|
+
rows.push({
|
|
261
|
+
podNamespaceKey,
|
|
262
|
+
podName,
|
|
263
|
+
name: containerName,
|
|
264
|
+
image: container.image || (cs ? cs.image || null : null) || null,
|
|
265
|
+
state: cs && typeof cs.state === "string" ? cs.state : null,
|
|
266
|
+
reason:
|
|
267
|
+
cs && typeof cs.reason === "string" && cs.reason ? cs.reason : null,
|
|
268
|
+
isReady: cs ? Boolean(cs.ready) : null,
|
|
269
|
+
restartCount:
|
|
270
|
+
cs && typeof cs.restartCount === "number" ? cs.restartCount : null,
|
|
271
|
+
memoryLimitBytes,
|
|
272
|
+
lastSeenAt: data.lastSeenAt,
|
|
273
|
+
});
|
|
274
|
+
}
|
|
275
|
+
return rows;
|
|
276
|
+
}
|
|
277
|
+
|
|
133
278
|
function parseCreationTimestamp(value: string | undefined): Date | null {
|
|
134
279
|
if (!value) {
|
|
135
280
|
return null;
|
|
@@ -227,17 +372,28 @@ function parseByResourceType(
|
|
|
227
372
|
}
|
|
228
373
|
}
|
|
229
374
|
|
|
375
|
+
/**
|
|
376
|
+
* Combined result of parsing one k8sobjects log record. The
|
|
377
|
+
* `resource` is the parent KubernetesResource row. `containers` is
|
|
378
|
+
* non-empty only when the record was a Pod, in which case it holds
|
|
379
|
+
* one row per spec.containers entry to upsert into KubernetesContainer.
|
|
380
|
+
*/
|
|
381
|
+
export interface ExtractedInventoryRecord {
|
|
382
|
+
resource: ParsedKubernetesResource;
|
|
383
|
+
containers: Array<ParsedKubernetesContainerRow>;
|
|
384
|
+
}
|
|
385
|
+
|
|
230
386
|
/**
|
|
231
387
|
* Parse a single OTLP log body string + its k8s.resource.name into a
|
|
232
|
-
* ParsedKubernetesResource
|
|
233
|
-
*
|
|
234
|
-
* fields.
|
|
388
|
+
* ParsedKubernetesResource (and, for Pod records, child container
|
|
389
|
+
* rows) ready for upsert. Returns null when the record is malformed,
|
|
390
|
+
* unsupported, or missing required identity fields.
|
|
235
391
|
*/
|
|
236
392
|
export function extractInventoryResource(data: {
|
|
237
393
|
resourceType: string;
|
|
238
394
|
logBody: string;
|
|
239
395
|
lastSeenAt: Date;
|
|
240
|
-
}):
|
|
396
|
+
}): ExtractedInventoryRecord | null {
|
|
241
397
|
const kind: string | null = kindFromResourceType(data.resourceType);
|
|
242
398
|
if (!kind) {
|
|
243
399
|
return null;
|
|
@@ -306,7 +462,7 @@ export function extractInventoryResource(data: {
|
|
|
306
462
|
status?: unknown;
|
|
307
463
|
};
|
|
308
464
|
|
|
309
|
-
|
|
465
|
+
const resource: ParsedKubernetesResource = {
|
|
310
466
|
kind,
|
|
311
467
|
namespaceKey: metadata.namespace || "",
|
|
312
468
|
name: metadata.name,
|
|
@@ -338,4 +494,14 @@ export function extractInventoryResource(data: {
|
|
|
338
494
|
metadata.creationTimestamp,
|
|
339
495
|
),
|
|
340
496
|
};
|
|
497
|
+
|
|
498
|
+
let containers: Array<ParsedKubernetesContainerRow> = [];
|
|
499
|
+
if (kind === "Pod") {
|
|
500
|
+
containers = extractContainersFromPod({
|
|
501
|
+
parsedPod: parsed as KubernetesPodObject,
|
|
502
|
+
lastSeenAt: data.lastSeenAt,
|
|
503
|
+
});
|
|
504
|
+
}
|
|
505
|
+
|
|
506
|
+
return { resource, containers };
|
|
341
507
|
}
|
package/Types/LLM/LlmType.ts
CHANGED
|
@@ -295,7 +295,7 @@ const ModelForm: <TBaseModel extends BaseModel>(
|
|
|
295
295
|
|
|
296
296
|
fieldsToSet = await fetchDropdownOptions(fieldsToSet);
|
|
297
297
|
|
|
298
|
-
// if there are no fields to set, then show permission
|
|
298
|
+
// if there are no fields to set, then show permission error. This is useful when there are no fields to show.
|
|
299
299
|
if (fieldsToSet.length === 0 && props.fields.length > 0) {
|
|
300
300
|
const field: ModelField<TBaseModel> | undefined = props.fields[0];
|
|
301
301
|
|
|
@@ -303,7 +303,7 @@ const ModelForm: <TBaseModel extends BaseModel>(
|
|
|
303
303
|
const fieldName: string | undefined = Object.keys(field.field || {})[0];
|
|
304
304
|
|
|
305
305
|
if (fieldName) {
|
|
306
|
-
const
|
|
306
|
+
const fieldPermissions: Array<Permission> =
|
|
307
307
|
getFieldPermissions(fieldName);
|
|
308
308
|
|
|
309
309
|
const columnMetadata: TableColumnMetadata =
|
|
@@ -312,7 +312,7 @@ const ModelForm: <TBaseModel extends BaseModel>(
|
|
|
312
312
|
setError(
|
|
313
313
|
`You don't have enough permissions to ${
|
|
314
314
|
props.formType === FormType.Create ? "create" : "edit"
|
|
315
|
-
} ${columnMetadata.title} on ${model.singularName}. You need one of the following permissions: ${
|
|
315
|
+
} ${columnMetadata.title} on ${model.singularName}. You need one of the following permissions: ${fieldPermissions.join(", ")}`,
|
|
316
316
|
);
|
|
317
317
|
}
|
|
318
318
|
}
|
|
@@ -685,13 +685,13 @@ const LogsAnalyticsView: FunctionComponent<LogsAnalyticsViewProps> = (
|
|
|
685
685
|
/>
|
|
686
686
|
<Area
|
|
687
687
|
dataKey={seriesKeys[0] || "count"}
|
|
688
|
-
stroke={CHART_COLORS[0]}
|
|
688
|
+
stroke={CHART_COLORS[0]!}
|
|
689
689
|
strokeWidth={2}
|
|
690
690
|
fill="url(#areaGradient0)"
|
|
691
691
|
dot={false}
|
|
692
692
|
activeDot={{
|
|
693
693
|
r: 4,
|
|
694
|
-
fill: CHART_COLORS[0]
|
|
694
|
+
fill: CHART_COLORS[0]!,
|
|
695
695
|
stroke: "#fff",
|
|
696
696
|
strokeWidth: 2,
|
|
697
697
|
}}
|
package/Utils/UUID.ts
CHANGED
|
@@ -4,6 +4,7 @@ import KubernetesCluster from "./KubernetesCluster";
|
|
|
4
4
|
import KubernetesClusterOwnerTeam from "./KubernetesClusterOwnerTeam";
|
|
5
5
|
import KubernetesClusterOwnerUser from "./KubernetesClusterOwnerUser";
|
|
6
6
|
import KubernetesResource from "./KubernetesResource";
|
|
7
|
+
import KubernetesContainer from "./KubernetesContainer";
|
|
7
8
|
import DockerHost from "./DockerHost";
|
|
8
9
|
import DockerHostOwnerTeam from "./DockerHostOwnerTeam";
|
|
9
10
|
import DockerHostOwnerUser from "./DockerHostOwnerUser";
|
|
@@ -465,6 +466,7 @@ const AllModelTypes = [
|
|
|
465
466
|
KubernetesClusterOwnerTeam,
|
|
466
467
|
KubernetesClusterOwnerUser,
|
|
467
468
|
KubernetesResource,
|
|
469
|
+
KubernetesContainer,
|
|
468
470
|
DockerHost,
|
|
469
471
|
DockerHostOwnerTeam,
|
|
470
472
|
DockerHostOwnerUser,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Index.js","sourceRoot":"","sources":["../../../../Models/DatabaseModels/Index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Index.js","sourceRoot":"","sources":["../../../../Models/DatabaseModels/Index.ts"],"names":[],"mappings":"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"}
|