@oneuptime/common 10.0.96 → 10.0.98

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 (131) hide show
  1. package/Models/AnalyticsModels/Log.ts +6 -0
  2. package/Models/AnalyticsModels/Metric.ts +6 -0
  3. package/Models/AnalyticsModels/Profile.ts +6 -0
  4. package/Models/AnalyticsModels/Span.ts +6 -0
  5. package/Models/DatabaseModels/Alert.ts +52 -0
  6. package/Models/DatabaseModels/DockerHost.ts +3 -10
  7. package/Models/DatabaseModels/Host.ts +1015 -0
  8. package/Models/DatabaseModels/HostOwnerTeam.ts +462 -0
  9. package/Models/DatabaseModels/HostOwnerUser.ts +461 -0
  10. package/Models/DatabaseModels/Incident.ts +52 -0
  11. package/Models/DatabaseModels/Index.ts +6 -0
  12. package/Models/DatabaseModels/KubernetesCluster.ts +0 -7
  13. package/Server/Infrastructure/Postgres/SchemaMigrations/1778006035712-AddHostTables.ts +201 -0
  14. package/Server/Infrastructure/Postgres/SchemaMigrations/1778013317872-AddHostIpAddresses.ts +15 -0
  15. package/Server/Infrastructure/Postgres/SchemaMigrations/1778066346303-WidenHostOsVersionToLongText.ts +42 -0
  16. package/Server/Infrastructure/Postgres/SchemaMigrations/1778070278986-MigrationName.ts +79 -0
  17. package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +8 -0
  18. package/Server/Services/DockerHostService.ts +18 -5
  19. package/Server/Services/HostOwnerTeamService.ts +10 -0
  20. package/Server/Services/HostOwnerUserService.ts +10 -0
  21. package/Server/Services/HostService.ts +251 -0
  22. package/Server/Services/LogAggregationService.ts +10 -3
  23. package/Server/Services/MetricService.ts +200 -0
  24. package/Server/Services/TraceAggregationService.ts +8 -3
  25. package/Server/Utils/AnalyticsDatabase/StatementGenerator.ts +46 -18
  26. package/Server/Utils/Monitor/MonitorAlert.ts +37 -0
  27. package/Server/Utils/Monitor/MonitorIncident.ts +37 -0
  28. package/Tests/Server/Services/LogAggregationService.test.ts +25 -0
  29. package/Tests/Server/Utils/AnalyticsDatabase/StatementGenerator.test.ts +145 -0
  30. package/Types/Metrics/MetricQueryConfigData.ts +9 -0
  31. package/Types/Permission.ts +134 -0
  32. package/UI/Components/Charts/Area/AreaChart.tsx +1 -1
  33. package/UI/Components/Charts/Bar/BarChart.tsx +1 -1
  34. package/UI/Components/Charts/ChartLibrary/AreaChart/AreaChart.tsx +17 -8
  35. package/UI/Components/Charts/ChartLibrary/BarChart/BarChart.tsx +11 -6
  36. package/UI/Components/Charts/ChartLibrary/LineChart/LineChart.tsx +17 -8
  37. package/UI/Components/Charts/Line/LineChart.tsx +1 -1
  38. package/UI/Components/ExpandableText/ExpandableText.tsx +29 -7
  39. package/UI/Components/JSONTable/JSONTable.tsx +27 -1
  40. package/UI/Components/LogsViewer/LogsViewer.tsx +3 -0
  41. package/UI/Components/LogsViewer/components/LogDetailsPanel.tsx +109 -23
  42. package/UI/Components/LogsViewer/components/LogSearchBar.tsx +11 -4
  43. package/UI/Components/Navbar/NavBarMenu.tsx +17 -2
  44. package/UI/Components/TelemetryViewer/components/TelemetrySearchBar.tsx +10 -3
  45. package/Utils/ValueFormatter.ts +57 -3
  46. package/build/dist/Models/AnalyticsModels/Log.js +6 -0
  47. package/build/dist/Models/AnalyticsModels/Log.js.map +1 -1
  48. package/build/dist/Models/AnalyticsModels/Metric.js +6 -0
  49. package/build/dist/Models/AnalyticsModels/Metric.js.map +1 -1
  50. package/build/dist/Models/AnalyticsModels/Profile.js +6 -0
  51. package/build/dist/Models/AnalyticsModels/Profile.js.map +1 -1
  52. package/build/dist/Models/AnalyticsModels/Span.js +6 -0
  53. package/build/dist/Models/AnalyticsModels/Span.js.map +1 -1
  54. package/build/dist/Models/DatabaseModels/Alert.js +51 -0
  55. package/build/dist/Models/DatabaseModels/Alert.js.map +1 -1
  56. package/build/dist/Models/DatabaseModels/DockerHost.js +3 -10
  57. package/build/dist/Models/DatabaseModels/DockerHost.js.map +1 -1
  58. package/build/dist/Models/DatabaseModels/Host.js +1041 -0
  59. package/build/dist/Models/DatabaseModels/Host.js.map +1 -0
  60. package/build/dist/Models/DatabaseModels/HostOwnerTeam.js +480 -0
  61. package/build/dist/Models/DatabaseModels/HostOwnerTeam.js.map +1 -0
  62. package/build/dist/Models/DatabaseModels/HostOwnerUser.js +479 -0
  63. package/build/dist/Models/DatabaseModels/HostOwnerUser.js.map +1 -0
  64. package/build/dist/Models/DatabaseModels/Incident.js +51 -0
  65. package/build/dist/Models/DatabaseModels/Incident.js.map +1 -1
  66. package/build/dist/Models/DatabaseModels/Index.js +6 -0
  67. package/build/dist/Models/DatabaseModels/Index.js.map +1 -1
  68. package/build/dist/Models/DatabaseModels/KubernetesCluster.js +0 -7
  69. package/build/dist/Models/DatabaseModels/KubernetesCluster.js.map +1 -1
  70. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1778006035712-AddHostTables.js +76 -0
  71. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1778006035712-AddHostTables.js.map +1 -0
  72. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1778013317872-AddHostIpAddresses.js +12 -0
  73. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1778013317872-AddHostIpAddresses.js.map +1 -0
  74. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1778066346303-WidenHostOsVersionToLongText.js +31 -0
  75. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1778066346303-WidenHostOsVersionToLongText.js.map +1 -0
  76. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1778070278986-MigrationName.js +34 -0
  77. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1778070278986-MigrationName.js.map +1 -0
  78. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +8 -0
  79. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
  80. package/build/dist/Server/Services/DockerHostService.js +12 -5
  81. package/build/dist/Server/Services/DockerHostService.js.map +1 -1
  82. package/build/dist/Server/Services/HostOwnerTeamService.js +9 -0
  83. package/build/dist/Server/Services/HostOwnerTeamService.js.map +1 -0
  84. package/build/dist/Server/Services/HostOwnerUserService.js +9 -0
  85. package/build/dist/Server/Services/HostOwnerUserService.js.map +1 -0
  86. package/build/dist/Server/Services/HostService.js +214 -0
  87. package/build/dist/Server/Services/HostService.js.map +1 -0
  88. package/build/dist/Server/Services/LogAggregationService.js +10 -3
  89. package/build/dist/Server/Services/LogAggregationService.js.map +1 -1
  90. package/build/dist/Server/Services/MetricService.js +160 -0
  91. package/build/dist/Server/Services/MetricService.js.map +1 -1
  92. package/build/dist/Server/Services/TraceAggregationService.js +8 -3
  93. package/build/dist/Server/Services/TraceAggregationService.js.map +1 -1
  94. package/build/dist/Server/Utils/AnalyticsDatabase/StatementGenerator.js +46 -18
  95. package/build/dist/Server/Utils/AnalyticsDatabase/StatementGenerator.js.map +1 -1
  96. package/build/dist/Server/Utils/Monitor/MonitorAlert.js +32 -0
  97. package/build/dist/Server/Utils/Monitor/MonitorAlert.js.map +1 -1
  98. package/build/dist/Server/Utils/Monitor/MonitorIncident.js +32 -0
  99. package/build/dist/Server/Utils/Monitor/MonitorIncident.js.map +1 -1
  100. package/build/dist/Tests/Server/Services/LogAggregationService.test.js +13 -0
  101. package/build/dist/Tests/Server/Services/LogAggregationService.test.js.map +1 -1
  102. package/build/dist/Tests/Server/Utils/AnalyticsDatabase/StatementGenerator.test.js +123 -0
  103. package/build/dist/Tests/Server/Utils/AnalyticsDatabase/StatementGenerator.test.js.map +1 -1
  104. package/build/dist/Types/Permission.js +120 -0
  105. package/build/dist/Types/Permission.js.map +1 -1
  106. package/build/dist/UI/Components/Charts/Area/AreaChart.js +1 -1
  107. package/build/dist/UI/Components/Charts/Bar/BarChart.js +1 -1
  108. package/build/dist/UI/Components/Charts/ChartLibrary/AreaChart/AreaChart.js +15 -7
  109. package/build/dist/UI/Components/Charts/ChartLibrary/AreaChart/AreaChart.js.map +1 -1
  110. package/build/dist/UI/Components/Charts/ChartLibrary/BarChart/BarChart.js +10 -6
  111. package/build/dist/UI/Components/Charts/ChartLibrary/BarChart/BarChart.js.map +1 -1
  112. package/build/dist/UI/Components/Charts/ChartLibrary/LineChart/LineChart.js +16 -8
  113. package/build/dist/UI/Components/Charts/ChartLibrary/LineChart/LineChart.js.map +1 -1
  114. package/build/dist/UI/Components/Charts/Line/LineChart.js +1 -1
  115. package/build/dist/UI/Components/ExpandableText/ExpandableText.js +10 -5
  116. package/build/dist/UI/Components/ExpandableText/ExpandableText.js.map +1 -1
  117. package/build/dist/UI/Components/JSONTable/JSONTable.js +8 -1
  118. package/build/dist/UI/Components/JSONTable/JSONTable.js.map +1 -1
  119. package/build/dist/UI/Components/LogsViewer/LogsViewer.js +1 -1
  120. package/build/dist/UI/Components/LogsViewer/LogsViewer.js.map +1 -1
  121. package/build/dist/UI/Components/LogsViewer/components/LogDetailsPanel.js +40 -14
  122. package/build/dist/UI/Components/LogsViewer/components/LogDetailsPanel.js.map +1 -1
  123. package/build/dist/UI/Components/LogsViewer/components/LogSearchBar.js +10 -4
  124. package/build/dist/UI/Components/LogsViewer/components/LogSearchBar.js.map +1 -1
  125. package/build/dist/UI/Components/Navbar/NavBarMenu.js +15 -2
  126. package/build/dist/UI/Components/Navbar/NavBarMenu.js.map +1 -1
  127. package/build/dist/UI/Components/TelemetryViewer/components/TelemetrySearchBar.js +10 -3
  128. package/build/dist/UI/Components/TelemetryViewer/components/TelemetrySearchBar.js.map +1 -1
  129. package/build/dist/Utils/ValueFormatter.js +47 -3
  130. package/build/dist/Utils/ValueFormatter.js.map +1 -1
  131. package/package.json +1 -1
