@oneuptime/common 10.0.54 → 10.0.56

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 (132) hide show
  1. package/Models/DatabaseModels/DockerHost.ts +662 -0
  2. package/Models/DatabaseModels/GlobalConfig.ts +112 -0
  3. package/Models/DatabaseModels/Index.ts +2 -0
  4. package/Server/API/TelemetryAPI.ts +352 -16
  5. package/Server/Infrastructure/ClickhouseConfig.ts +9 -0
  6. package/Server/Infrastructure/Postgres/SchemaMigrations/1774000000002-MigrationName.ts +76 -0
  7. package/Server/Infrastructure/Postgres/SchemaMigrations/1775766676723-MigrationName.ts +133 -0
  8. package/Server/Infrastructure/Postgres/SchemaMigrations/1775900000000-AddGlobalSmtpOAuth.ts +51 -0
  9. package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +6 -0
  10. package/Server/Services/DockerHostService.ts +173 -0
  11. package/Server/Services/ExceptionAggregationService.ts +335 -0
  12. package/Server/Services/Index.ts +2 -0
  13. package/Server/Services/LogAggregationService.ts +17 -0
  14. package/Server/Services/MonitorProbeService.ts +42 -21
  15. package/Server/Services/MonitorService.ts +21 -21
  16. package/Server/Services/TraceAggregationService.ts +514 -0
  17. package/Server/Utils/Monitor/MonitorCriteriaEvaluator.ts +73 -1
  18. package/Tests/Server/Services/LogAggregationService.test.ts +2 -2
  19. package/Tests/__mocks__/mermaid.js +18 -0
  20. package/Tests/__mocks__/react-markdown.js +17 -0
  21. package/Tests/__mocks__/react-syntax-highlighter.js +19 -0
  22. package/Tests/__mocks__/remark-gfm.js +8 -0
  23. package/Types/Icon/IconProp.ts +1 -0
  24. package/Types/Monitor/DockerAlertTemplates.ts +507 -0
  25. package/Types/Monitor/DockerMetricCatalog.ts +226 -0
  26. package/Types/Monitor/MonitorStep.ts +33 -0
  27. package/Types/Monitor/MonitorStepDockerMonitor.ts +38 -0
  28. package/Types/Monitor/MonitorType.ts +15 -1
  29. package/Types/Permission.ts +38 -0
  30. package/UI/Components/Icon/Icon.tsx +87 -0
  31. package/UI/Components/Markdown.tsx/MarkdownEditor.tsx +7 -132
  32. package/UI/Components/ModelDetail/CardModelDetail.tsx +11 -1
  33. package/UI/Components/TelemetryViewer/TelemetryViewer.tsx +285 -0
  34. package/UI/Components/TelemetryViewer/components/TelemetryActiveFilterChips.tsx +85 -0
  35. package/UI/Components/TelemetryViewer/components/TelemetryDetailPanel.tsx +156 -0
  36. package/UI/Components/TelemetryViewer/components/TelemetryFacetSection.tsx +160 -0
  37. package/UI/Components/TelemetryViewer/components/TelemetryFacetSidebar.tsx +85 -0
  38. package/UI/Components/TelemetryViewer/components/TelemetryFacetValueRow.tsx +102 -0
  39. package/UI/Components/TelemetryViewer/components/TelemetryHistogram.tsx +280 -0
  40. package/UI/Components/TelemetryViewer/components/TelemetryHistogramTooltip.tsx +125 -0
  41. package/UI/Components/TelemetryViewer/components/TelemetryPagination.tsx +114 -0
  42. package/UI/Components/TelemetryViewer/components/TelemetrySearchBar.tsx +378 -0
  43. package/UI/Components/TelemetryViewer/components/TelemetrySearchHelp.tsx +78 -0
  44. package/UI/Components/TelemetryViewer/components/TelemetrySearchSuggestions.tsx +64 -0
  45. package/UI/Components/TelemetryViewer/components/TelemetryTimeRangePicker.tsx +193 -0
  46. package/UI/Components/TelemetryViewer/types.ts +67 -0
  47. package/build/dist/Models/DatabaseModels/DockerHost.js +686 -0
  48. package/build/dist/Models/DatabaseModels/DockerHost.js.map +1 -0
  49. package/build/dist/Models/DatabaseModels/GlobalConfig.js +117 -0
  50. package/build/dist/Models/DatabaseModels/GlobalConfig.js.map +1 -1
  51. package/build/dist/Models/DatabaseModels/Index.js +2 -0
  52. package/build/dist/Models/DatabaseModels/Index.js.map +1 -1
  53. package/build/dist/Server/API/TelemetryAPI.js +237 -16
  54. package/build/dist/Server/API/TelemetryAPI.js.map +1 -1
  55. package/build/dist/Server/Infrastructure/ClickhouseConfig.js +9 -0
  56. package/build/dist/Server/Infrastructure/ClickhouseConfig.js.map +1 -1
  57. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1774000000002-MigrationName.js +35 -0
  58. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1774000000002-MigrationName.js.map +1 -0
  59. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1775766676723-MigrationName.js +52 -0
  60. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1775766676723-MigrationName.js.map +1 -0
  61. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1775900000000-AddGlobalSmtpOAuth.js +26 -0
  62. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1775900000000-AddGlobalSmtpOAuth.js.map +1 -0
  63. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +6 -0
  64. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
  65. package/build/dist/Server/Services/DockerHostService.js +162 -0
  66. package/build/dist/Server/Services/DockerHostService.js.map +1 -0
  67. package/build/dist/Server/Services/ExceptionAggregationService.js +224 -0
  68. package/build/dist/Server/Services/ExceptionAggregationService.js.map +1 -0
  69. package/build/dist/Server/Services/Index.js +2 -0
  70. package/build/dist/Server/Services/Index.js.map +1 -1
  71. package/build/dist/Server/Services/LogAggregationService.js +11 -0
  72. package/build/dist/Server/Services/LogAggregationService.js.map +1 -1
  73. package/build/dist/Server/Services/MonitorProbeService.js +28 -14
  74. package/build/dist/Server/Services/MonitorProbeService.js.map +1 -1
  75. package/build/dist/Server/Services/MonitorService.js +19 -17
  76. package/build/dist/Server/Services/MonitorService.js.map +1 -1
  77. package/build/dist/Server/Services/TraceAggregationService.js +364 -0
  78. package/build/dist/Server/Services/TraceAggregationService.js.map +1 -0
  79. package/build/dist/Server/Utils/Monitor/MonitorCriteriaEvaluator.js +46 -1
  80. package/build/dist/Server/Utils/Monitor/MonitorCriteriaEvaluator.js.map +1 -1
  81. package/build/dist/Tests/Server/Services/LogAggregationService.test.js +2 -2
  82. package/build/dist/Tests/Server/Services/LogAggregationService.test.js.map +1 -1
  83. package/build/dist/Types/Icon/IconProp.js +1 -0
  84. package/build/dist/Types/Icon/IconProp.js.map +1 -1
  85. package/build/dist/Types/Monitor/DockerAlertTemplates.js +410 -0
  86. package/build/dist/Types/Monitor/DockerAlertTemplates.js.map +1 -0
  87. package/build/dist/Types/Monitor/DockerMetricCatalog.js +192 -0
  88. package/build/dist/Types/Monitor/DockerMetricCatalog.js.map +1 -0
  89. package/build/dist/Types/Monitor/MonitorStep.js +23 -0
  90. package/build/dist/Types/Monitor/MonitorStep.js.map +1 -1
  91. package/build/dist/Types/Monitor/MonitorStepDockerMonitor.js +21 -0
  92. package/build/dist/Types/Monitor/MonitorStepDockerMonitor.js.map +1 -0
  93. package/build/dist/Types/Monitor/MonitorType.js +14 -1
  94. package/build/dist/Types/Monitor/MonitorType.js.map +1 -1
  95. package/build/dist/Types/Permission.js +36 -0
  96. package/build/dist/Types/Permission.js.map +1 -1
  97. package/build/dist/UI/Components/Icon/Icon.js +13 -0
  98. package/build/dist/UI/Components/Icon/Icon.js.map +1 -1
  99. package/build/dist/UI/Components/Markdown.tsx/MarkdownEditor.js +7 -75
  100. package/build/dist/UI/Components/Markdown.tsx/MarkdownEditor.js.map +1 -1
  101. package/build/dist/UI/Components/ModelDetail/CardModelDetail.js +8 -1
  102. package/build/dist/UI/Components/ModelDetail/CardModelDetail.js.map +1 -1
  103. package/build/dist/UI/Components/TelemetryViewer/TelemetryViewer.js +71 -0
  104. package/build/dist/UI/Components/TelemetryViewer/TelemetryViewer.js.map +1 -0
  105. package/build/dist/UI/Components/TelemetryViewer/components/TelemetryActiveFilterChips.js +39 -0
  106. package/build/dist/UI/Components/TelemetryViewer/components/TelemetryActiveFilterChips.js.map +1 -0
  107. package/build/dist/UI/Components/TelemetryViewer/components/TelemetryDetailPanel.js +61 -0
  108. package/build/dist/UI/Components/TelemetryViewer/components/TelemetryDetailPanel.js.map +1 -0
  109. package/build/dist/UI/Components/TelemetryViewer/components/TelemetryFacetSection.js +66 -0
  110. package/build/dist/UI/Components/TelemetryViewer/components/TelemetryFacetSection.js.map +1 -0
  111. package/build/dist/UI/Components/TelemetryViewer/components/TelemetryFacetSidebar.js +41 -0
  112. package/build/dist/UI/Components/TelemetryViewer/components/TelemetryFacetSidebar.js.map +1 -0
  113. package/build/dist/UI/Components/TelemetryViewer/components/TelemetryFacetValueRow.js +35 -0
  114. package/build/dist/UI/Components/TelemetryViewer/components/TelemetryFacetValueRow.js.map +1 -0
  115. package/build/dist/UI/Components/TelemetryViewer/components/TelemetryHistogram.js +132 -0
  116. package/build/dist/UI/Components/TelemetryViewer/components/TelemetryHistogram.js.map +1 -0
  117. package/build/dist/UI/Components/TelemetryViewer/components/TelemetryHistogramTooltip.js +65 -0
  118. package/build/dist/UI/Components/TelemetryViewer/components/TelemetryHistogramTooltip.js.map +1 -0
  119. package/build/dist/UI/Components/TelemetryViewer/components/TelemetryPagination.js +52 -0
  120. package/build/dist/UI/Components/TelemetryViewer/components/TelemetryPagination.js.map +1 -0
  121. package/build/dist/UI/Components/TelemetryViewer/components/TelemetrySearchBar.js +224 -0
  122. package/build/dist/UI/Components/TelemetryViewer/components/TelemetrySearchBar.js.map +1 -0
  123. package/build/dist/UI/Components/TelemetryViewer/components/TelemetrySearchHelp.js +35 -0
  124. package/build/dist/UI/Components/TelemetryViewer/components/TelemetrySearchHelp.js.map +1 -0
  125. package/build/dist/UI/Components/TelemetryViewer/components/TelemetrySearchSuggestions.js +27 -0
  126. package/build/dist/UI/Components/TelemetryViewer/components/TelemetrySearchSuggestions.js.map +1 -0
  127. package/build/dist/UI/Components/TelemetryViewer/components/TelemetryTimeRangePicker.js +97 -0
  128. package/build/dist/UI/Components/TelemetryViewer/components/TelemetryTimeRangePicker.js.map +1 -0
  129. package/build/dist/UI/Components/TelemetryViewer/types.js +6 -0
  130. package/build/dist/UI/Components/TelemetryViewer/types.js.map +1 -0
  131. package/jest.config.json +6 -1
  132. package/package.json +1 -1
