@serve.zone/interfaces 32.51.0 → 32.52.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/changelog.md +36 -0
- package/dist_ts/00_commitinfo_data.js +1 -1
- package/dist_ts/data/clusternode.d.ts +7 -0
- package/dist_ts/data/clusternode.js +1 -1
- package/dist_ts/data/clusternodehostname.d.ts +63 -0
- package/dist_ts/data/clusternodehostname.js +122 -0
- package/dist_ts/data/index.d.ts +1 -0
- package/dist_ts/data/index.js +2 -1
- package/dist_ts/data/sparknodereport.d.ts +60 -0
- package/dist_ts/data/sparknodereport.js +66 -3
- package/dist_ts/requests/node.d.ts +59 -0
- package/package.json +1 -1
- package/readme.md +18 -0
- package/ts/00_commitinfo_data.ts +1 -1
- package/ts/data/clusternode.ts +8 -0
- package/ts/data/clusternodehostname.ts +153 -0
- package/ts/data/index.ts +1 -0
- package/ts/data/sparknodereport.ts +112 -2
- package/ts/requests/node.ts +67 -0
package/ts/requests/node.ts
CHANGED
|
@@ -150,6 +150,13 @@ export interface IReq_Any_Cloudly_CreateNodeJumpCommand extends plugins.typedreq
|
|
|
150
150
|
role?: IClusterNode['data']['role'];
|
|
151
151
|
nodeType?: IClusterNode['data']['nodeType'];
|
|
152
152
|
ttlMs?: number;
|
|
153
|
+
/**
|
|
154
|
+
* The new node's name (`data.isClusterNodeName`). The setup command names the host
|
|
155
|
+
* `cloudly-worker-<nodeName>` (`data.deriveDefaultClusterNodeHostname`) before it enrolls, so
|
|
156
|
+
* the node enrolls under its default hostname. Absent, the node keeps the hostname it has and
|
|
157
|
+
* its name is proposed from that (`data.proposeClusterNodeName`).
|
|
158
|
+
*/
|
|
159
|
+
nodeName?: string;
|
|
153
160
|
};
|
|
154
161
|
response: {
|
|
155
162
|
jumpCode: string;
|
|
@@ -356,6 +363,66 @@ export interface IReq_Any_Cloudly_SetClusterNodeCorestoreDatabaseEndpoint extend
|
|
|
356
363
|
};
|
|
357
364
|
}
|
|
358
365
|
|
|
366
|
+
/**
|
|
367
|
+
* An administrator renames a node: the static hostname Cloudly wants it to carry
|
|
368
|
+
* (`IClusterNode.data.hostnameIntent.hostname`).
|
|
369
|
+
*
|
|
370
|
+
* The node's name stays as it is: the new intent keeps the name of the node's current intent. A
|
|
371
|
+
* node without an intent takes the name `data.proposeClusterNodeName(hostname)` (`foo` names the
|
|
372
|
+
* node `foo`, `cloudly-worker-grasberg` names it `grasberg`), and is refused `name-invalid` when
|
|
373
|
+
* that is `null`.
|
|
374
|
+
*
|
|
375
|
+
* Cloudly records the intent and answers at once; Spark applies the intent of the latest
|
|
376
|
+
* generation on the host and the node has converged when its report states the new hostname. A new
|
|
377
|
+
* intent may replace one the node has not converged to, whether it is still applying, failed or
|
|
378
|
+
* never reached the node. `expectedGeneration` is the generation of the node's current intent, `0`
|
|
379
|
+
* when it has none, and serializes concurrent changes. Every refusal is one of
|
|
380
|
+
* `data.clusterNodeHostnameRefusals` and changes nothing.
|
|
381
|
+
*/
|
|
382
|
+
export interface IReq_Any_Cloudly_SetClusterNodeHostname extends plugins.typedrequestInterfaces.implementsTR<
|
|
383
|
+
plugins.typedrequestInterfaces.ITypedRequest,
|
|
384
|
+
IReq_Any_Cloudly_SetClusterNodeHostname
|
|
385
|
+
> {
|
|
386
|
+
method: 'setClusterNodeHostname';
|
|
387
|
+
request: {
|
|
388
|
+
identity: IIdentity;
|
|
389
|
+
nodeId: string;
|
|
390
|
+
expectedGeneration: number;
|
|
391
|
+
/** One lowercase RFC 1123 label (`data.isClusterNodeHostname`). */
|
|
392
|
+
hostname: string;
|
|
393
|
+
};
|
|
394
|
+
response: {
|
|
395
|
+
/** The node as it now stands, carrying the new intent. */
|
|
396
|
+
node: IClusterNode;
|
|
397
|
+
};
|
|
398
|
+
}
|
|
399
|
+
|
|
400
|
+
/**
|
|
401
|
+
* An administrator resets a node to the default scheme: hostname `cloudly-worker-<name>`
|
|
402
|
+
* (`data.deriveDefaultClusterNodeHostname`).
|
|
403
|
+
*
|
|
404
|
+
* `name` replaces the node's name when stated; absent, the name of the node's current intent is
|
|
405
|
+
* used, and a node without an intent is refused `name-invalid`. Recorded, applied and replaceable
|
|
406
|
+
* exactly like `setClusterNodeHostname`, with the same refusals.
|
|
407
|
+
*/
|
|
408
|
+
export interface IReq_Any_Cloudly_ResetClusterNodeHostname extends plugins.typedrequestInterfaces.implementsTR<
|
|
409
|
+
plugins.typedrequestInterfaces.ITypedRequest,
|
|
410
|
+
IReq_Any_Cloudly_ResetClusterNodeHostname
|
|
411
|
+
> {
|
|
412
|
+
method: 'resetClusterNodeHostname';
|
|
413
|
+
request: {
|
|
414
|
+
identity: IIdentity;
|
|
415
|
+
nodeId: string;
|
|
416
|
+
expectedGeneration: number;
|
|
417
|
+
/** The node's name (`data.isClusterNodeName`). */
|
|
418
|
+
name?: string;
|
|
419
|
+
};
|
|
420
|
+
response: {
|
|
421
|
+
/** The node as it now stands, carrying the new intent. */
|
|
422
|
+
node: IClusterNode;
|
|
423
|
+
};
|
|
424
|
+
}
|
|
425
|
+
|
|
359
426
|
export interface IReq_Any_Cloudly_CreateNodeAction extends plugins.typedrequestInterfaces.implementsTR<
|
|
360
427
|
plugins.typedrequestInterfaces.ITypedRequest,
|
|
361
428
|
IReq_Any_Cloudly_CreateNodeAction
|