chore(cloudly): consume released Spark interfaces

This commit is contained in:
2026-05-24 12:54:09 +00:00
parent 6565c44c29
commit 057af996aa
5 changed files with 20 additions and 9 deletions
+1
View File
@@ -12,6 +12,7 @@
### Maintenance ### Maintenance
- refresh release tooling dependencies - refresh release tooling dependencies
- update `@serve.zone/interfaces` to the Spark telemetry contract release
## 2026-05-24 - 5.8.2 ## 2026-05-24 - 5.8.2
+1 -1
View File
@@ -79,7 +79,7 @@
"@push.rocks/taskbuffer": "^8.0.2", "@push.rocks/taskbuffer": "^8.0.2",
"@push.rocks/webjwt": "^1.0.10", "@push.rocks/webjwt": "^1.0.10",
"@serve.zone/api": "^5.3.8", "@serve.zone/api": "^5.3.8",
"@serve.zone/interfaces": "^5.9.0", "@serve.zone/interfaces": "^5.10.0",
"@tsclass/tsclass": "^9.5.1" "@tsclass/tsclass": "^9.5.1"
}, },
"files": [ "files": [
+11 -2
View File
@@ -144,8 +144,8 @@ importers:
specifier: ^5.3.8 specifier: ^5.3.8
version: 5.3.8(@push.rocks/smartserve@2.0.4) version: 5.3.8(@push.rocks/smartserve@2.0.4)
'@serve.zone/interfaces': '@serve.zone/interfaces':
specifier: ^5.9.0 specifier: ^5.10.0
version: 5.9.0 version: 5.10.0
'@tsclass/tsclass': '@tsclass/tsclass':
specifier: ^9.5.1 specifier: ^9.5.1
version: 9.5.1 version: 9.5.1
@@ -2030,6 +2030,9 @@ packages:
'@serve.zone/api@5.3.8': '@serve.zone/api@5.3.8':
resolution: {integrity: sha512-k3IU4mcHuk5pKB+X7rhYWGK+j5hyyDzFoqR3ytzG1iidvgDEIIToQJq+mB3E1v6X1+tI3WyYUaMN/TaZRz0l0w==} resolution: {integrity: sha512-k3IU4mcHuk5pKB+X7rhYWGK+j5hyyDzFoqR3ytzG1iidvgDEIIToQJq+mB3E1v6X1+tI3WyYUaMN/TaZRz0l0w==}
'@serve.zone/interfaces@5.10.0':
resolution: {integrity: sha512-8ZnP1A43UZlYwfd2j+S0Yin//didacIX2Rou9MobRuSFFgi1RQOqQcIWqOINcDk80wBDuYkyMCwHygYxD5i+Ig==}
'@serve.zone/interfaces@5.9.0': '@serve.zone/interfaces@5.9.0':
resolution: {integrity: sha512-XMXyTXTMcB8AX6zYOMO+Jt5bOv9ujyXj5miE6lrgyT8g+eJ/I6sUFqVNUKJ3LiMk/yFWsPln7HtZeZKDEhaCwQ==} resolution: {integrity: sha512-XMXyTXTMcB8AX6zYOMO+Jt5bOv9ujyXj5miE6lrgyT8g+eJ/I6sUFqVNUKJ3LiMk/yFWsPln7HtZeZKDEhaCwQ==}
@@ -7776,6 +7779,12 @@ snapshots:
transitivePeerDependencies: transitivePeerDependencies:
- '@push.rocks/smartserve' - '@push.rocks/smartserve'
'@serve.zone/interfaces@5.10.0':
dependencies:
'@api.global/typedrequest-interfaces': 3.0.19
'@push.rocks/smartlog-interfaces': 3.0.2
'@tsclass/tsclass': 9.5.1
'@serve.zone/interfaces@5.9.0': '@serve.zone/interfaces@5.9.0':
dependencies: dependencies:
'@api.global/typedrequest-interfaces': 3.0.19 '@api.global/typedrequest-interfaces': 3.0.19
+2 -4
View File
@@ -59,12 +59,10 @@ export class ClusterNode extends plugins.smartdata.SmartDataDbDoc<
public async updateSparkHeartbeat( public async updateSparkHeartbeat(
metricsArg: plugins.servezoneInterfaces.data.IClusterNodeMetrics, metricsArg: plugins.servezoneInterfaces.data.IClusterNodeMetrics,
runtimeInfoArg: Record<string, unknown>, runtimeInfoArg: plugins.servezoneInterfaces.data.ISparkNodeRuntimeInfo,
) { ) {
this.data.metrics = metricsArg; this.data.metrics = metricsArg;
(this.data as plugins.servezoneInterfaces.data.IClusterNode['data'] & { this.data.sparkRuntimeInfo = runtimeInfoArg;
sparkRuntimeInfo?: Record<string, unknown>;
}).sparkRuntimeInfo = runtimeInfoArg;
this.data.status = 'online'; this.data.status = 'online';
this.data.lastHealthCheck = Date.now(); this.data.lastHealthCheck = Date.now();
if (typeof runtimeInfoArg.swarmNodeId === 'string' && runtimeInfoArg.swarmNodeId) { if (typeof runtimeInfoArg.swarmNodeId === 'string' && runtimeInfoArg.swarmNodeId) {
+5 -2
View File
@@ -8,7 +8,7 @@ interface ISparkHeartbeatRequest {
nodeId?: string; nodeId?: string;
nodeToken?: string; nodeToken?: string;
metrics?: plugins.servezoneInterfaces.data.IClusterNodeMetrics; metrics?: plugins.servezoneInterfaces.data.IClusterNodeMetrics;
runtimeInfo?: Record<string, unknown>; runtimeInfo?: plugins.servezoneInterfaces.data.ISparkNodeRuntimeInfo;
} }
interface ISparkHeartbeatResponse { interface ISparkHeartbeatResponse {
@@ -223,7 +223,10 @@ export class CloudlyNodeManager {
&& typeof metrics.timestamp === 'number'; && typeof metrics.timestamp === 'number';
} }
private isSparkRuntimeInfo(valueArg: unknown, nodeIdArg: string): valueArg is Record<string, unknown> { private isSparkRuntimeInfo(
valueArg: unknown,
nodeIdArg: string,
): valueArg is plugins.servezoneInterfaces.data.ISparkNodeRuntimeInfo {
if (!valueArg || typeof valueArg !== 'object') { if (!valueArg || typeof valueArg !== 'object') {
return false; return false;
} }