@@ -0,0 +1,686 @@
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 Label from "./Label";
11
+ import Project from "./Project";
12
+ import User from "./User";
13
+ import BaseModel from "./DatabaseBaseModel/DatabaseBaseModel";
14
+ import Route from "../../Types/API/Route";
15
+ import ColumnAccessControl from "../../Types/Database/AccessControl/ColumnAccessControl";
16
+ import TableAccessControl from "../../Types/Database/AccessControl/TableAccessControl";
17
+ import AccessControlColumn from "../../Types/Database/AccessControlColumn";
18
+ import ColumnLength from "../../Types/Database/ColumnLength";
19
+ import ColumnType from "../../Types/Database/ColumnType";
20
+ import CrudApiEndpoint from "../../Types/Database/CrudApiEndpoint";
21
+ import EnableDocumentation from "../../Types/Database/EnableDocumentation";
22
+ import EnableWorkflow from "../../Types/Database/EnableWorkflow";
23
+ import SlugifyColumn from "../../Types/Database/SlugifyColumn";
24
+ import TableColumn from "../../Types/Database/TableColumn";
25
+ import TableColumnType from "../../Types/Database/TableColumnType";
26
+ import TableMetadata from "../../Types/Database/TableMetadata";
27
+ import TenantColumn from "../../Types/Database/TenantColumn";
28
+ import UniqueColumnBy from "../../Types/Database/UniqueColumnBy";
29
+ import IconProp from "../../Types/Icon/IconProp";
30
+ import ObjectID from "../../Types/ObjectID";
31
+ import Permission from "../../Types/Permission";
32
+ import { Column, Entity, Index, JoinColumn, JoinTable, ManyToMany, ManyToOne, } from "typeorm";
33
+ let DockerHost = class DockerHost extends BaseModel {
34
+ constructor() {
35
+ super(...arguments);
36
+ this.project = undefined;
37
+ this.projectId = undefined;
38
+ this.name = undefined;
39
+ this.slug = undefined;
40
+ this.description = undefined;
41
+ this.hostIdentifier = undefined;
42
+ this.otelCollectorStatus = undefined;
43
+ this.lastSeenAt = undefined;
44
+ this.containersRunning = undefined;
45
+ this.containersStopped = undefined;
46
+ this.containersPaused = undefined;
47
+ this.osType = undefined;
48
+ this.osVersion = undefined;
49
+ this.createdByUser = undefined;
50
+ this.createdByUserId = undefined;
51
+ this.deletedByUser = undefined;
52
+ this.deletedByUserId = undefined;
53
+ this.labels = undefined;
54
+ }
55
+ };
56
+ __decorate([
57
+ ColumnAccessControl({
58
+ create: [
59
+ Permission.ProjectOwner,
60
+ Permission.ProjectAdmin,
61
+ Permission.ProjectMember,
62
+ Permission.CreateDockerHost,
63
+ ],
64
+ read: [
65
+ Permission.ProjectOwner,
66
+ Permission.ProjectAdmin,
67
+ Permission.ProjectMember,
68
+ Permission.ReadDockerHost,
69
+ Permission.ReadAllProjectResources,
70
+ ],
71
+ update: [],
72
+ }),
73
+ TableColumn({
74
+ manyToOneRelationColumn: "projectId",
75
+ type: TableColumnType.Entity,
76
+ modelType: Project,
77
+ title: "Project",
78
+ description: "Relation to Project Resource in which this object belongs",
79
+ }),
80
+ ManyToOne(() => {
81
+ return Project;
82
+ }, {
83
+ eager: false,
84
+ nullable: true,
85
+ onDelete: "CASCADE",
86
+ orphanedRowAction: "nullify",
87
+ }),
88
+ JoinColumn({ name: "projectId" }),
89
+ __metadata("design:type", Project)
90
+ ], DockerHost.prototype, "project", void 0);
91
+ __decorate([
92
+ ColumnAccessControl({
93
+ create: [
94
+ Permission.ProjectOwner,
95
+ Permission.ProjectAdmin,
96
+ Permission.ProjectMember,
97
+ Permission.CreateDockerHost,
98
+ ],
99
+ read: [
100
+ Permission.ProjectOwner,
101
+ Permission.ProjectAdmin,
102
+ Permission.ProjectMember,
103
+ Permission.ReadDockerHost,
104
+ Permission.ReadAllProjectResources,
105
+ ],
106
+ update: [],
107
+ }),
108
+ Index(),
109
+ TableColumn({
110
+ type: TableColumnType.ObjectID,
111
+ required: true,
112
+ canReadOnRelationQuery: true,
113
+ title: "Project ID",
114
+ description: "ID of your OneUptime Project in which this object belongs",
115
+ }),
116
+ Column({
117
+ type: ColumnType.ObjectID,
118
+ nullable: false,
119
+ transformer: ObjectID.getDatabaseTransformer(),
120
+ }),
121
+ __metadata("design:type", ObjectID)
122
+ ], DockerHost.prototype, "projectId", void 0);
123
+ __decorate([
124
+ ColumnAccessControl({
125
+ create: [
126
+ Permission.ProjectOwner,
127
+ Permission.ProjectAdmin,
128
+ Permission.ProjectMember,
129
+ Permission.CreateDockerHost,
130
+ ],
131
+ read: [
132
+ Permission.ProjectOwner,
133
+ Permission.ProjectAdmin,
134
+ Permission.ProjectMember,
135
+ Permission.ReadDockerHost,
136
+ Permission.ReadAllProjectResources,
137
+ ],
138
+ update: [
139
+ Permission.ProjectOwner,
140
+ Permission.ProjectAdmin,
141
+ Permission.ProjectMember,
142
+ Permission.EditDockerHost,
143
+ ],
144
+ }),
145
+ TableColumn({
146
+ required: true,
147
+ type: TableColumnType.ShortText,
148
+ canReadOnRelationQuery: true,
149
+ title: "Name",
150
+ description: "Friendly name for this Docker host",
151
+ example: "production-docker-host-1",
152
+ }),
153
+ Column({
154
+ nullable: false,
155
+ type: ColumnType.ShortText,
156
+ length: ColumnLength.ShortText,
157
+ }),
158
+ UniqueColumnBy("projectId"),
159
+ __metadata("design:type", String)
160
+ ], DockerHost.prototype, "name", void 0);
161
+ __decorate([
162
+ ColumnAccessControl({
163
+ create: [],
164
+ read: [
165
+ Permission.ProjectOwner,
166
+ Permission.ProjectAdmin,
167
+ Permission.ProjectMember,
168
+ Permission.ReadDockerHost,
169
+ Permission.ReadAllProjectResources,
170
+ ],
171
+ update: [],
172
+ }),
173
+ TableColumn({
174
+ required: true,
175
+ unique: true,
176
+ type: TableColumnType.Slug,
177
+ computed: true,
178
+ title: "Slug",
179
+ description: "Friendly globally unique name for your object",
180
+ }),
181
+ Column({
182
+ nullable: false,
183
+ type: ColumnType.Slug,
184
+ length: ColumnLength.Slug,
185
+ }),
186
+ __metadata("design:type", String)
187
+ ], DockerHost.prototype, "slug", void 0);
188
+ __decorate([
189
+ ColumnAccessControl({
190
+ create: [
191
+ Permission.ProjectOwner,
192
+ Permission.ProjectAdmin,
193
+ Permission.ProjectMember,
194
+ Permission.CreateDockerHost,
195
+ ],
196
+ read: [
197
+ Permission.ProjectOwner,
198
+ Permission.ProjectAdmin,
199
+ Permission.ProjectMember,
200
+ Permission.ReadDockerHost,
201
+ Permission.ReadAllProjectResources,
202
+ ],
203
+ update: [
204
+ Permission.ProjectOwner,
205
+ Permission.ProjectAdmin,
206
+ Permission.ProjectMember,
207
+ Permission.EditDockerHost,
208
+ ],
209
+ }),
210
+ TableColumn({
211
+ required: false,
212
+ type: TableColumnType.LongText,
213
+ canReadOnRelationQuery: true,
214
+ title: "Description",
215
+ description: "Friendly description for this Docker host",
216
+ example: "Production Docker host running in US East region",
217
+ }),
218
+ Column({
219
+ nullable: true,
220
+ type: ColumnType.LongText,
221
+ length: ColumnLength.LongText,
222
+ }),
223
+ __metadata("design:type", String)
224
+ ], DockerHost.prototype, "description", void 0);
225
+ __decorate([
226
+ ColumnAccessControl({
227
+ create: [
228
+ Permission.ProjectOwner,
229
+ Permission.ProjectAdmin,
230
+ Permission.ProjectMember,
231
+ Permission.CreateDockerHost,
232
+ ],
233
+ read: [
234
+ Permission.ProjectOwner,
235
+ Permission.ProjectAdmin,
236
+ Permission.ProjectMember,
237
+ Permission.ReadDockerHost,
238
+ Permission.ReadAllProjectResources,
239
+ ],
240
+ update: [
241
+ Permission.ProjectOwner,
242
+ Permission.ProjectAdmin,
243
+ Permission.ProjectMember,
244
+ Permission.EditDockerHost,
245
+ ],
246
+ }),
247
+ Index(),
248
+ TableColumn({
249
+ required: true,
250
+ type: TableColumnType.ShortText,
251
+ canReadOnRelationQuery: true,
252
+ title: "Host Identifier",
253
+ description: "Unique identifier for this Docker host, sourced from the host.name OTel resource attribute",
254
+ example: "docker-host-prod-1",
255
+ }),
256
+ Column({
257
+ nullable: false,
258
+ type: ColumnType.ShortText,
259
+ length: ColumnLength.ShortText,
260
+ }),
261
+ UniqueColumnBy("projectId"),
262
+ __metadata("design:type", String)
263
+ ], DockerHost.prototype, "hostIdentifier", void 0);
264
+ __decorate([
265
+ ColumnAccessControl({
266
+ create: [],
267
+ read: [
268
+ Permission.ProjectOwner,
269
+ Permission.ProjectAdmin,
270
+ Permission.ProjectMember,
271
+ Permission.ReadDockerHost,
272
+ Permission.ReadAllProjectResources,
273
+ ],
274
+ update: [
275
+ Permission.ProjectOwner,
276
+ Permission.ProjectAdmin,
277
+ Permission.EditDockerHost,
278
+ ],
279
+ }),
280
+ TableColumn({
281
+ required: false,
282
+ type: TableColumnType.ShortText,
283
+ canReadOnRelationQuery: true,
284
+ title: "OTel Collector Status",
285
+ description: "Connection status of the OTel Collector agent (connected or disconnected)",
286
+ example: "connected",
287
+ }),
288
+ Column({
289
+ nullable: true,
290
+ type: ColumnType.ShortText,
291
+ length: ColumnLength.ShortText,
292
+ default: "disconnected",
293
+ }),
294
+ __metadata("design:type", String)
295
+ ], DockerHost.prototype, "otelCollectorStatus", void 0);
296
+ __decorate([
297
+ ColumnAccessControl({
298
+ create: [],
299
+ read: [
300
+ Permission.ProjectOwner,
301
+ Permission.ProjectAdmin,
302
+ Permission.ProjectMember,
303
+ Permission.ReadDockerHost,
304
+ Permission.ReadAllProjectResources,
305
+ ],
306
+ update: [
307
+ Permission.ProjectOwner,
308
+ Permission.ProjectAdmin,
309
+ Permission.EditDockerHost,
310
+ ],
311
+ }),
312
+ TableColumn({
313
+ required: false,
314
+ type: TableColumnType.Date,
315
+ canReadOnRelationQuery: true,
316
+ title: "Last Seen At",
317
+ description: "When metrics were last received from this host",
318
+ }),
319
+ Column({
320
+ nullable: true,
321
+ type: ColumnType.Date,
322
+ }),
323
+ __metadata("design:type", Date)
324
+ ], DockerHost.prototype, "lastSeenAt", void 0);
325
+ __decorate([
326
+ ColumnAccessControl({
327
+ create: [],
328
+ read: [
329
+ Permission.ProjectOwner,
330
+ Permission.ProjectAdmin,
331
+ Permission.ProjectMember,
332
+ Permission.ReadDockerHost,
333
+ Permission.ReadAllProjectResources,
334
+ ],
335
+ update: [
336
+ Permission.ProjectOwner,
337
+ Permission.ProjectAdmin,
338
+ Permission.EditDockerHost,
339
+ ],
340
+ }),
341
+ TableColumn({
342
+ type: TableColumnType.Number,
343
+ title: "Containers Running",
344
+ description: "Cached count of running containers on this host",
345
+ }),
346
+ Column({
347
+ type: ColumnType.Number,
348
+ nullable: true,
349
+ default: 0,
350
+ }),
351
+ __metadata("design:type", Number)
352
+ ], DockerHost.prototype, "containersRunning", void 0);
353
+ __decorate([
354
+ ColumnAccessControl({
355
+ create: [],
356
+ read: [
357
+ Permission.ProjectOwner,
358
+ Permission.ProjectAdmin,
359
+ Permission.ProjectMember,
360
+ Permission.ReadDockerHost,
361
+ Permission.ReadAllProjectResources,
362
+ ],
363
+ update: [
364
+ Permission.ProjectOwner,
365
+ Permission.ProjectAdmin,
366
+ Permission.EditDockerHost,
367
+ ],
368
+ }),
369
+ TableColumn({
370
+ type: TableColumnType.Number,
371
+ title: "Containers Stopped",
372
+ description: "Cached count of stopped containers on this host",
373
+ }),
374
+ Column({
375
+ type: ColumnType.Number,
376
+ nullable: true,
377
+ default: 0,
378
+ }),
379
+ __metadata("design:type", Number)
380
+ ], DockerHost.prototype, "containersStopped", void 0);
381
+ __decorate([
382
+ ColumnAccessControl({
383
+ create: [],
384
+ read: [
385
+ Permission.ProjectOwner,
386
+ Permission.ProjectAdmin,
387
+ Permission.ProjectMember,
388
+ Permission.ReadDockerHost,
389
+ Permission.ReadAllProjectResources,
390
+ ],
391
+ update: [
392
+ Permission.ProjectOwner,
393
+ Permission.ProjectAdmin,
394
+ Permission.EditDockerHost,
395
+ ],
396
+ }),
397
+ TableColumn({
398
+ type: TableColumnType.Number,
399
+ title: "Containers Paused",
400
+ description: "Cached count of paused containers on this host",
401
+ }),
402
+ Column({
403
+ type: ColumnType.Number,
404
+ nullable: true,
405
+ default: 0,
406
+ }),
407
+ __metadata("design:type", Number)
408
+ ], DockerHost.prototype, "containersPaused", void 0);
409
+ __decorate([
410
+ ColumnAccessControl({
411
+ create: [],
412
+ read: [
413
+ Permission.ProjectOwner,
414
+ Permission.ProjectAdmin,
415
+ Permission.ProjectMember,
416
+ Permission.ReadDockerHost,
417
+ Permission.ReadAllProjectResources,
418
+ ],
419
+ update: [
420
+ Permission.ProjectOwner,
421
+ Permission.ProjectAdmin,
422
+ Permission.EditDockerHost,
423
+ ],
424
+ }),
425
+ TableColumn({
426
+ required: false,
427
+ type: TableColumnType.ShortText,
428
+ canReadOnRelationQuery: true,
429
+ title: "OS Type",
430
+ description: "Operating system type of the Docker host",
431
+ example: "linux",
432
+ }),
433
+ Column({
434
+ nullable: true,
435
+ type: ColumnType.ShortText,
436
+ length: ColumnLength.ShortText,
437
+ }),
438
+ __metadata("design:type", String)
439
+ ], DockerHost.prototype, "osType", void 0);
440
+ __decorate([
441
+ ColumnAccessControl({
442
+ create: [],
443
+ read: [
444
+ Permission.ProjectOwner,
445
+ Permission.ProjectAdmin,
446
+ Permission.ProjectMember,
447
+ Permission.ReadDockerHost,
448
+ Permission.ReadAllProjectResources,
449
+ ],
450
+ update: [
451
+ Permission.ProjectOwner,
452
+ Permission.ProjectAdmin,
453
+ Permission.EditDockerHost,
454
+ ],
455
+ }),
456
+ TableColumn({
457
+ required: false,
458
+ type: TableColumnType.ShortText,
459
+ canReadOnRelationQuery: true,
460
+ title: "OS Version",
461
+ description: "Operating system version of the Docker host",
462
+ example: "Ubuntu 22.04",
463
+ }),
464
+ Column({
465
+ nullable: true,
466
+ type: ColumnType.ShortText,
467
+ length: ColumnLength.ShortText,
468
+ }),
469
+ __metadata("design:type", String)
470
+ ], DockerHost.prototype, "osVersion", void 0);
471
+ __decorate([
472
+ ColumnAccessControl({
473
+ create: [
474
+ Permission.ProjectOwner,
475
+ Permission.ProjectAdmin,
476
+ Permission.ProjectMember,
477
+ Permission.CreateDockerHost,
478
+ ],
479
+ read: [
480
+ Permission.ProjectOwner,
481
+ Permission.ProjectAdmin,
482
+ Permission.ProjectMember,
483
+ Permission.ReadDockerHost,
484
+ Permission.ReadAllProjectResources,
485
+ ],
486
+ update: [],
487
+ }),
488
+ TableColumn({
489
+ manyToOneRelationColumn: "createdByUserId",
490
+ type: TableColumnType.Entity,
491
+ modelType: User,
492
+ title: "Created by User",
493
+ description: "Relation to User who created this object (if this object was created by a User)",
494
+ }),
495
+ ManyToOne(() => {
496
+ return User;
497
+ }, {
498
+ eager: false,
499
+ nullable: true,
500
+ onDelete: "SET NULL",
501
+ orphanedRowAction: "nullify",
502
+ }),
503
+ JoinColumn({ name: "createdByUserId" }),
504
+ __metadata("design:type", User)
505
+ ], DockerHost.prototype, "createdByUser", void 0);
506
+ __decorate([
507
+ ColumnAccessControl({
508
+ create: [
509
+ Permission.ProjectOwner,
510
+ Permission.ProjectAdmin,
511
+ Permission.ProjectMember,
512
+ Permission.CreateDockerHost,
513
+ ],
514
+ read: [
515
+ Permission.ProjectOwner,
516
+ Permission.ProjectAdmin,
517
+ Permission.ProjectMember,
518
+ Permission.ReadDockerHost,
519
+ Permission.ReadAllProjectResources,
520
+ ],
521
+ update: [],
522
+ }),
523
+ TableColumn({
524
+ type: TableColumnType.ObjectID,
525
+ title: "Created by User ID",
526
+ description: "User ID who created this object (if this object was created by a User)",
527
+ }),
528
+ Column({
529
+ type: ColumnType.ObjectID,
530
+ nullable: true,
531
+ transformer: ObjectID.getDatabaseTransformer(),
532
+ }),
533
+ __metadata("design:type", ObjectID)
534
+ ], DockerHost.prototype, "createdByUserId", void 0);
535
+ __decorate([
536
+ ColumnAccessControl({
537
+ create: [],
538
+ read: [
539
+ Permission.ProjectOwner,
540
+ Permission.ProjectAdmin,
541
+ Permission.ProjectMember,
542
+ Permission.ReadDockerHost,
543
+ Permission.ReadAllProjectResources,
544
+ ],
545
+ update: [],
546
+ }),
547
+ TableColumn({
548
+ manyToOneRelationColumn: "deletedByUserId",
549
+ type: TableColumnType.Entity,
550
+ title: "Deleted by User",
551
+ modelType: User,
552
+ description: "Relation to User who deleted this object (if this object was deleted by a User)",
553
+ }),
554
+ ManyToOne(() => {
555
+ return User;
556
+ }, {
557
+ cascade: false,
558
+ eager: false,
559
+ nullable: true,
560
+ onDelete: "SET NULL",
561
+ orphanedRowAction: "nullify",
562
+ }),
563
+ JoinColumn({ name: "deletedByUserId" }),
564
+ __metadata("design:type", User)
565
+ ], DockerHost.prototype, "deletedByUser", void 0);
566
+ __decorate([
567
+ ColumnAccessControl({
568
+ create: [],
569
+ read: [
570
+ Permission.ProjectOwner,
571
+ Permission.ProjectAdmin,
572
+ Permission.ProjectMember,
573
+ Permission.ReadDockerHost,
574
+ Permission.ReadAllProjectResources,
575
+ ],
576
+ update: [],
577
+ }),
578
+ TableColumn({
579
+ type: TableColumnType.ObjectID,
580
+ title: "Deleted by User ID",
581
+ description: "User ID who deleted this object (if this object was deleted by a User)",
582
+ }),
583
+ Column({
584
+ type: ColumnType.ObjectID,
585
+ nullable: true,
586
+ transformer: ObjectID.getDatabaseTransformer(),
587
+ }),
588
+ __metadata("design:type", ObjectID)
589
+ ], DockerHost.prototype, "deletedByUserId", void 0);
590
+ __decorate([
591
+ ColumnAccessControl({
592
+ create: [
593
+ Permission.ProjectOwner,
594
+ Permission.ProjectAdmin,
595
+ Permission.ProjectMember,
596
+ Permission.CreateDockerHost,
597
+ ],
598
+ read: [
599
+ Permission.ProjectOwner,
600
+ Permission.ProjectAdmin,
601
+ Permission.ProjectMember,
602
+ Permission.ReadDockerHost,
603
+ Permission.ReadAllProjectResources,
604
+ ],
605
+ update: [
606
+ Permission.ProjectOwner,
607
+ Permission.ProjectAdmin,
608
+ Permission.ProjectMember,
609
+ Permission.EditDockerHost,
610
+ ],
611
+ }),
612
+ TableColumn({
613
+ required: false,
614
+ type: TableColumnType.EntityArray,
615
+ modelType: Label,
616
+ title: "Labels",
617
+ description: "Relation to Labels Array where this object is categorized in.",
618
+ }),
619
+ ManyToMany(() => {
620
+ return Label;
621
+ }, { eager: false }),
622
+ JoinTable({
623
+ name: "DockerHostLabel",
624
+ inverseJoinColumn: {
625
+ name: "labelId",
626
+ referencedColumnName: "_id",
627
+ },
628
+ joinColumn: {
629
+ name: "dockerHostId",
630
+ referencedColumnName: "_id",
631
+ },
632
+ }),
633
+ __metadata("design:type", Array)
634
+ ], DockerHost.prototype, "labels", void 0);
635
+ DockerHost = __decorate([
636
+ AccessControlColumn("labels"),
637
+ EnableDocumentation(),
638
+ TenantColumn("projectId"),
639
+ TableAccessControl({
640
+ create: [
641
+ Permission.ProjectOwner,
642
+ Permission.ProjectAdmin,
643
+ Permission.ProjectMember,
644
+ Permission.CreateDockerHost,
645
+ ],
646
+ read: [
647
+ Permission.ProjectOwner,
648
+ Permission.ProjectAdmin,
649
+ Permission.ProjectMember,
650
+ Permission.ReadDockerHost,
651
+ Permission.ReadAllProjectResources,
652
+ ],
653
+ delete: [
654
+ Permission.ProjectOwner,
655
+ Permission.ProjectAdmin,
656
+ Permission.ProjectMember,
657
+ Permission.DeleteDockerHost,
658
+ ],
659
+ update: [
660
+ Permission.ProjectOwner,
661
+ Permission.ProjectAdmin,
662
+ Permission.ProjectMember,
663
+ Permission.EditDockerHost,
664
+ ],
665
+ }),
666
+ EnableWorkflow({
667
+ create: true,
668
+ delete: true,
669
+ update: true,
670
+ read: true,
671
+ }),
672
+ CrudApiEndpoint(new Route("/docker-host")),
673
+ SlugifyColumn("name", "slug"),
674
+ TableMetadata({
675
+ tableName: "DockerHost",
676
+ singularName: "Docker Host",
677
+ pluralName: "Docker Hosts",
678
+ icon: IconProp.Cube,
679
+ tableDescription: "Docker Hosts that are being monitored in this project. Each host is auto-discovered when the OneUptime Docker Agent sends metrics, or can be manually registered.",
680
+ }),
681
+ Entity({
682
+ name: "DockerHost",
683
+ })
684
+ ], DockerHost);
685
+ export default DockerHost;
686
+ //# sourceMappingURL=DockerHost.js.map