@oneuptime/common 10.0.93 → 10.0.94

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 (136) hide show
  1. package/Models/DatabaseModels/DockerResource.ts +497 -0
  2. package/Models/DatabaseModels/Index.ts +2 -0
  3. package/Models/DatabaseModels/Monitor.ts +83 -0
  4. package/Server/API/MonitorTemplateAPI.ts +182 -0
  5. package/Server/Infrastructure/Postgres/SchemaMigrations/1777933061000-MigrationName.ts +41 -0
  6. package/Server/Infrastructure/Postgres/SchemaMigrations/1777972687018-MigrationName.ts +69 -0
  7. package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +4 -0
  8. package/Server/Services/BillingInvoiceService.ts +18 -29
  9. package/Server/Services/DockerResourceService.ts +310 -0
  10. package/Server/Services/MonitorTemplateService.ts +359 -0
  11. package/Types/Dashboard/DashboardComponentType.ts +13 -0
  12. package/Types/Dashboard/DashboardComponents/ComponentArgument.ts +16 -0
  13. package/Types/Dashboard/DashboardComponents/DashboardAlertListComponent.ts +4 -0
  14. package/Types/Dashboard/DashboardComponents/DashboardDockerContainerListComponent.ts +15 -0
  15. package/Types/Dashboard/DashboardComponents/DashboardDockerHostListComponent.ts +14 -0
  16. package/Types/Dashboard/DashboardComponents/DashboardDockerImageListComponent.ts +15 -0
  17. package/Types/Dashboard/DashboardComponents/DashboardDockerNetworkListComponent.ts +14 -0
  18. package/Types/Dashboard/DashboardComponents/DashboardDockerVolumeListComponent.ts +14 -0
  19. package/Types/Dashboard/DashboardComponents/DashboardIncidentListComponent.ts +4 -0
  20. package/Types/Dashboard/DashboardComponents/DashboardKubernetesCronJobListComponent.ts +15 -0
  21. package/Types/Dashboard/DashboardComponents/DashboardKubernetesDaemonSetListComponent.ts +15 -0
  22. package/Types/Dashboard/DashboardComponents/DashboardKubernetesDeploymentListComponent.ts +15 -0
  23. package/Types/Dashboard/DashboardComponents/DashboardKubernetesJobListComponent.ts +15 -0
  24. package/Types/Dashboard/DashboardComponents/DashboardKubernetesNamespaceListComponent.ts +14 -0
  25. package/Types/Dashboard/DashboardComponents/DashboardKubernetesNodeListComponent.ts +15 -0
  26. package/Types/Dashboard/DashboardComponents/DashboardKubernetesPodListComponent.ts +16 -0
  27. package/Types/Dashboard/DashboardComponents/DashboardKubernetesStatefulSetListComponent.ts +15 -0
  28. package/Types/Dashboard/DashboardComponents/DashboardMonitorListComponent.ts +3 -0
  29. package/Types/Docker/DockerInventoryExtractor.ts +343 -0
  30. package/Utils/Dashboard/Components/DashboardAlertListComponent.ts +47 -2
  31. package/Utils/Dashboard/Components/DashboardDockerContainerListComponent.ts +93 -0
  32. package/Utils/Dashboard/Components/DashboardDockerHostListComponent.ts +83 -0
  33. package/Utils/Dashboard/Components/DashboardDockerImageListComponent.ts +92 -0
  34. package/Utils/Dashboard/Components/DashboardDockerNetworkListComponent.ts +82 -0
  35. package/Utils/Dashboard/Components/DashboardDockerVolumeListComponent.ts +82 -0
  36. package/Utils/Dashboard/Components/DashboardIncidentListComponent.ts +47 -2
  37. package/Utils/Dashboard/Components/DashboardKubernetesCronJobListComponent.ts +36 -0
  38. package/Utils/Dashboard/Components/DashboardKubernetesDaemonSetListComponent.ts +36 -0
  39. package/Utils/Dashboard/Components/DashboardKubernetesDeploymentListComponent.ts +36 -0
  40. package/Utils/Dashboard/Components/DashboardKubernetesJobListComponent.ts +34 -0
  41. package/Utils/Dashboard/Components/DashboardKubernetesNamespaceListComponent.ts +36 -0
  42. package/Utils/Dashboard/Components/DashboardKubernetesNodeListComponent.ts +57 -0
  43. package/Utils/Dashboard/Components/DashboardKubernetesPodListComponent.ts +60 -0
  44. package/Utils/Dashboard/Components/DashboardKubernetesResourceListShared.ts +75 -0
  45. package/Utils/Dashboard/Components/DashboardKubernetesStatefulSetListComponent.ts +36 -0
  46. package/Utils/Dashboard/Components/DashboardMonitorListComponent.ts +59 -2
  47. package/Utils/Dashboard/Components/Index.ts +102 -0
  48. package/build/dist/Models/DatabaseModels/DockerResource.js +525 -0
  49. package/build/dist/Models/DatabaseModels/DockerResource.js.map +1 -0
  50. package/build/dist/Models/DatabaseModels/Index.js +2 -0
  51. package/build/dist/Models/DatabaseModels/Index.js.map +1 -1
  52. package/build/dist/Models/DatabaseModels/Monitor.js +82 -0
  53. package/build/dist/Models/DatabaseModels/Monitor.js.map +1 -1
  54. package/build/dist/Server/API/MonitorTemplateAPI.js +108 -0
  55. package/build/dist/Server/API/MonitorTemplateAPI.js.map +1 -0
  56. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1777933061000-MigrationName.js +20 -0
  57. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1777933061000-MigrationName.js.map +1 -0
  58. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1777972687018-MigrationName.js +30 -0
  59. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1777972687018-MigrationName.js.map +1 -0
  60. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +4 -0
  61. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
  62. package/build/dist/Server/Services/BillingInvoiceService.js +22 -25
  63. package/build/dist/Server/Services/BillingInvoiceService.js.map +1 -1
  64. package/build/dist/Server/Services/DockerResourceService.js +196 -0
  65. package/build/dist/Server/Services/DockerResourceService.js.map +1 -0
  66. package/build/dist/Server/Services/MonitorTemplateService.js +290 -0
  67. package/build/dist/Server/Services/MonitorTemplateService.js.map +1 -1
  68. package/build/dist/Types/Dashboard/DashboardComponentType.js +13 -0
  69. package/build/dist/Types/Dashboard/DashboardComponentType.js.map +1 -1
  70. package/build/dist/Types/Dashboard/DashboardComponents/ComponentArgument.js +15 -0
  71. package/build/dist/Types/Dashboard/DashboardComponents/ComponentArgument.js.map +1 -1
  72. package/build/dist/Types/Dashboard/DashboardComponents/DashboardDockerContainerListComponent.js +2 -0
  73. package/build/dist/Types/Dashboard/DashboardComponents/DashboardDockerContainerListComponent.js.map +1 -0
  74. package/build/dist/Types/Dashboard/DashboardComponents/DashboardDockerHostListComponent.js +2 -0
  75. package/build/dist/Types/Dashboard/DashboardComponents/DashboardDockerHostListComponent.js.map +1 -0
  76. package/build/dist/Types/Dashboard/DashboardComponents/DashboardDockerImageListComponent.js +2 -0
  77. package/build/dist/Types/Dashboard/DashboardComponents/DashboardDockerImageListComponent.js.map +1 -0
  78. package/build/dist/Types/Dashboard/DashboardComponents/DashboardDockerNetworkListComponent.js +2 -0
  79. package/build/dist/Types/Dashboard/DashboardComponents/DashboardDockerNetworkListComponent.js.map +1 -0
  80. package/build/dist/Types/Dashboard/DashboardComponents/DashboardDockerVolumeListComponent.js +2 -0
  81. package/build/dist/Types/Dashboard/DashboardComponents/DashboardDockerVolumeListComponent.js.map +1 -0
  82. package/build/dist/Types/Dashboard/DashboardComponents/DashboardKubernetesCronJobListComponent.js +2 -0
  83. package/build/dist/Types/Dashboard/DashboardComponents/DashboardKubernetesCronJobListComponent.js.map +1 -0
  84. package/build/dist/Types/Dashboard/DashboardComponents/DashboardKubernetesDaemonSetListComponent.js +2 -0
  85. package/build/dist/Types/Dashboard/DashboardComponents/DashboardKubernetesDaemonSetListComponent.js.map +1 -0
  86. package/build/dist/Types/Dashboard/DashboardComponents/DashboardKubernetesDeploymentListComponent.js +2 -0
  87. package/build/dist/Types/Dashboard/DashboardComponents/DashboardKubernetesDeploymentListComponent.js.map +1 -0
  88. package/build/dist/Types/Dashboard/DashboardComponents/DashboardKubernetesJobListComponent.js +2 -0
  89. package/build/dist/Types/Dashboard/DashboardComponents/DashboardKubernetesJobListComponent.js.map +1 -0
  90. package/build/dist/Types/Dashboard/DashboardComponents/DashboardKubernetesNamespaceListComponent.js +2 -0
  91. package/build/dist/Types/Dashboard/DashboardComponents/DashboardKubernetesNamespaceListComponent.js.map +1 -0
  92. package/build/dist/Types/Dashboard/DashboardComponents/DashboardKubernetesNodeListComponent.js +2 -0
  93. package/build/dist/Types/Dashboard/DashboardComponents/DashboardKubernetesNodeListComponent.js.map +1 -0
  94. package/build/dist/Types/Dashboard/DashboardComponents/DashboardKubernetesPodListComponent.js +2 -0
  95. package/build/dist/Types/Dashboard/DashboardComponents/DashboardKubernetesPodListComponent.js.map +1 -0
  96. package/build/dist/Types/Dashboard/DashboardComponents/DashboardKubernetesStatefulSetListComponent.js +2 -0
  97. package/build/dist/Types/Dashboard/DashboardComponents/DashboardKubernetesStatefulSetListComponent.js.map +1 -0
  98. package/build/dist/Types/Docker/DockerInventoryExtractor.js +293 -0
  99. package/build/dist/Types/Docker/DockerInventoryExtractor.js.map +1 -0
  100. package/build/dist/Utils/Dashboard/Components/DashboardAlertListComponent.js +43 -3
  101. package/build/dist/Utils/Dashboard/Components/DashboardAlertListComponent.js.map +1 -1
  102. package/build/dist/Utils/Dashboard/Components/DashboardDockerContainerListComponent.js +75 -0
  103. package/build/dist/Utils/Dashboard/Components/DashboardDockerContainerListComponent.js.map +1 -0
  104. package/build/dist/Utils/Dashboard/Components/DashboardDockerHostListComponent.js +69 -0
  105. package/build/dist/Utils/Dashboard/Components/DashboardDockerHostListComponent.js.map +1 -0
  106. package/build/dist/Utils/Dashboard/Components/DashboardDockerImageListComponent.js +75 -0
  107. package/build/dist/Utils/Dashboard/Components/DashboardDockerImageListComponent.js.map +1 -0
  108. package/build/dist/Utils/Dashboard/Components/DashboardDockerNetworkListComponent.js +66 -0
  109. package/build/dist/Utils/Dashboard/Components/DashboardDockerNetworkListComponent.js.map +1 -0
  110. package/build/dist/Utils/Dashboard/Components/DashboardDockerVolumeListComponent.js +66 -0
  111. package/build/dist/Utils/Dashboard/Components/DashboardDockerVolumeListComponent.js.map +1 -0
  112. package/build/dist/Utils/Dashboard/Components/DashboardIncidentListComponent.js +43 -3
  113. package/build/dist/Utils/Dashboard/Components/DashboardIncidentListComponent.js.map +1 -1
  114. package/build/dist/Utils/Dashboard/Components/DashboardKubernetesCronJobListComponent.js +29 -0
  115. package/build/dist/Utils/Dashboard/Components/DashboardKubernetesCronJobListComponent.js.map +1 -0
  116. package/build/dist/Utils/Dashboard/Components/DashboardKubernetesDaemonSetListComponent.js +29 -0
  117. package/build/dist/Utils/Dashboard/Components/DashboardKubernetesDaemonSetListComponent.js.map +1 -0
  118. package/build/dist/Utils/Dashboard/Components/DashboardKubernetesDeploymentListComponent.js +29 -0
  119. package/build/dist/Utils/Dashboard/Components/DashboardKubernetesDeploymentListComponent.js.map +1 -0
  120. package/build/dist/Utils/Dashboard/Components/DashboardKubernetesJobListComponent.js +29 -0
  121. package/build/dist/Utils/Dashboard/Components/DashboardKubernetesJobListComponent.js.map +1 -0
  122. package/build/dist/Utils/Dashboard/Components/DashboardKubernetesNamespaceListComponent.js +29 -0
  123. package/build/dist/Utils/Dashboard/Components/DashboardKubernetesNamespaceListComponent.js.map +1 -0
  124. package/build/dist/Utils/Dashboard/Components/DashboardKubernetesNodeListComponent.js +44 -0
  125. package/build/dist/Utils/Dashboard/Components/DashboardKubernetesNodeListComponent.js.map +1 -0
  126. package/build/dist/Utils/Dashboard/Components/DashboardKubernetesPodListComponent.js +47 -0
  127. package/build/dist/Utils/Dashboard/Components/DashboardKubernetesPodListComponent.js.map +1 -0
  128. package/build/dist/Utils/Dashboard/Components/DashboardKubernetesResourceListShared.js +55 -0
  129. package/build/dist/Utils/Dashboard/Components/DashboardKubernetesResourceListShared.js.map +1 -0
  130. package/build/dist/Utils/Dashboard/Components/DashboardKubernetesStatefulSetListComponent.js +29 -0
  131. package/build/dist/Utils/Dashboard/Components/DashboardKubernetesStatefulSetListComponent.js.map +1 -0
  132. package/build/dist/Utils/Dashboard/Components/DashboardMonitorListComponent.js +46 -3
  133. package/build/dist/Utils/Dashboard/Components/DashboardMonitorListComponent.js.map +1 -1
  134. package/build/dist/Utils/Dashboard/Components/Index.js +53 -0
  135. package/build/dist/Utils/Dashboard/Components/Index.js.map +1 -1
  136. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"BillingInvoiceService.js","sourceRoot":"","sources":["../../../../Server/Services/BillingInvoiceService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BillingInvoiceService.js","sourceRoot":"","sources":["../../../../Server/Services/BillingInvoiceService.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,196 @@
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 DatabaseService from "./DatabaseService";
11
+ import Model from "../../Models/DatabaseModels/DockerResource";
12
+ import CaptureSpan from "../Utils/Telemetry/CaptureSpan";
13
+ import OneUptimeDate from "../../Types/Date";
14
+ import logger from "../Utils/Logger";
15
+ const UPSERT_BATCH_SIZE = 500;
16
+ const STALE_DELETE_WARN_THRESHOLD = 100;
17
+ export class Service extends DatabaseService {
18
+ constructor() {
19
+ super(Model);
20
+ }
21
+ /**
22
+ * Upsert a batch of Container rows for a single (project, host)
23
+ * pair. Uses ON CONFLICT on the UNIQUE (projectId, dockerHostId,
24
+ * kind, name) index with a dominance guard on lastSeenAt so
25
+ * out-of-order ingest never regresses a newer observation.
26
+ *
27
+ * Containers are upserted from metric snapshots (no separate
28
+ * inventory snapshot path), so this also writes
29
+ * latestCpuPercent / latestMemoryBytes / metricsUpdatedAt in the
30
+ * same statement — saves a round trip vs. the K8s pattern of
31
+ * upsert-then-update.
32
+ */
33
+ async bulkUpsertContainers(data) {
34
+ if (data.containers.length === 0) {
35
+ return;
36
+ }
37
+ for (let i = 0; i < data.containers.length; i += UPSERT_BATCH_SIZE) {
38
+ const chunk = data.containers.slice(i, i + UPSERT_BATCH_SIZE);
39
+ const valueFragments = [];
40
+ const params = [];
41
+ let p = 1;
42
+ for (const c of chunk) {
43
+ valueFragments.push(`($${p++}, $${p++}, $${p++}, $${p++}, $${p++}, $${p++}, $${p++}, $${p++}::numeric, $${p++}::bigint, $${p++}::timestamptz, $${p++}::timestamptz, $${p++})`);
44
+ params.push(data.projectId.toString(), data.dockerHostId.toString(), "Container", c.containerName, c.containerId, c.imageName, c.state, c.cpuPercent !== null && c.cpuPercent !== undefined
45
+ ? c.cpuPercent
46
+ : null, c.memoryBytes !== null && c.memoryBytes !== undefined
47
+ ? Math.trunc(c.memoryBytes).toString()
48
+ : null, c.observedAt, c.observedAt, 0);
49
+ }
50
+ const sql = `
51
+ INSERT INTO "DockerResource" (
52
+ "projectId", "dockerHostId", "kind", "name",
53
+ "containerId", "imageName", "state",
54
+ "latestCpuPercent", "latestMemoryBytes",
55
+ "metricsUpdatedAt", "lastSeenAt", "version"
56
+ )
57
+ VALUES ${valueFragments.join(", ")}
58
+ ON CONFLICT ("projectId", "dockerHostId", "kind", "name")
59
+ DO UPDATE SET
60
+ "containerId" = COALESCE(EXCLUDED."containerId", "DockerResource"."containerId"),
61
+ "imageName" = COALESCE(EXCLUDED."imageName", "DockerResource"."imageName"),
62
+ "state" = EXCLUDED."state",
63
+ "latestCpuPercent" = COALESCE(EXCLUDED."latestCpuPercent", "DockerResource"."latestCpuPercent"),
64
+ "latestMemoryBytes" = COALESCE(EXCLUDED."latestMemoryBytes", "DockerResource"."latestMemoryBytes"),
65
+ "metricsUpdatedAt" = EXCLUDED."metricsUpdatedAt",
66
+ "lastSeenAt" = EXCLUDED."lastSeenAt",
67
+ "updatedAt" = now()
68
+ WHERE EXCLUDED."lastSeenAt" >= "DockerResource"."lastSeenAt"
69
+ `;
70
+ await this.getRepository().manager.query(sql, params);
71
+ }
72
+ }
73
+ /**
74
+ * Upsert a batch of resources for any kind. Used by the snapshot
75
+ * ingest path (Container / Image / Network / Volume rows from the
76
+ * Docker agent's inventory poller). Container rows from this path
77
+ * carry full state (running / exited / paused / restarting / dead /
78
+ * created), unlike the metric-derived path which only sees running
79
+ * containers.
80
+ */
81
+ async bulkUpsert(data) {
82
+ if (data.resources.length === 0) {
83
+ return;
84
+ }
85
+ for (let i = 0; i < data.resources.length; i += UPSERT_BATCH_SIZE) {
86
+ const chunk = data.resources.slice(i, i + UPSERT_BATCH_SIZE);
87
+ const valueFragments = [];
88
+ const params = [];
89
+ let p = 1;
90
+ for (const r of chunk) {
91
+ valueFragments.push(`($${p++}, $${p++}, $${p++}, $${p++}, $${p++}, $${p++}, $${p++}, $${p++}, $${p++}::timestamptz, $${p++}::timestamptz, $${p++})`);
92
+ params.push(data.projectId.toString(), data.dockerHostId.toString(), r.kind, r.name, r.containerId, r.imageName, r.state, r.labels ? JSON.stringify(r.labels) : null, r.resourceCreationTimestamp, r.lastSeenAt, 0);
93
+ }
94
+ const sql = `
95
+ INSERT INTO "DockerResource" (
96
+ "projectId", "dockerHostId", "kind", "name",
97
+ "containerId", "imageName", "state", "labels",
98
+ "resourceCreationTimestamp", "lastSeenAt", "version"
99
+ )
100
+ VALUES ${valueFragments.join(", ")}
101
+ ON CONFLICT ("projectId", "dockerHostId", "kind", "name")
102
+ DO UPDATE SET
103
+ "containerId" = COALESCE(EXCLUDED."containerId", "DockerResource"."containerId"),
104
+ "imageName" = COALESCE(EXCLUDED."imageName", "DockerResource"."imageName"),
105
+ "state" = COALESCE(EXCLUDED."state", "DockerResource"."state"),
106
+ "labels" = COALESCE(EXCLUDED."labels", "DockerResource"."labels"),
107
+ "resourceCreationTimestamp" = COALESCE(EXCLUDED."resourceCreationTimestamp", "DockerResource"."resourceCreationTimestamp"),
108
+ "lastSeenAt" = EXCLUDED."lastSeenAt",
109
+ "updatedAt" = now()
110
+ WHERE EXCLUDED."lastSeenAt" >= "DockerResource"."lastSeenAt"
111
+ `;
112
+ await this.getRepository().manager.query(sql, params);
113
+ }
114
+ }
115
+ /**
116
+ * Hard-delete all resources on a host whose last observation is
117
+ * older than olderThan. Returns the number of deleted rows.
118
+ */
119
+ async deleteStaleForHost(data) {
120
+ const result = await this.getRepository().manager.query(`DELETE FROM "DockerResource" WHERE "dockerHostId" = $1 AND "lastSeenAt" < $2`, [data.dockerHostId.toString(), data.olderThan]);
121
+ let affected = 0;
122
+ if (Array.isArray(result) && result.length >= 2) {
123
+ const second = result[1];
124
+ if (typeof second === "number") {
125
+ affected = second;
126
+ }
127
+ }
128
+ if (affected > STALE_DELETE_WARN_THRESHOLD) {
129
+ logger.warn(`DockerResource cleanup deleted ${affected} stale rows for host ${data.dockerHostId.toString()} — larger than expected; investigate agent health.`);
130
+ }
131
+ return affected;
132
+ }
133
+ /**
134
+ * Compute container state breakdowns for a single host from the
135
+ * inventory table. Used by the cleanup worker to refresh the cached
136
+ * counts on DockerHost so the Hosts page / dashboard widget shows
137
+ * accurate numbers without needing a SQL aggregation per render.
138
+ */
139
+ async getContainerCountsForHost(data) {
140
+ const rows = await this.getRepository().manager.query(`SELECT
141
+ COUNT(*) FILTER (WHERE LOWER("state") = 'running')::text AS "running",
142
+ COUNT(*) FILTER (WHERE LOWER("state") IN ('exited', 'dead', 'created'))::text AS "stopped",
143
+ COUNT(*) FILTER (WHERE LOWER("state") = 'paused')::text AS "paused"
144
+ FROM "DockerResource"
145
+ WHERE "projectId" = $1
146
+ AND "dockerHostId" = $2
147
+ AND "kind" = 'Container'
148
+ AND "deletedAt" IS NULL`, [data.projectId.toString(), data.dockerHostId.toString()]);
149
+ const row = rows[0];
150
+ return {
151
+ containersRunning: row ? parseInt(row.running, 10) || 0 : 0,
152
+ containersStopped: row ? parseInt(row.stopped, 10) || 0 : 0,
153
+ containersPaused: row ? parseInt(row.paused, 10) || 0 : 0,
154
+ };
155
+ }
156
+ getStaleThresholdDate(nowOverride) {
157
+ const minutes = this.getStaleThresholdMinutes();
158
+ return OneUptimeDate.addRemoveMinutes(nowOverride || OneUptimeDate.getCurrentDate(), -minutes);
159
+ }
160
+ getStaleThresholdMinutes() {
161
+ const raw = process.env["DOCKER_INVENTORY_STALE_MINUTES"];
162
+ if (raw) {
163
+ const parsed = parseInt(raw, 10);
164
+ if (!isNaN(parsed) && parsed >= 5) {
165
+ return parsed;
166
+ }
167
+ }
168
+ return 15;
169
+ }
170
+ }
171
+ __decorate([
172
+ CaptureSpan(),
173
+ __metadata("design:type", Function),
174
+ __metadata("design:paramtypes", [Object]),
175
+ __metadata("design:returntype", Promise)
176
+ ], Service.prototype, "bulkUpsertContainers", null);
177
+ __decorate([
178
+ CaptureSpan(),
179
+ __metadata("design:type", Function),
180
+ __metadata("design:paramtypes", [Object]),
181
+ __metadata("design:returntype", Promise)
182
+ ], Service.prototype, "bulkUpsert", null);
183
+ __decorate([
184
+ CaptureSpan(),
185
+ __metadata("design:type", Function),
186
+ __metadata("design:paramtypes", [Object]),
187
+ __metadata("design:returntype", Promise)
188
+ ], Service.prototype, "deleteStaleForHost", null);
189
+ __decorate([
190
+ CaptureSpan(),
191
+ __metadata("design:type", Function),
192
+ __metadata("design:paramtypes", [Object]),
193
+ __metadata("design:returntype", Promise)
194
+ ], Service.prototype, "getContainerCountsForHost", null);
195
+ export default new Service();
196
+ //# sourceMappingURL=DockerResourceService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DockerResourceService.js","sourceRoot":"","sources":["../../../../Server/Services/DockerResourceService.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,299 @@
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
+ };
1
10
  import DatabaseService from "./DatabaseService";
11
+ import MonitorService from "./MonitorService";
12
+ import BadDataException from "../../Types/Exception/BadDataException";
13
+ import LIMIT_MAX from "../../Types/Database/LimitMax";
2
14
  import Model from "../../Models/DatabaseModels/MonitorTemplate";
15
+ import CaptureSpan from "../Utils/Telemetry/CaptureSpan";
16
+ const ALL_SYNCABLE_FIELDS = [
17
+ "monitorSteps",
18
+ "monitoringInterval",
19
+ "minimumProbeAgreement",
20
+ ];
3
21
  export class Service extends DatabaseService {
4
22
  constructor() {
5
23
  super(Model);
6
24
  }
25
+ /**
26
+ * Count monitors created from this template.
27
+ * Caller must already have read access on the template via the API layer.
28
+ */
29
+ async countLinkedMonitors(data) {
30
+ const count = await MonitorService.countBy({
31
+ query: {
32
+ monitorTemplateId: data.monitorTemplateId,
33
+ projectId: data.projectId,
34
+ },
35
+ props: {
36
+ isRoot: true,
37
+ },
38
+ });
39
+ return count.toNumber();
40
+ }
41
+ /**
42
+ * Validate and narrow a list of field names to the syncable subset.
43
+ * Anything not in the whitelist throws — we never silently drop a field the
44
+ * caller asked for, that would mask UI bugs.
45
+ */
46
+ validateSyncableFields(fields) {
47
+ if (!fields || fields.length === 0) {
48
+ return [...ALL_SYNCABLE_FIELDS];
49
+ }
50
+ const allowed = new Set(ALL_SYNCABLE_FIELDS);
51
+ for (const field of fields) {
52
+ if (!allowed.has(field)) {
53
+ throw new BadDataException(`Field "${field}" is not syncable from a monitor template`);
54
+ }
55
+ }
56
+ return fields;
57
+ }
58
+ buildUpdateData(template, fields) {
59
+ const updateData = {};
60
+ for (const field of fields) {
61
+ const value = template[field];
62
+ if (value === undefined) {
63
+ continue;
64
+ }
65
+ updateData[field] = value;
66
+ }
67
+ return updateData;
68
+ }
69
+ /**
70
+ * Push the template's current configuration onto every monitor that was
71
+ * created from it. Sync is intentionally explicit (button-triggered) so a
72
+ * config tweak doesn't silently re-deploy across the whole fleet.
73
+ *
74
+ * Pass `fields` to scope the sync — e.g. `["monitorSteps"]` to push only the
75
+ * criteria. If omitted, every syncable field is pushed.
76
+ */
77
+ async syncLinkedMonitors(data) {
78
+ const fields = this.validateSyncableFields(data.fields);
79
+ const template = await this.findOneById({
80
+ id: data.monitorTemplateId,
81
+ select: {
82
+ _id: true,
83
+ projectId: true,
84
+ monitorSteps: true,
85
+ monitoringInterval: true,
86
+ minimumProbeAgreement: true,
87
+ },
88
+ props: data.props,
89
+ });
90
+ if (!template) {
91
+ throw new BadDataException("Monitor template not found");
92
+ }
93
+ if (!template.projectId) {
94
+ throw new BadDataException("Monitor template is missing projectId");
95
+ }
96
+ const totalLinkedMonitors = await this.countLinkedMonitors({
97
+ monitorTemplateId: template.id,
98
+ projectId: template.projectId,
99
+ });
100
+ if (totalLinkedMonitors === 0) {
101
+ return {
102
+ totalLinkedMonitors: 0,
103
+ syncedMonitors: 0,
104
+ };
105
+ }
106
+ const updateData = this.buildUpdateData(template, fields);
107
+ if (Object.keys(updateData).length === 0) {
108
+ return {
109
+ totalLinkedMonitors,
110
+ syncedMonitors: 0,
111
+ };
112
+ }
113
+ const syncedMonitors = await MonitorService.updateBy({
114
+ query: {
115
+ monitorTemplateId: template.id,
116
+ projectId: template.projectId,
117
+ },
118
+ data: updateData,
119
+ limit: LIMIT_MAX,
120
+ skip: 0,
121
+ props: data.props,
122
+ });
123
+ return {
124
+ totalLinkedMonitors,
125
+ syncedMonitors,
126
+ };
127
+ }
128
+ /**
129
+ * Sync the template's current configuration onto a single monitor that was
130
+ * created from it. The monitor must be linked to this template — passing an
131
+ * arbitrary monitor ID is rejected so the endpoint can't be tricked into
132
+ * pushing config to an unrelated monitor.
133
+ *
134
+ * Pass `fields` to scope the sync; if omitted, every syncable field is
135
+ * pushed.
136
+ */
137
+ async syncToMonitor(data) {
138
+ const fields = this.validateSyncableFields(data.fields);
139
+ const template = await this.findOneById({
140
+ id: data.monitorTemplateId,
141
+ select: {
142
+ _id: true,
143
+ projectId: true,
144
+ monitorSteps: true,
145
+ monitoringInterval: true,
146
+ minimumProbeAgreement: true,
147
+ },
148
+ props: data.props,
149
+ });
150
+ if (!template) {
151
+ throw new BadDataException("Monitor template not found");
152
+ }
153
+ if (!template.projectId) {
154
+ throw new BadDataException("Monitor template is missing projectId");
155
+ }
156
+ const monitor = await MonitorService.findOneById({
157
+ id: data.monitorId,
158
+ select: {
159
+ _id: true,
160
+ projectId: true,
161
+ monitorTemplateId: true,
162
+ },
163
+ props: { isRoot: true },
164
+ });
165
+ if (!monitor) {
166
+ throw new BadDataException("Monitor not found");
167
+ }
168
+ if (!monitor.monitorTemplateId ||
169
+ monitor.monitorTemplateId.toString() !== template.id.toString()) {
170
+ throw new BadDataException("Monitor is not linked to this template");
171
+ }
172
+ if (!monitor.projectId ||
173
+ monitor.projectId.toString() !== template.projectId.toString()) {
174
+ throw new BadDataException("Monitor and template belong to different projects");
175
+ }
176
+ const updateData = this.buildUpdateData(template, fields);
177
+ if (Object.keys(updateData).length === 0) {
178
+ return;
179
+ }
180
+ await MonitorService.updateOneById({
181
+ id: data.monitorId,
182
+ data: updateData,
183
+ props: data.props,
184
+ });
185
+ }
186
+ /**
187
+ * Link an existing monitor to this template. The monitor must be in the same
188
+ * project AND have the same monitorType as the template — anything else is
189
+ * rejected, so a user can't (e.g.) link an API monitor to a Server-monitor
190
+ * template and then sync incompatible criteria onto it.
191
+ */
192
+ async linkMonitor(data) {
193
+ const template = await this.findOneById({
194
+ id: data.monitorTemplateId,
195
+ select: {
196
+ _id: true,
197
+ projectId: true,
198
+ monitorType: true,
199
+ },
200
+ props: data.props,
201
+ });
202
+ if (!template) {
203
+ throw new BadDataException("Monitor template not found");
204
+ }
205
+ if (!template.projectId) {
206
+ throw new BadDataException("Monitor template is missing projectId");
207
+ }
208
+ if (!template.monitorType) {
209
+ throw new BadDataException("Monitor template is missing monitorType");
210
+ }
211
+ const monitor = await MonitorService.findOneById({
212
+ id: data.monitorId,
213
+ select: {
214
+ _id: true,
215
+ projectId: true,
216
+ monitorType: true,
217
+ },
218
+ props: data.props,
219
+ });
220
+ if (!monitor) {
221
+ throw new BadDataException("Monitor not found");
222
+ }
223
+ if (!monitor.projectId ||
224
+ monitor.projectId.toString() !== template.projectId.toString()) {
225
+ throw new BadDataException("Monitor and template belong to different projects");
226
+ }
227
+ if (monitor.monitorType !== template.monitorType) {
228
+ throw new BadDataException(`Monitor type "${monitor.monitorType}" does not match template type "${template.monitorType}"`);
229
+ }
230
+ await MonitorService.updateOneById({
231
+ id: data.monitorId,
232
+ data: {
233
+ monitorTemplateId: template.id,
234
+ },
235
+ props: data.props,
236
+ });
237
+ }
238
+ /**
239
+ * Detach a monitor from this template. The monitor must currently be linked
240
+ * to *this* template — passing a monitor linked elsewhere (or unlinked) is
241
+ * rejected so a stale UI can't accidentally clear someone else's link.
242
+ */
243
+ async unlinkMonitor(data) {
244
+ const monitor = await MonitorService.findOneById({
245
+ id: data.monitorId,
246
+ select: {
247
+ _id: true,
248
+ monitorTemplateId: true,
249
+ },
250
+ props: data.props,
251
+ });
252
+ if (!monitor) {
253
+ throw new BadDataException("Monitor not found");
254
+ }
255
+ if (!monitor.monitorTemplateId ||
256
+ monitor.monitorTemplateId.toString() !== data.monitorTemplateId.toString()) {
257
+ throw new BadDataException("Monitor is not linked to this template");
258
+ }
259
+ await MonitorService.updateOneById({
260
+ id: data.monitorId,
261
+ data: {
262
+ monitorTemplateId: null,
263
+ },
264
+ props: data.props,
265
+ });
266
+ }
7
267
  }
268
+ __decorate([
269
+ CaptureSpan(),
270
+ __metadata("design:type", Function),
271
+ __metadata("design:paramtypes", [Object]),
272
+ __metadata("design:returntype", Promise)
273
+ ], Service.prototype, "countLinkedMonitors", null);
274
+ __decorate([
275
+ CaptureSpan(),
276
+ __metadata("design:type", Function),
277
+ __metadata("design:paramtypes", [Object]),
278
+ __metadata("design:returntype", Promise)
279
+ ], Service.prototype, "syncLinkedMonitors", null);
280
+ __decorate([
281
+ CaptureSpan(),
282
+ __metadata("design:type", Function),
283
+ __metadata("design:paramtypes", [Object]),
284
+ __metadata("design:returntype", Promise)
285
+ ], Service.prototype, "syncToMonitor", null);
286
+ __decorate([
287
+ CaptureSpan(),
288
+ __metadata("design:type", Function),
289
+ __metadata("design:paramtypes", [Object]),
290
+ __metadata("design:returntype", Promise)
291
+ ], Service.prototype, "linkMonitor", null);
292
+ __decorate([
293
+ CaptureSpan(),
294
+ __metadata("design:type", Function),
295
+ __metadata("design:paramtypes", [Object]),
296
+ __metadata("design:returntype", Promise)
297
+ ], Service.prototype, "unlinkMonitor", null);
8
298
  export default new Service();
9
299
  //# sourceMappingURL=MonitorTemplateService.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MonitorTemplateService.js","sourceRoot":"","sources":["../../../../Server/Services/MonitorTemplateService.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,MAAM,6CAA6C,CAAC;AAEhE,MAAM,OAAO,OAAQ,SAAQ,eAAsB;IACjD;QACE,KAAK,CAAC,KAAK,CAAC,CAAC;IACf,CAAC;CACF;AACD,eAAe,IAAI,OAAO,EAAE,CAAC"}
1
+ {"version":3,"file":"MonitorTemplateService.js","sourceRoot":"","sources":["../../../../Server/Services/MonitorTemplateService.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,19 @@ var DashboardComponentType;
10
10
  DashboardComponentType["IncidentList"] = "IncidentList";
11
11
  DashboardComponentType["AlertList"] = "AlertList";
12
12
  DashboardComponentType["MonitorList"] = "MonitorList";
13
+ DashboardComponentType["KubernetesPodList"] = "KubernetesPodList";
14
+ DashboardComponentType["KubernetesNodeList"] = "KubernetesNodeList";
15
+ DashboardComponentType["KubernetesNamespaceList"] = "KubernetesNamespaceList";
16
+ DashboardComponentType["KubernetesDeploymentList"] = "KubernetesDeploymentList";
17
+ DashboardComponentType["KubernetesStatefulSetList"] = "KubernetesStatefulSetList";
18
+ DashboardComponentType["KubernetesDaemonSetList"] = "KubernetesDaemonSetList";
19
+ DashboardComponentType["KubernetesJobList"] = "KubernetesJobList";
20
+ DashboardComponentType["KubernetesCronJobList"] = "KubernetesCronJobList";
21
+ DashboardComponentType["DockerHostList"] = "DockerHostList";
22
+ DashboardComponentType["DockerContainerList"] = "DockerContainerList";
23
+ DashboardComponentType["DockerImageList"] = "DockerImageList";
24
+ DashboardComponentType["DockerNetworkList"] = "DockerNetworkList";
25
+ DashboardComponentType["DockerVolumeList"] = "DockerVolumeList";
13
26
  })(DashboardComponentType || (DashboardComponentType = {}));
14
27
  export default DashboardComponentType;
15
28
  //# sourceMappingURL=DashboardComponentType.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DashboardComponentType.js","sourceRoot":"","sources":["../../../../Types/Dashboard/DashboardComponentType.ts"],"names":[],"mappings":"AAAA,IAAK,sBAWJ;AAXD,WAAK,sBAAsB;IACzB,yCAAe,CAAA;IACf,yCAAe,CAAA;IACf,uCAAa,CAAA;IACb,yCAAe,CAAA;IACf,yCAAe,CAAA;IACf,iDAAuB,CAAA;IACvB,iDAAuB,CAAA;IACvB,uDAA6B,CAAA;IAC7B,iDAAuB,CAAA;IACvB,qDAA2B,CAAA;AAC7B,CAAC,EAXI,sBAAsB,KAAtB,sBAAsB,QAW1B;AAED,eAAe,sBAAsB,CAAC"}
1
+ {"version":3,"file":"DashboardComponentType.js","sourceRoot":"","sources":["../../../../Types/Dashboard/DashboardComponentType.ts"],"names":[],"mappings":"AAAA,IAAK,sBAwBJ;AAxBD,WAAK,sBAAsB;IACzB,yCAAe,CAAA;IACf,yCAAe,CAAA;IACf,uCAAa,CAAA;IACb,yCAAe,CAAA;IACf,yCAAe,CAAA;IACf,iDAAuB,CAAA;IACvB,iDAAuB,CAAA;IACvB,uDAA6B,CAAA;IAC7B,iDAAuB,CAAA;IACvB,qDAA2B,CAAA;IAC3B,iEAAuC,CAAA;IACvC,mEAAyC,CAAA;IACzC,6EAAmD,CAAA;IACnD,+EAAqD,CAAA;IACrD,iFAAuD,CAAA;IACvD,6EAAmD,CAAA;IACnD,iEAAuC,CAAA;IACvC,yEAA+C,CAAA;IAC/C,2DAAiC,CAAA;IACjC,qEAA2C,CAAA;IAC3C,6DAAmC,CAAA;IACnC,iEAAuC,CAAA;IACvC,+DAAqC,CAAA;AACvC,CAAC,EAxBI,sBAAsB,KAAtB,sBAAsB,QAwB1B;AAED,eAAe,sBAAsB,CAAC"}
@@ -10,5 +10,20 @@ export var ComponentInputType;
10
10
  ComponentInputType["MetricsQueryConfigs"] = "MetricsQueryConfigs";
11
11
  ComponentInputType["LongText"] = "Long Text";
12
12
  ComponentInputType["Dropdown"] = "Dropdown";
13
+ ComponentInputType["MultiSelectDropdown"] = "MultiSelectDropdown";
14
+ ComponentInputType["EntityDropdown"] = "EntityDropdown";
15
+ ComponentInputType["EntityMultiSelectDropdown"] = "EntityMultiSelectDropdown";
13
16
  })(ComponentInputType || (ComponentInputType = {}));
