@serve.zone/interfaces 32.15.0 → 32.16.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 +9 -0
- package/dist_ts/00_commitinfo_data.js +1 -1
- package/dist_ts/data/fleetcutover.d.ts +65 -0
- package/dist_ts/data/fleetcutover.js +215 -7
- package/package.json +1 -1
- package/readme.md +38 -0
- package/ts/00_commitinfo_data.ts +1 -1
- package/ts/data/fleetcutover.ts +314 -5
package/changelog.md
CHANGED
|
@@ -1,5 +1,14 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 2026-09-20 - 32.16.0
|
|
4
|
+
|
|
5
|
+
### Features
|
|
6
|
+
|
|
7
|
+
- Add bounded Docker census derivation helpers for full open-schema service-spec digests, exact
|
|
8
|
+
duplicate-preserving constraint identity, desired-task counts, established ownership labels and
|
|
9
|
+
exact mount classification. Preserve physical volume source identity while adding optional,
|
|
10
|
+
complete value-free correlation evidence from a local volume name to its service-spec mount.
|
|
11
|
+
|
|
3
12
|
## 2026-09-20 - 32.15.0
|
|
4
13
|
|
|
5
14
|
### Features
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
export const commitinfo = {
|
|
5
5
|
name: '@serve.zone/interfaces',
|
|
6
|
-
version: '32.
|
|
6
|
+
version: '32.16.0',
|
|
7
7
|
description: 'Shared TypeScript interfaces and TypedRequest contracts for the serve.zone ecosystem.'
|
|
8
8
|
};
|
|
9
9
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMDBfY29tbWl0aW5mb19kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvMDBfY29tbWl0aW5mb19kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHO0lBQ3hCLElBQUksRUFBRSx3QkFBd0I7SUFDOUIsT0FBTyxFQUFFLFNBQVM7SUFDbEIsV0FBVyxFQUFFLHVGQUF1RjtDQUNyRyxDQUFBIn0=
|
|
@@ -35,6 +35,33 @@ export interface IFleetCutoverMountTargetIdentityInput {
|
|
|
35
35
|
/** Docker Engine Mount.Destination exact UTF-8 bytes; never normalize. */
|
|
36
36
|
target: string;
|
|
37
37
|
}
|
|
38
|
+
export interface IFleetCutoverDockerMountInput {
|
|
39
|
+
/** Raw Docker mount type. Unsupported values produce an explicit unknown descriptor. */
|
|
40
|
+
type: string;
|
|
41
|
+
/** Exact source bytes from the Docker object being described; never substitute another field. */
|
|
42
|
+
source: string;
|
|
43
|
+
/** Exact container target bytes from the Docker object being described. */
|
|
44
|
+
target: string;
|
|
45
|
+
readOnly: boolean;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Value-free correlation between one local physical mount and its service-spec mount identity.
|
|
49
|
+
* The two identities stay distinct: a Docker volume's local Source is a host path while its
|
|
50
|
+
* service Source and local Name are the logical volume name.
|
|
51
|
+
*/
|
|
52
|
+
export interface IFleetCutoverPhysicalMountCorrelation {
|
|
53
|
+
physicalMountIdentityDigest: TSha256Digest;
|
|
54
|
+
serviceMountIdentityDigest: TSha256Digest;
|
|
55
|
+
correlationIdentityDigest: TSha256Digest;
|
|
56
|
+
}
|
|
57
|
+
export interface IFleetCutoverPhysicalMountEvidence {
|
|
58
|
+
mount: IFleetCutoverMountDescriptor;
|
|
59
|
+
correlation: IFleetCutoverPhysicalMountCorrelation;
|
|
60
|
+
}
|
|
61
|
+
export interface IFleetCutoverDockerConstraintSetIdentity {
|
|
62
|
+
constraintCount: number;
|
|
63
|
+
constraintSetDigest: TSha256Digest;
|
|
64
|
+
}
|
|
38
65
|
export type TFleetCutoverDockerTaskState = 'new' | 'allocated' | 'pending' | 'assigned' | 'accepted' | 'preparing' | 'ready' | 'starting' | 'running' | 'complete' | 'shutdown' | 'failed' | 'rejected' | 'remove' | 'orphaned';
|
|
39
66
|
export type TFleetCutoverDockerDesiredState = TFleetCutoverDockerTaskState;
|
|
40
67
|
export type TFleetCutoverDockerServiceMode = {
|
|
@@ -83,6 +110,11 @@ export interface IFleetCutoverPhysicalContainer {
|
|
|
83
110
|
imageId: TSha256Digest;
|
|
84
111
|
serviceIdLabel: string | null;
|
|
85
112
|
mounts: IFleetCutoverMountDescriptor[];
|
|
113
|
+
/**
|
|
114
|
+
* Optional only for compatibility with observations predating correlation evidence. When
|
|
115
|
+
* present it is a complete one-to-one mapping of mounts. Absence establishes no mount join.
|
|
116
|
+
*/
|
|
117
|
+
mountCorrelations?: IFleetCutoverPhysicalMountCorrelation[];
|
|
86
118
|
}
|
|
87
119
|
export interface IFleetCutoverContainerSetIdentity {
|
|
88
120
|
containerCount: number;
|
|
@@ -554,6 +586,9 @@ export declare const fleetCutoverContract: Readonly<{
|
|
|
554
586
|
readonly maximumNodes: 1024;
|
|
555
587
|
readonly maximumContainersPerNode: 512;
|
|
556
588
|
readonly maximumMountsPerOwner: 32;
|
|
589
|
+
readonly maximumConstraintsPerService: 256;
|
|
590
|
+
readonly maximumDockerTextBytes: 4096;
|
|
591
|
+
readonly maximumDockerServiceSpecCanonicalBytes: 1048576;
|
|
557
592
|
readonly maximumPreparedVolumeHandoffMutationEntries: 32;
|
|
558
593
|
/** Every admitted task has one node placement and at most 32 mounts: 4096 * 32. */
|
|
559
594
|
readonly maximumPreparedVolumeHandoffs: number;
|
|
@@ -564,6 +599,9 @@ export declare const fleetCutoverContract: Readonly<{
|
|
|
564
599
|
readonly mountSourceIdentityDigestDomain: "serve.zone/fleet-cutover-mount-source-identity";
|
|
565
600
|
readonly mountTargetIdentityDigestDomain: "serve.zone/fleet-cutover-mount-target-identity";
|
|
566
601
|
readonly mountIdentityDigestDomain: "serve.zone/fleet-cutover-mount-identity";
|
|
602
|
+
readonly mountCorrelationIdentityDigestDomain: "serve.zone/fleet-cutover-mount-correlation-identity";
|
|
603
|
+
readonly dockerServiceSpecDigestDomain: "serve.zone/fleet-cutover-docker-service-spec";
|
|
604
|
+
readonly dockerConstraintSetDigestDomain: "serve.zone/fleet-cutover-docker-constraint-set";
|
|
567
605
|
readonly containerSetIdentityDigestDomain: "serve.zone/fleet-cutover-container-set-identity";
|
|
568
606
|
readonly localNodeSnapshotDigestDomain: "serve.zone/fleet-cutover-local-node-snapshot";
|
|
569
607
|
readonly managerSnapshotDigestDomain: "serve.zone/fleet-cutover-manager-snapshot";
|
|
@@ -588,9 +626,36 @@ export declare const fleetCutoverContract: Readonly<{
|
|
|
588
626
|
pallet: null;
|
|
589
627
|
}>;
|
|
590
628
|
}>;
|
|
629
|
+
/** Docker labels with established historical producer semantics. */
|
|
630
|
+
export declare const fleetCutoverDockerLabelNames: Readonly<{
|
|
631
|
+
readonly serviceId: "serve.zone.serviceId";
|
|
632
|
+
}>;
|
|
633
|
+
/**
|
|
634
|
+
* Hash the complete open-schema Docker Service.Spec object. Unknown response properties are
|
|
635
|
+
* intentionally included: this helper returns only the digest and never a retained projection.
|
|
636
|
+
*/
|
|
637
|
+
export declare const computeFleetCutoverDockerServiceSpecDigest: (valueArg: unknown) => Promise<TSha256Digest>;
|
|
638
|
+
/** Sort exact constraint strings while preserving duplicate entries, then return value-free identity. */
|
|
639
|
+
export declare const computeFleetCutoverDockerConstraintSetIdentity: (valueArg: unknown) => Promise<IFleetCutoverDockerConstraintSetIdentity>;
|
|
640
|
+
export declare const snapshotFleetCutoverDockerDesiredTaskCount: (valueArg: unknown) => number;
|
|
641
|
+
export declare const validateFleetCutoverDockerDesiredTaskCount: (valueArg: unknown) => string[];
|
|
642
|
+
/** Apply only the documented exact cutover mount classifications; no path normalization occurs. */
|
|
643
|
+
export declare const classifyFleetCutoverDockerMount: (valueArg: IFleetCutoverDockerMountInput) => Pick<IFleetCutoverMountDescriptor, "type" | "classification">;
|
|
644
|
+
export declare const createFleetCutoverMountDescriptor: (valueArg: IFleetCutoverDockerMountInput) => Promise<IFleetCutoverMountDescriptor>;
|
|
645
|
+
/** Read only consumed Service.Spec Mount fields; future Docker response properties are ignored. */
|
|
646
|
+
export declare const createFleetCutoverDockerServiceMountDescriptor: (valueArg: unknown) => Promise<IFleetCutoverMountDescriptor>;
|
|
647
|
+
/** Read only consumed local MountPoint fields and retain the exact physical Source identity. */
|
|
648
|
+
export declare const createFleetCutoverDockerLocalMountDescriptor: (valueArg: unknown) => Promise<IFleetCutoverMountDescriptor>;
|
|
591
649
|
export declare const computeFleetCutoverMountSourceIdentityDigest: (valueArg: IFleetCutoverMountSourceIdentityInput) => Promise<TSha256Digest>;
|
|
592
650
|
export declare const computeFleetCutoverMountTargetIdentityDigest: (valueArg: IFleetCutoverMountTargetIdentityInput) => Promise<TSha256Digest>;
|
|
593
651
|
export declare const computeFleetCutoverMountIdentityDigest: (valueArg: Omit<IFleetCutoverMountDescriptor, "mountIdentityDigest">) => Promise<TSha256Digest>;
|
|
652
|
+
export declare const computeFleetCutoverMountCorrelationIdentityDigest: (valueArg: Omit<IFleetCutoverPhysicalMountCorrelation, "correlationIdentityDigest">) => Promise<TSha256Digest>;
|
|
653
|
+
/**
|
|
654
|
+
* Produce both the exact local physical descriptor and its logical service-mount correlation.
|
|
655
|
+
* For a volume only MountPoint.Name supplies the logical source. Unknown types and a missing or
|
|
656
|
+
* empty volume Name are refused because they cannot establish a truthful service join.
|
|
657
|
+
*/
|
|
658
|
+
export declare const createFleetCutoverDockerPhysicalMountEvidence: (valueArg: unknown) => Promise<IFleetCutoverPhysicalMountEvidence>;
|
|
594
659
|
export declare const computeFleetCutoverContainerSetIdentityDigest: (containerIdsArg: string[]) => Promise<TSha256Digest>;
|
|
595
660
|
export declare const snapshotFleetCutoverLocalNodeSnapshot: (valueArg: unknown) => IFleetCutoverLocalNodeSnapshot;
|
|
596
661
|
export declare const computeFleetCutoverLocalNodeSnapshotDigest: (valueArg: unknown) => Promise<TSha256Digest>;
|