@@ -0,0 +1,1041 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ import DockerHost from "./DockerHost";
11
+ import KubernetesCluster from "./KubernetesCluster";
12
+ import Label from "./Label";
13
+ import Project from "./Project";
14
+ import User from "./User";
15
+ import BaseModel from "./DatabaseBaseModel/DatabaseBaseModel";
16
+ import Route from "../../Types/API/Route";
17
+ import ColumnAccessControl from "../../Types/Database/AccessControl/ColumnAccessControl";
18
+ import TableAccessControl from "../../Types/Database/AccessControl/TableAccessControl";
19
+ import AccessControlColumn from "../../Types/Database/AccessControlColumn";
20
+ import ColumnLength from "../../Types/Database/ColumnLength";
21
+ import ColumnType from "../../Types/Database/ColumnType";
22
+ import CrudApiEndpoint from "../../Types/Database/CrudApiEndpoint";
23
+ import EnableDocumentation from "../../Types/Database/EnableDocumentation";
24
+ import SlugifyColumn from "../../Types/Database/SlugifyColumn";
25
+ import TableColumn from "../../Types/Database/TableColumn";
26
+ import TableColumnType from "../../Types/Database/TableColumnType";
27
+ import TableMetadata from "../../Types/Database/TableMetadata";
28
+ import TenantColumn from "../../Types/Database/TenantColumn";
29
+ import UniqueColumnBy from "../../Types/Database/UniqueColumnBy";
30
+ import IconProp from "../../Types/Icon/IconProp";
31
+ import ObjectID from "../../Types/ObjectID";
32
+ import Permission from "../../Types/Permission";
33
+ import { Column, Entity, Index, JoinColumn, JoinTable, ManyToMany, ManyToOne, } from "typeorm";
34
+ let Host = class Host extends BaseModel {
35
+ constructor() {
36
+ super(...arguments);
37
+ this.project = undefined;
38
+ this.projectId = undefined;
39
+ this.name = undefined;
40
+ this.slug = undefined;
41
+ this.description = undefined;
42
+ this.hostIdentifier = undefined;
43
+ this.otelCollectorStatus = undefined;
44
+ this.lastSeenAt = undefined;
45
+ this.osType = undefined;
46
+ this.osVersion = undefined;
47
+ this.hostId = undefined;
48
+ this.hostArch = undefined;
49
+ this.hostType = undefined;
50
+ this.hostIpAddresses = undefined;
51
+ this.cpuCores = undefined;
52
+ this.totalMemoryBytes = undefined;
53
+ this.processCount = undefined;
54
+ this.containerRuntime = undefined;
55
+ this.dockerHost = undefined;
56
+ this.dockerHostId = undefined;
57
+ this.kubernetesCluster = undefined;
58
+ this.kubernetesClusterId = undefined;
59
+ this.createdByUser = undefined;
60
+ this.createdByUserId = undefined;
61
+ this.deletedByUser = undefined;
62
+ this.deletedByUserId = undefined;
63
+ this.labels = undefined;
64
+ }
65
+ };
66
+ __decorate([
67
+ ColumnAccessControl({
68
+ create: [
69
+ Permission.ProjectOwner,
70
+ Permission.ProjectAdmin,
71
+ Permission.ProjectMember,
72
+ Permission.SettingsManager,
73
+ Permission.CreateHost,
74
+ ],
75
+ read: [
76
+ Permission.ProjectOwner,
77
+ Permission.ProjectAdmin,
78
+ Permission.ProjectMember,
79
+ Permission.Viewer,
80
+ Permission.SettingsManager,
81
+ Permission.ReadHost,
82
+ Permission.ReadAllProjectResources,
83
+ ],
84
+ update: [],
85
+ }),
86
+ TableColumn({
87
+ manyToOneRelationColumn: "projectId",
88
+ type: TableColumnType.Entity,
89
+ modelType: Project,
90
+ title: "Project",
91
+ description: "Relation to Project Resource in which this object belongs",
92
+ }),
93
+ ManyToOne(() => {
94
+ return Project;
95
+ }, {
96
+ eager: false,
97
+ nullable: true,
98
+ onDelete: "CASCADE",
99
+ orphanedRowAction: "nullify",
100
+ }),
101
+ JoinColumn({ name: "projectId" }),
102
+ __metadata("design:type", Project)
103
+ ], Host.prototype, "project", void 0);
104
+ __decorate([
105
+ ColumnAccessControl({
106
+ create: [
107
+ Permission.ProjectOwner,
108
+ Permission.ProjectAdmin,
109
+ Permission.ProjectMember,
110
+ Permission.SettingsManager,
111
+ Permission.CreateHost,
112
+ ],
113
+ read: [
114
+ Permission.ProjectOwner,
115
+ Permission.ProjectAdmin,
116
+ Permission.ProjectMember,
117
+ Permission.Viewer,
118
+ Permission.SettingsManager,
119
+ Permission.ReadHost,
120
+ Permission.ReadAllProjectResources,
121
+ ],
122
+ update: [],
123
+ }),
124
+ Index(),
125
+ TableColumn({
126
+ type: TableColumnType.ObjectID,
127
+ required: true,
128
+ canReadOnRelationQuery: true,
129
+ title: "Project ID",
130
+ description: "ID of your OneUptime Project in which this object belongs",
131
+ }),
132
+ Column({
133
+ type: ColumnType.ObjectID,
134
+ nullable: false,
135
+ transformer: ObjectID.getDatabaseTransformer(),
136
+ }),
137
+ __metadata("design:type", ObjectID)
138
+ ], Host.prototype, "projectId", void 0);
139
+ __decorate([
140
+ ColumnAccessControl({
141
+ create: [
142
+ Permission.ProjectOwner,
143
+ Permission.ProjectAdmin,
144
+ Permission.ProjectMember,
145
+ Permission.SettingsManager,
146
+ Permission.CreateHost,
147
+ ],
148
+ read: [
149
+ Permission.ProjectOwner,
150
+ Permission.ProjectAdmin,
151
+ Permission.ProjectMember,
152
+ Permission.Viewer,
153
+ Permission.SettingsManager,
154
+ Permission.ReadHost,
155
+ Permission.ReadAllProjectResources,
156
+ ],
157
+ update: [
158
+ Permission.ProjectOwner,
159
+ Permission.ProjectAdmin,
160
+ Permission.ProjectMember,
161
+ Permission.SettingsManager,
162
+ Permission.EditHost,
163
+ ],
164
+ }),
165
+ TableColumn({
166
+ required: true,
167
+ type: TableColumnType.ShortText,
168
+ canReadOnRelationQuery: true,
169
+ title: "Name",
170
+ description: "Friendly name for this host",
171
+ example: "production-host-1",
172
+ }),
173
+ Column({
174
+ nullable: false,
175
+ type: ColumnType.ShortText,
176
+ length: ColumnLength.ShortText,
177
+ }),
178
+ UniqueColumnBy("projectId"),
179
+ __metadata("design:type", String)
180
+ ], Host.prototype, "name", void 0);
181
+ __decorate([
182
+ ColumnAccessControl({
183
+ create: [],
184
+ read: [
185
+ Permission.ProjectOwner,
186
+ Permission.ProjectAdmin,
187
+ Permission.ProjectMember,
188
+ Permission.Viewer,
189
+ Permission.SettingsManager,
190
+ Permission.ReadHost,
191
+ Permission.ReadAllProjectResources,
192
+ ],
193
+ update: [],
194
+ }),
195
+ TableColumn({
196
+ required: true,
197
+ unique: true,
198
+ type: TableColumnType.Slug,
199
+ computed: true,
200
+ title: "Slug",
201
+ description: "Friendly globally unique name for your object",
202
+ }),
203
+ Column({
204
+ nullable: false,
205
+ type: ColumnType.Slug,
206
+ length: ColumnLength.Slug,
207
+ }),
208
+ __metadata("design:type", String)
209
+ ], Host.prototype, "slug", void 0);
210
+ __decorate([
211
+ ColumnAccessControl({
212
+ create: [
213
+ Permission.ProjectOwner,
214
+ Permission.ProjectAdmin,
215
+ Permission.ProjectMember,
216
+ Permission.SettingsManager,
217
+ Permission.CreateHost,
218
+ ],
219
+ read: [
220
+ Permission.ProjectOwner,
221
+ Permission.ProjectAdmin,
222
+ Permission.ProjectMember,
223
+ Permission.Viewer,
224
+ Permission.SettingsManager,
225
+ Permission.ReadHost,
226
+ Permission.ReadAllProjectResources,
227
+ ],
228
+ update: [
229
+ Permission.ProjectOwner,
230
+ Permission.ProjectAdmin,
231
+ Permission.ProjectMember,
232
+ Permission.SettingsManager,
233
+ Permission.EditHost,
234
+ ],
235
+ }),
236
+ TableColumn({
237
+ required: false,
238
+ type: TableColumnType.LongText,
239
+ canReadOnRelationQuery: true,
240
+ title: "Description",
241
+ description: "Friendly description for this host",
242
+ example: "Production host running in US East region",
243
+ }),
244
+ Column({
245
+ nullable: true,
246
+ type: ColumnType.LongText,
247
+ length: ColumnLength.LongText,
248
+ }),
249
+ __metadata("design:type", String)
250
+ ], Host.prototype, "description", void 0);
251
+ __decorate([
252
+ ColumnAccessControl({
253
+ create: [
254
+ Permission.ProjectOwner,
255
+ Permission.ProjectAdmin,
256
+ Permission.ProjectMember,
257
+ Permission.SettingsManager,
258
+ Permission.CreateHost,
259
+ ],
260
+ read: [
261
+ Permission.ProjectOwner,
262
+ Permission.ProjectAdmin,
263
+ Permission.ProjectMember,
264
+ Permission.Viewer,
265
+ Permission.SettingsManager,
266
+ Permission.ReadHost,
267
+ Permission.ReadAllProjectResources,
268
+ ],
269
+ update: [
270
+ Permission.ProjectOwner,
271
+ Permission.ProjectAdmin,
272
+ Permission.ProjectMember,
273
+ Permission.SettingsManager,
274
+ Permission.EditHost,
275
+ ],
276
+ }),
277
+ Index(),
278
+ TableColumn({
279
+ required: true,
280
+ type: TableColumnType.ShortText,
281
+ canReadOnRelationQuery: true,
282
+ title: "Host Identifier",
283
+ description: "Unique identifier for this host, sourced from the host.name OTel resource attribute",
284
+ example: "host-prod-1",
285
+ }),
286
+ Column({
287
+ nullable: false,
288
+ type: ColumnType.ShortText,
289
+ length: ColumnLength.ShortText,
290
+ }),
291
+ UniqueColumnBy("projectId"),
292
+ __metadata("design:type", String)
293
+ ], Host.prototype, "hostIdentifier", void 0);
294
+ __decorate([
295
+ ColumnAccessControl({
296
+ create: [],
297
+ read: [
298
+ Permission.ProjectOwner,
299
+ Permission.ProjectAdmin,
300
+ Permission.ProjectMember,
301
+ Permission.Viewer,
302
+ Permission.SettingsManager,
303
+ Permission.ReadHost,
304
+ Permission.ReadAllProjectResources,
305
+ ],
306
+ update: [
307
+ Permission.ProjectOwner,
308
+ Permission.ProjectAdmin,
309
+ Permission.EditHost,
310
+ ],
311
+ }),
312
+ TableColumn({
313
+ required: false,
314
+ type: TableColumnType.ShortText,
315
+ canReadOnRelationQuery: true,
316
+ title: "OTel Collector Status",
317
+ description: "Connection status of the OTel Collector reporting on this host (connected or disconnected)",
318
+ example: "connected",
319
+ }),
320
+ Column({
321
+ nullable: true,
322
+ type: ColumnType.ShortText,
323
+ length: ColumnLength.ShortText,
324
+ default: "disconnected",
325
+ }),
326
+ __metadata("design:type", String)
327
+ ], Host.prototype, "otelCollectorStatus", void 0);
328
+ __decorate([
329
+ ColumnAccessControl({
330
+ create: [],
331
+ read: [
332
+ Permission.ProjectOwner,
333
+ Permission.ProjectAdmin,
334
+ Permission.ProjectMember,
335
+ Permission.Viewer,
336
+ Permission.SettingsManager,
337
+ Permission.ReadHost,
338
+ Permission.ReadAllProjectResources,
339
+ ],
340
+ update: [
341
+ Permission.ProjectOwner,
342
+ Permission.ProjectAdmin,
343
+ Permission.EditHost,
344
+ ],
345
+ }),
346
+ TableColumn({
347
+ required: false,
348
+ type: TableColumnType.Date,
349
+ canReadOnRelationQuery: true,
350
+ title: "Last Seen At",
351
+ description: "When telemetry was last received from this host",
352
+ }),
353
+ Column({
354
+ nullable: true,
355
+ type: ColumnType.Date,
356
+ }),
357
+ __metadata("design:type", Date)
358
+ ], Host.prototype, "lastSeenAt", void 0);
359
+ __decorate([
360
+ ColumnAccessControl({
361
+ create: [],
362
+ read: [
363
+ Permission.ProjectOwner,
364
+ Permission.ProjectAdmin,
365
+ Permission.ProjectMember,
366
+ Permission.Viewer,
367
+ Permission.SettingsManager,
368
+ Permission.ReadHost,
369
+ Permission.ReadAllProjectResources,
370
+ ],
371
+ update: [
372
+ Permission.ProjectOwner,
373
+ Permission.ProjectAdmin,
374
+ Permission.EditHost,
375
+ ],
376
+ }),
377
+ TableColumn({
378
+ required: false,
379
+ type: TableColumnType.ShortText,
380
+ canReadOnRelationQuery: true,
381
+ title: "OS Type",
382
+ description: "Operating system type of the host",
383
+ example: "linux",
384
+ }),
385
+ Column({
386
+ nullable: true,
387
+ type: ColumnType.ShortText,
388
+ length: ColumnLength.ShortText,
389
+ }),
390
+ __metadata("design:type", String)
391
+ ], Host.prototype, "osType", void 0);
392
+ __decorate([
393
+ ColumnAccessControl({
394
+ create: [],
395
+ read: [
396
+ Permission.ProjectOwner,
397
+ Permission.ProjectAdmin,
398
+ Permission.ProjectMember,
399
+ Permission.Viewer,
400
+ Permission.SettingsManager,
401
+ Permission.ReadHost,
402
+ Permission.ReadAllProjectResources,
403
+ ],
404
+ update: [
405
+ Permission.ProjectOwner,
406
+ Permission.ProjectAdmin,
407
+ Permission.EditHost,
408
+ ],
409
+ }),
410
+ TableColumn({
411
+ required: false,
412
+ type: TableColumnType.LongText,
413
+ canReadOnRelationQuery: true,
414
+ title: "OS Version",
415
+ description: "Operating system version of the host",
416
+ example: "Ubuntu 22.04",
417
+ }),
418
+ Column({
419
+ nullable: true,
420
+ type: ColumnType.LongText,
421
+ length: ColumnLength.LongText,
422
+ }),
423
+ __metadata("design:type", String)
424
+ ], Host.prototype, "osVersion", void 0);
425
+ __decorate([
426
+ ColumnAccessControl({
427
+ create: [],
428
+ read: [
429
+ Permission.ProjectOwner,
430
+ Permission.ProjectAdmin,
431
+ Permission.ProjectMember,
432
+ Permission.Viewer,
433
+ Permission.SettingsManager,
434
+ Permission.ReadHost,
435
+ Permission.ReadAllProjectResources,
436
+ ],
437
+ update: [
438
+ Permission.ProjectOwner,
439
+ Permission.ProjectAdmin,
440
+ Permission.EditHost,
441
+ ],
442
+ }),
443
+ TableColumn({
444
+ required: false,
445
+ type: TableColumnType.ShortText,
446
+ canReadOnRelationQuery: true,
447
+ title: "Host ID",
448
+ description: "Stable host identifier reported by the OTel host.id resource attribute",
449
+ example: "ec2-instance-id-or-machine-id",
450
+ }),
451
+ Column({
452
+ nullable: true,
453
+ type: ColumnType.ShortText,
454
+ length: ColumnLength.ShortText,
455
+ }),
456
+ __metadata("design:type", String)
457
+ ], Host.prototype, "hostId", void 0);
458
+ __decorate([
459
+ ColumnAccessControl({
460
+ create: [],
461
+ read: [
462
+ Permission.ProjectOwner,
463
+ Permission.ProjectAdmin,
464
+ Permission.ProjectMember,
465
+ Permission.Viewer,
466
+ Permission.SettingsManager,
467
+ Permission.ReadHost,
468
+ Permission.ReadAllProjectResources,
469
+ ],
470
+ update: [
471
+ Permission.ProjectOwner,
472
+ Permission.ProjectAdmin,
473
+ Permission.EditHost,
474
+ ],
475
+ }),
476
+ TableColumn({
477
+ required: false,
478
+ type: TableColumnType.ShortText,
479
+ canReadOnRelationQuery: true,
480
+ title: "Host Architecture",
481
+ description: "CPU architecture from the OTel host.arch resource attribute",
482
+ example: "amd64",
483
+ }),
484
+ Column({
485
+ nullable: true,
486
+ type: ColumnType.ShortText,
487
+ length: ColumnLength.ShortText,
488
+ }),
489
+ __metadata("design:type", String)
490
+ ], Host.prototype, "hostArch", void 0);
491
+ __decorate([
492
+ ColumnAccessControl({
493
+ create: [],
494
+ read: [
495
+ Permission.ProjectOwner,
496
+ Permission.ProjectAdmin,
497
+ Permission.ProjectMember,
498
+ Permission.Viewer,
499
+ Permission.SettingsManager,
500
+ Permission.ReadHost,
501
+ Permission.ReadAllProjectResources,
502
+ ],
503
+ update: [
504
+ Permission.ProjectOwner,
505
+ Permission.ProjectAdmin,
506
+ Permission.EditHost,
507
+ ],
508
+ }),
509
+ TableColumn({
510
+ required: false,
511
+ type: TableColumnType.ShortText,
512
+ canReadOnRelationQuery: true,
513
+ title: "Host Type",
514
+ description: "Cloud-instance class reported by the OTel host.type resource attribute",
515
+ example: "t3.medium",
516
+ }),
517
+ Column({
518
+ nullable: true,
519
+ type: ColumnType.ShortText,
520
+ length: ColumnLength.ShortText,
521
+ }),
522
+ __metadata("design:type", String)
523
+ ], Host.prototype, "hostType", void 0);
524
+ __decorate([
525
+ ColumnAccessControl({
526
+ create: [],
527
+ read: [
528
+ Permission.ProjectOwner,
529
+ Permission.ProjectAdmin,
530
+ Permission.ProjectMember,
531
+ Permission.Viewer,
532
+ Permission.SettingsManager,
533
+ Permission.ReadHost,
534
+ Permission.ReadAllProjectResources,
535
+ ],
536
+ update: [
537
+ Permission.ProjectOwner,
538
+ Permission.ProjectAdmin,
539
+ Permission.EditHost,
540
+ ],
541
+ }),
542
+ TableColumn({
543
+ required: false,
544
+ type: TableColumnType.LongText,
545
+ canReadOnRelationQuery: true,
546
+ title: "Host IP Addresses",
547
+ description: "Comma-separated list of IP addresses reported by the OTel host.ip resource attribute. The first non-loopback IPv4 is used for display.",
548
+ example: "192.168.1.42, 10.0.0.5",
549
+ }),
550
+ Column({
551
+ nullable: true,
552
+ type: ColumnType.LongText,
553
+ length: ColumnLength.LongText,
554
+ }),
555
+ __metadata("design:type", String)
556
+ ], Host.prototype, "hostIpAddresses", void 0);
557
+ __decorate([
558
+ ColumnAccessControl({
559
+ create: [],
560
+ read: [
561
+ Permission.ProjectOwner,
562
+ Permission.ProjectAdmin,
563
+ Permission.ProjectMember,
564
+ Permission.Viewer,
565
+ Permission.SettingsManager,
566
+ Permission.ReadHost,
567
+ Permission.ReadAllProjectResources,
568
+ ],
569
+ update: [
570
+ Permission.ProjectOwner,
571
+ Permission.ProjectAdmin,
572
+ Permission.EditHost,
573
+ ],
574
+ }),
575
+ TableColumn({
576
+ required: false,
577
+ type: TableColumnType.Number,
578
+ canReadOnRelationQuery: true,
579
+ title: "CPU Cores",
580
+ description: "Logical CPU core count, sourced from system.cpu.logical.count metric",
581
+ }),
582
+ Column({
583
+ type: ColumnType.Number,
584
+ nullable: true,
585
+ }),
586
+ __metadata("design:type", Number)
587
+ ], Host.prototype, "cpuCores", void 0);
588
+ __decorate([
589
+ ColumnAccessControl({
590
+ create: [],
591
+ read: [
592
+ Permission.ProjectOwner,
593
+ Permission.ProjectAdmin,
594
+ Permission.ProjectMember,
595
+ Permission.Viewer,
596
+ Permission.SettingsManager,
597
+ Permission.ReadHost,
598
+ Permission.ReadAllProjectResources,
599
+ ],
600
+ update: [
601
+ Permission.ProjectOwner,
602
+ Permission.ProjectAdmin,
603
+ Permission.EditHost,
604
+ ],
605
+ }),
606
+ TableColumn({
607
+ required: false,
608
+ type: TableColumnType.BigNumber,
609
+ canReadOnRelationQuery: true,
610
+ title: "Total Memory (Bytes)",
611
+ description: "Total physical memory in bytes, sourced from system.memory.usage metric (sum of all states).",
612
+ }),
613
+ Column({
614
+ type: ColumnType.BigNumber,
615
+ nullable: true,
616
+ transformer: {
617
+ to: (value) => {
618
+ if (value === undefined || value === null) {
619
+ return undefined;
620
+ }
621
+ return value.toString();
622
+ },
623
+ from: (value) => {
624
+ if (value === undefined || value === null) {
625
+ return undefined;
626
+ }
627
+ return Number(value);
628
+ },
629
+ },
630
+ }),
631
+ __metadata("design:type", Number)
632
+ ], Host.prototype, "totalMemoryBytes", void 0);
633
+ __decorate([
634
+ ColumnAccessControl({
635
+ create: [],
636
+ read: [
637
+ Permission.ProjectOwner,
638
+ Permission.ProjectAdmin,
639
+ Permission.ProjectMember,
640
+ Permission.Viewer,
641
+ Permission.SettingsManager,
642
+ Permission.ReadHost,
643
+ Permission.ReadAllProjectResources,
644
+ ],
645
+ update: [
646
+ Permission.ProjectOwner,
647
+ Permission.ProjectAdmin,
648
+ Permission.EditHost,
649
+ ],
650
+ }),
651
+ TableColumn({
652
+ required: false,
653
+ type: TableColumnType.Number,
654
+ canReadOnRelationQuery: true,
655
+ title: "Process Count",
656
+ description: "Most recent process count from system.processes.count metric",
657
+ }),
658
+ Column({
659
+ type: ColumnType.Number,
660
+ nullable: true,
661
+ }),
662
+ __metadata("design:type", Number)
663
+ ], Host.prototype, "processCount", void 0);
664
+ __decorate([
665
+ ColumnAccessControl({
666
+ create: [],
667
+ read: [
668
+ Permission.ProjectOwner,
669
+ Permission.ProjectAdmin,
670
+ Permission.ProjectMember,
671
+ Permission.Viewer,
672
+ Permission.SettingsManager,
673
+ Permission.ReadHost,
674
+ Permission.ReadAllProjectResources,
675
+ ],
676
+ update: [
677
+ Permission.ProjectOwner,
678
+ Permission.ProjectAdmin,
679
+ Permission.EditHost,
680
+ ],
681
+ }),
682
+ TableColumn({
683
+ required: false,
684
+ type: TableColumnType.ShortText,
685
+ canReadOnRelationQuery: true,
686
+ title: "Container Runtime",
687
+ description: "Container runtime detected on this host, if any (e.g. docker, containerd)",
688
+ example: "docker",
689
+ }),
690
+ Column({
691
+ nullable: true,
692
+ type: ColumnType.ShortText,
693
+ length: ColumnLength.ShortText,
694
+ }),
695
+ __metadata("design:type", String)
696
+ ], Host.prototype, "containerRuntime", void 0);
697
+ __decorate([
698
+ ColumnAccessControl({
699
+ create: [],
700
+ read: [
701
+ Permission.ProjectOwner,
702
+ Permission.ProjectAdmin,
703
+ Permission.ProjectMember,
704
+ Permission.Viewer,
705
+ Permission.SettingsManager,
706
+ Permission.ReadHost,
707
+ Permission.ReadAllProjectResources,
708
+ ],
709
+ update: [],
710
+ }),
711
+ TableColumn({
712
+ manyToOneRelationColumn: "dockerHostId",
713
+ type: TableColumnType.Entity,
714
+ modelType: DockerHost,
715
+ title: "Docker Host",
716
+ description: "Optional link to the DockerHost record for this same host when it is also running the Docker runtime",
717
+ }),
718
+ ManyToOne(() => {
719
+ return DockerHost;
720
+ }, {
721
+ eager: false,
722
+ nullable: true,
723
+ onDelete: "SET NULL",
724
+ orphanedRowAction: "nullify",
725
+ }),
726
+ JoinColumn({ name: "dockerHostId" }),
727
+ __metadata("design:type", DockerHost)
728
+ ], Host.prototype, "dockerHost", void 0);
729
+ __decorate([
730
+ ColumnAccessControl({
731
+ create: [],
732
+ read: [
733
+ Permission.ProjectOwner,
734
+ Permission.ProjectAdmin,
735
+ Permission.ProjectMember,
736
+ Permission.Viewer,
737
+ Permission.SettingsManager,
738
+ Permission.ReadHost,
739
+ Permission.ReadAllProjectResources,
740
+ ],
741
+ update: [],
742
+ }),
743
+ TableColumn({
744
+ type: TableColumnType.ObjectID,
745
+ title: "Docker Host ID",
746
+ description: "Optional FK to the DockerHost record for this same host when it is also running the Docker runtime",
747
+ }),
748
+ Column({
749
+ type: ColumnType.ObjectID,
750
+ nullable: true,
751
+ transformer: ObjectID.getDatabaseTransformer(),
752
+ }),
753
+ __metadata("design:type", ObjectID)
754
+ ], Host.prototype, "dockerHostId", void 0);
755
+ __decorate([
756
+ ColumnAccessControl({
757
+ create: [],
758
+ read: [
759
+ Permission.ProjectOwner,
760
+ Permission.ProjectAdmin,
761
+ Permission.ProjectMember,
762
+ Permission.Viewer,
763
+ Permission.SettingsManager,
764
+ Permission.ReadHost,
765
+ Permission.ReadAllProjectResources,
766
+ ],
767
+ update: [],
768
+ }),
769
+ TableColumn({
770
+ manyToOneRelationColumn: "kubernetesClusterId",
771
+ type: TableColumnType.Entity,
772
+ modelType: KubernetesCluster,
773
+ title: "Kubernetes Cluster",
774
+ description: "Optional link to the KubernetesCluster this host belongs to (typically a node) when k8s.cluster.name is reported",
775
+ }),
776
+ ManyToOne(() => {
777
+ return KubernetesCluster;
778
+ }, {
779
+ eager: false,
780
+ nullable: true,
781
+ onDelete: "SET NULL",
782
+ orphanedRowAction: "nullify",
783
+ }),
784
+ JoinColumn({ name: "kubernetesClusterId" }),
785
+ __metadata("design:type", KubernetesCluster)
786
+ ], Host.prototype, "kubernetesCluster", void 0);
787
+ __decorate([
788
+ ColumnAccessControl({
789
+ create: [],
790
+ read: [
791
+ Permission.ProjectOwner,
792
+ Permission.ProjectAdmin,
793
+ Permission.ProjectMember,
794
+ Permission.Viewer,
795
+ Permission.SettingsManager,
796
+ Permission.ReadHost,
797
+ Permission.ReadAllProjectResources,
798
+ ],
799
+ update: [],
800
+ }),
801
+ TableColumn({
802
+ type: TableColumnType.ObjectID,
803
+ title: "Kubernetes Cluster ID",
804
+ description: "Optional FK to the KubernetesCluster this host belongs to when k8s.cluster.name is reported",
805
+ }),
806
+ Column({
807
+ type: ColumnType.ObjectID,
808
+ nullable: true,
809
+ transformer: ObjectID.getDatabaseTransformer(),
810
+ }),
811
+ __metadata("design:type", ObjectID)
812
+ ], Host.prototype, "kubernetesClusterId", void 0);
813
+ __decorate([
814
+ ColumnAccessControl({
815
+ create: [
816
+ Permission.ProjectOwner,
817
+ Permission.ProjectAdmin,
818
+ Permission.ProjectMember,
819
+ Permission.SettingsManager,
820
+ Permission.CreateHost,
821
+ ],
822
+ read: [
823
+ Permission.ProjectOwner,
824
+ Permission.ProjectAdmin,
825
+ Permission.ProjectMember,
826
+ Permission.Viewer,
827
+ Permission.SettingsManager,
828
+ Permission.ReadHost,
829
+ Permission.ReadAllProjectResources,
830
+ ],
831
+ update: [],
832
+ }),
833
+ TableColumn({
834
+ manyToOneRelationColumn: "createdByUserId",
835
+ type: TableColumnType.Entity,
836
+ modelType: User,
837
+ title: "Created by User",
838
+ description: "Relation to User who created this object (if this object was created by a User)",
839
+ }),
840
+ ManyToOne(() => {
841
+ return User;
842
+ }, {
843
+ eager: false,
844
+ nullable: true,
845
+ onDelete: "SET NULL",
846
+ orphanedRowAction: "nullify",
847
+ }),
848
+ JoinColumn({ name: "createdByUserId" }),
849
+ __metadata("design:type", User)
850
+ ], Host.prototype, "createdByUser", void 0);
851
+ __decorate([
852
+ ColumnAccessControl({
853
+ create: [
854
+ Permission.ProjectOwner,
855
+ Permission.ProjectAdmin,
856
+ Permission.ProjectMember,
857
+ Permission.SettingsManager,
858
+ Permission.CreateHost,
859
+ ],
860
+ read: [
861
+ Permission.ProjectOwner,
862
+ Permission.ProjectAdmin,
863
+ Permission.ProjectMember,
864
+ Permission.Viewer,
865
+ Permission.SettingsManager,
866
+ Permission.ReadHost,
867
+ Permission.ReadAllProjectResources,
868
+ ],
869
+ update: [],
870
+ }),
871
+ TableColumn({
872
+ type: TableColumnType.ObjectID,
873
+ title: "Created by User ID",
874
+ description: "User ID who created this object (if this object was created by a User)",
875
+ }),
876
+ Column({
877
+ type: ColumnType.ObjectID,
878
+ nullable: true,
879
+ transformer: ObjectID.getDatabaseTransformer(),
880
+ }),
881
+ __metadata("design:type", ObjectID)
882
+ ], Host.prototype, "createdByUserId", void 0);
883
+ __decorate([
884
+ ColumnAccessControl({
885
+ create: [],
886
+ read: [
887
+ Permission.ProjectOwner,
888
+ Permission.ProjectAdmin,
889
+ Permission.ProjectMember,
890
+ Permission.Viewer,
891
+ Permission.SettingsManager,
892
+ Permission.ReadHost,
893
+ Permission.ReadAllProjectResources,
894
+ ],
895
+ update: [],
896
+ }),
897
+ TableColumn({
898
+ manyToOneRelationColumn: "deletedByUserId",
899
+ type: TableColumnType.Entity,
900
+ title: "Deleted by User",
901
+ modelType: User,
902
+ description: "Relation to User who deleted this object (if this object was deleted by a User)",
903
+ }),
904
+ ManyToOne(() => {
905
+ return User;
906
+ }, {
907
+ cascade: false,
908
+ eager: false,
909
+ nullable: true,
910
+ onDelete: "SET NULL",
911
+ orphanedRowAction: "nullify",
912
+ }),
913
+ JoinColumn({ name: "deletedByUserId" }),
914
+ __metadata("design:type", User)
915
+ ], Host.prototype, "deletedByUser", void 0);
916
+ __decorate([
917
+ ColumnAccessControl({
918
+ create: [],
919
+ read: [
920
+ Permission.ProjectOwner,
921
+ Permission.ProjectAdmin,
922
+ Permission.ProjectMember,
923
+ Permission.Viewer,
924
+ Permission.SettingsManager,
925
+ Permission.ReadHost,
926
+ Permission.ReadAllProjectResources,
927
+ ],
928
+ update: [],
929
+ }),
930
+ TableColumn({
931
+ type: TableColumnType.ObjectID,
932
+ title: "Deleted by User ID",
933
+ description: "User ID who deleted this object (if this object was deleted by a User)",
934
+ }),
935
+ Column({
936
+ type: ColumnType.ObjectID,
937
+ nullable: true,
938
+ transformer: ObjectID.getDatabaseTransformer(),
939
+ }),
940
+ __metadata("design:type", ObjectID)
941
+ ], Host.prototype, "deletedByUserId", void 0);
942
+ __decorate([
943
+ ColumnAccessControl({
944
+ create: [
945
+ Permission.ProjectOwner,
946
+ Permission.ProjectAdmin,
947
+ Permission.ProjectMember,
948
+ Permission.SettingsManager,
949
+ Permission.CreateHost,
950
+ ],
951
+ read: [
952
+ Permission.ProjectOwner,
953
+ Permission.ProjectAdmin,
954
+ Permission.ProjectMember,
955
+ Permission.Viewer,
956
+ Permission.SettingsManager,
957
+ Permission.ReadHost,
958
+ Permission.ReadAllProjectResources,
959
+ ],
960
+ update: [
961
+ Permission.ProjectOwner,
962
+ Permission.ProjectAdmin,
963
+ Permission.ProjectMember,
964
+ Permission.SettingsManager,
965
+ Permission.EditHost,
966
+ ],
967
+ }),
968
+ TableColumn({
969
+ required: false,
970
+ type: TableColumnType.EntityArray,
971
+ modelType: Label,
972
+ title: "Labels",
973
+ description: "Relation to Labels Array where this object is categorized in.",
974
+ }),
975
+ ManyToMany(() => {
976
+ return Label;
977
+ }, { eager: false }),
978
+ JoinTable({
979
+ name: "HostLabel",
980
+ inverseJoinColumn: {
981
+ name: "labelId",
982
+ referencedColumnName: "_id",
983
+ },
984
+ joinColumn: {
985
+ name: "hostId",
986
+ referencedColumnName: "_id",
987
+ },
988
+ }),
989
+ __metadata("design:type", Array)
990
+ ], Host.prototype, "labels", void 0);
991
+ Host = __decorate([
992
+ AccessControlColumn("labels"),
993
+ EnableDocumentation(),
994
+ TenantColumn("projectId"),
995
+ TableAccessControl({
996
+ create: [
997
+ Permission.ProjectOwner,
998
+ Permission.ProjectAdmin,
999
+ Permission.ProjectMember,
1000
+ Permission.SettingsManager,
1001
+ Permission.CreateHost,
1002
+ ],
1003
+ read: [
1004
+ Permission.ProjectOwner,
1005
+ Permission.ProjectAdmin,
1006
+ Permission.ProjectMember,
1007
+ Permission.Viewer,
1008
+ Permission.SettingsManager,
1009
+ Permission.ReadHost,
1010
+ Permission.ReadAllProjectResources,
1011
+ ],
1012
+ delete: [
1013
+ Permission.ProjectOwner,
1014
+ Permission.ProjectAdmin,
1015
+ Permission.ProjectMember,
1016
+ Permission.SettingsManager,
1017
+ Permission.DeleteHost,
1018
+ ],
1019
+ update: [
1020
+ Permission.ProjectOwner,
1021
+ Permission.ProjectAdmin,
1022
+ Permission.ProjectMember,
1023
+ Permission.SettingsManager,
1024
+ Permission.EditHost,
1025
+ ],
1026
+ }),
1027
+ CrudApiEndpoint(new Route("/host")),
1028
+ SlugifyColumn("name", "slug"),
1029
+ TableMetadata({
1030
+ tableName: "Host",
1031
+ singularName: "Host",
1032
+ pluralName: "Hosts",
1033
+ icon: IconProp.Server,
1034
+ tableDescription: "Hosts that are being monitored in this project. Each host is auto-discovered when an OTel Collector reports the host.name resource attribute, or can be manually registered.",
1035
+ }),
1036
+ Entity({
1037
+ name: "Host",
1038
+ })
1039
+ ], Host);
1040
+ export default Host;
1041
+ //# sourceMappingURL=Host.js.map