17
+ export var EntityFilterModelType;
18
+ (function (EntityFilterModelType) {
19
+ EntityFilterModelType["IncidentSeverity"] = "IncidentSeverity";
20
+ EntityFilterModelType["AlertSeverity"] = "AlertSeverity";
21
+ EntityFilterModelType["IncidentState"] = "IncidentState";
22
+ EntityFilterModelType["AlertState"] = "AlertState";
23
+ EntityFilterModelType["MonitorStatus"] = "MonitorStatus";
24
+ EntityFilterModelType["Monitor"] = "Monitor";
25
+ EntityFilterModelType["Label"] = "Label";
26
+ EntityFilterModelType["KubernetesCluster"] = "KubernetesCluster";
27
+ EntityFilterModelType["DockerHost"] = "DockerHost";
28
+ })(EntityFilterModelType || (EntityFilterModelType = {}));
14
29
  //# sourceMappingURL=ComponentArgument.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ComponentArgument.js","sourceRoot":"","sources":["../../../../../Types/Dashboard/DashboardComponents/ComponentArgument.ts"],"names":[],"mappings":"AAGA,MAAM,CAAN,IAAY,kBAWX;AAXD,WAAY,kBAAkB;IAC5B,mCAAa,CAAA;IACb,mCAAa,CAAA;IACb,4CAAsB,CAAA;IACtB,+CAAyB,CAAA;IACzB,uCAAiB,CAAA;IACjB,yCAAmB,CAAA;IACnB,+DAAyC,CAAA;IACzC,iEAA2C,CAAA;IAC3C,4CAAsB,CAAA;IACtB,2CAAqB,CAAA;AACvB,CAAC,EAXW,kBAAkB,KAAlB,kBAAkB,QAW7B"}
1
+ {"version":3,"file":"ComponentArgument.js","sourceRoot":"","sources":["../../../../../Types/Dashboard/DashboardComponents/ComponentArgument.ts"],"names":[],"mappings":"AAGA,MAAM,CAAN,IAAY,kBAcX;AAdD,WAAY,kBAAkB;IAC5B,mCAAa,CAAA;IACb,mCAAa,CAAA;IACb,4CAAsB,CAAA;IACtB,+CAAyB,CAAA;IACzB,uCAAiB,CAAA;IACjB,yCAAmB,CAAA;IACnB,+DAAyC,CAAA;IACzC,iEAA2C,CAAA;IAC3C,4CAAsB,CAAA;IACtB,2CAAqB,CAAA;IACrB,iEAA2C,CAAA;IAC3C,uDAAiC,CAAA;IACjC,6EAAuD,CAAA;AACzD,CAAC,EAdW,kBAAkB,KAAlB,kBAAkB,QAc7B;AAED,MAAM,CAAN,IAAY,qBAUX;AAVD,WAAY,qBAAqB;IAC/B,8DAAqC,CAAA;IACrC,wDAA+B,CAAA;IAC/B,wDAA+B,CAAA;IAC/B,kDAAyB,CAAA;IACzB,wDAA+B,CAAA;IAC/B,4CAAmB,CAAA;IACnB,wCAAe,CAAA;IACf,gEAAuC,CAAA;IACvC,kDAAyB,CAAA;AAC3B,CAAC,EAVW,qBAAqB,KAArB,qBAAqB,QAUhC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=DashboardDockerContainerListComponent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DashboardDockerContainerListComponent.js","sourceRoot":"","sources":["../../../../../Types/Dashboard/DashboardComponents/DashboardDockerContainerListComponent.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=DashboardDockerHostListComponent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DashboardDockerHostListComponent.js","sourceRoot":"","sources":["../../../../../Types/Dashboard/DashboardComponents/DashboardDockerHostListComponent.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=DashboardDockerImageListComponent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DashboardDockerImageListComponent.js","sourceRoot":"","sources":["../../../../../Types/Dashboard/DashboardComponents/DashboardDockerImageListComponent.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=DashboardDockerNetworkListComponent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DashboardDockerNetworkListComponent.js","sourceRoot":"","sources":["../../../../../Types/Dashboard/DashboardComponents/DashboardDockerNetworkListComponent.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=DashboardDockerVolumeListComponent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DashboardDockerVolumeListComponent.js","sourceRoot":"","sources":["../../../../../Types/Dashboard/DashboardComponents/DashboardDockerVolumeListComponent.ts"],"names":[],"mappings":""}