@serve.zone/interfaces 32.12.0 → 32.14.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 +31 -0
- package/dist_ts/00_commitinfo_data.js +1 -1
- package/dist_ts/data/clusternode.d.ts +11 -4
- package/dist_ts/data/clusternode.js +41 -6
- package/dist_ts/data/fleetcutover.d.ts +503 -0
- package/dist_ts/data/fleetcutover.js +1021 -0
- package/dist_ts/data/index.d.ts +1 -0
- package/dist_ts/data/index.js +2 -1
- package/dist_ts/requests/fleetcutover.d.ts +141 -0
- package/dist_ts/requests/fleetcutover.js +2 -0
- package/dist_ts/requests/index.d.ts +2 -1
- package/dist_ts/requests/index.js +3 -2
- package/package.json +1 -1
- package/readme.md +129 -0
- package/ts/00_commitinfo_data.ts +1 -1
- package/ts/data/clusternode.ts +55 -5
- package/ts/data/fleetcutover.ts +1693 -0
- package/ts/data/index.ts +1 -0
- package/ts/requests/fleetcutover.ts +160 -0
- package/ts/requests/index.ts +2 -0
package/ts/data/index.ts
CHANGED
|
@@ -17,6 +17,7 @@ export * from './docker.js';
|
|
|
17
17
|
export * from './domain.js';
|
|
18
18
|
export * from './event.js';
|
|
19
19
|
export * from './externalregistry.js';
|
|
20
|
+
export * from './fleetcutover.js';
|
|
20
21
|
export * from './gateway.js';
|
|
21
22
|
export * from './hostedapp.js';
|
|
22
23
|
export * from './image.js';
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
import * as plugins from '../plugins.js';
|
|
2
|
+
import type { IIdentityCredential } from '../data/user.js';
|
|
3
|
+
import type { IClusterRuntime } from '../data/clusterruntime.js';
|
|
4
|
+
import type { IServiceRuntimeSpec } from '../data/serviceruntime.js';
|
|
5
|
+
import type {
|
|
6
|
+
IFleetCutoverAcceptedEvidenceReference,
|
|
7
|
+
IFleetCutoverCorestoreAdoptionReceipt,
|
|
8
|
+
IFleetCutoverIngressDesignation,
|
|
9
|
+
IFleetCutoverIngressPreparationRequest,
|
|
10
|
+
IFleetCutoverIngressAuthority,
|
|
11
|
+
IFleetCutoverScope,
|
|
12
|
+
IFleetCutoverScopeClassificationRequest,
|
|
13
|
+
IFleetCutoverVolumeHandoffIntent,
|
|
14
|
+
TFleetCutoverPhaseAdvance,
|
|
15
|
+
TFleetCutoverRuntimeSpecRelease,
|
|
16
|
+
TFleetCutoverVolumeFence,
|
|
17
|
+
} from '../data/fleetcutover.js';
|
|
18
|
+
|
|
19
|
+
export interface IReq_Any_Cloudly_GetFleetCutoverScope
|
|
20
|
+
extends plugins.typedrequestInterfaces.implementsTR<
|
|
21
|
+
plugins.typedrequestInterfaces.ITypedRequest,
|
|
22
|
+
IReq_Any_Cloudly_GetFleetCutoverScope
|
|
23
|
+
> {
|
|
24
|
+
method: 'getFleetCutoverScope';
|
|
25
|
+
request: { identity: IIdentityCredential; clusterId: string };
|
|
26
|
+
response: { scope: IFleetCutoverScope | null };
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* The administrator classifies the exact current census candidate. Cloudly compares every entry
|
|
31
|
+
* with its current service, platform-service, credential, and storage authority before it may
|
|
32
|
+
* persist a complete scope; the request itself is no proof of those facts.
|
|
33
|
+
*/
|
|
34
|
+
export interface IReq_Admin_Cloudly_ClassifyFleetCutoverScope
|
|
35
|
+
extends plugins.typedrequestInterfaces.implementsTR<
|
|
36
|
+
plugins.typedrequestInterfaces.ITypedRequest,
|
|
37
|
+
IReq_Admin_Cloudly_ClassifyFleetCutoverScope
|
|
38
|
+
> {
|
|
39
|
+
method: 'classifyFleetCutoverScope';
|
|
40
|
+
request: {
|
|
41
|
+
identity: IIdentityCredential;
|
|
42
|
+
classification: IFleetCutoverScopeClassificationRequest;
|
|
43
|
+
};
|
|
44
|
+
response: { scope: IFleetCutoverScope };
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* Forward-only legal phase CAS. All receipt references are dereferenced by Cloudly in the same
|
|
49
|
+
* transaction; caller-supplied records or booleans never satisfy a cutover condition.
|
|
50
|
+
*/
|
|
51
|
+
export interface IReq_Admin_Cloudly_AdvanceFleetCutoverPhase
|
|
52
|
+
extends plugins.typedrequestInterfaces.implementsTR<
|
|
53
|
+
plugins.typedrequestInterfaces.ITypedRequest,
|
|
54
|
+
IReq_Admin_Cloudly_AdvanceFleetCutoverPhase
|
|
55
|
+
> {
|
|
56
|
+
method: 'advanceFleetCutoverPhase';
|
|
57
|
+
request: { identity: IIdentityCredential; advance: TFleetCutoverPhaseAdvance };
|
|
58
|
+
response: { runtime: IClusterRuntime; replayed: boolean };
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* Cloudly designates one existing live service as the new ingress before assignment. It accepts
|
|
63
|
+
* only current owner state and creates the managed launcher bearer and designation atomically.
|
|
64
|
+
*/
|
|
65
|
+
export interface IReq_Admin_Cloudly_PrepareFleetCutoverIngress
|
|
66
|
+
extends plugins.typedrequestInterfaces.implementsTR<
|
|
67
|
+
plugins.typedrequestInterfaces.ITypedRequest,
|
|
68
|
+
IReq_Admin_Cloudly_PrepareFleetCutoverIngress
|
|
69
|
+
> {
|
|
70
|
+
method: 'prepareFleetCutoverIngress';
|
|
71
|
+
request: {
|
|
72
|
+
identity: IIdentityCredential;
|
|
73
|
+
preparation: IFleetCutoverIngressPreparationRequest;
|
|
74
|
+
};
|
|
75
|
+
response: {
|
|
76
|
+
designation: IFleetCutoverIngressDesignation;
|
|
77
|
+
/** The resulting exact-cluster spec, still held after preparation. */
|
|
78
|
+
spec: IServiceRuntimeSpec;
|
|
79
|
+
replayed: boolean;
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
/**
|
|
84
|
+
* The only cutover-specific hold release. Ingress releases first under an accepted empty public
|
|
85
|
+
* port policy; applications require the accepted ingress/port/route authority assembled later.
|
|
86
|
+
*/
|
|
87
|
+
export interface IReq_Admin_Cloudly_ReleaseFleetCutoverRuntimeSpec
|
|
88
|
+
extends plugins.typedrequestInterfaces.implementsTR<
|
|
89
|
+
plugins.typedrequestInterfaces.ITypedRequest,
|
|
90
|
+
IReq_Admin_Cloudly_ReleaseFleetCutoverRuntimeSpec
|
|
91
|
+
> {
|
|
92
|
+
method: 'releaseFleetCutoverRuntimeSpec';
|
|
93
|
+
request: { identity: IIdentityCredential; release: TFleetCutoverRuntimeSpecRelease };
|
|
94
|
+
response: { spec: IServiceRuntimeSpec; replayed: boolean };
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
export interface IReq_Any_Cloudly_GetFleetCutoverIngressAuthority
|
|
98
|
+
extends plugins.typedrequestInterfaces.implementsTR<
|
|
99
|
+
plugins.typedrequestInterfaces.ITypedRequest,
|
|
100
|
+
IReq_Any_Cloudly_GetFleetCutoverIngressAuthority
|
|
101
|
+
> {
|
|
102
|
+
method: 'getFleetCutoverIngressAuthority';
|
|
103
|
+
request: { identity: IIdentityCredential; clusterId: string };
|
|
104
|
+
response: { authority: IFleetCutoverIngressAuthority | null };
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
/** Root-local only. Holding an intent creates negative storage authority and no runtime session. */
|
|
108
|
+
export interface IReq_PalletLocal_Pallet_HoldFleetCutoverVolumeFence
|
|
109
|
+
extends plugins.typedrequestInterfaces.implementsTR<
|
|
110
|
+
plugins.typedrequestInterfaces.ITypedRequest,
|
|
111
|
+
IReq_PalletLocal_Pallet_HoldFleetCutoverVolumeFence
|
|
112
|
+
> {
|
|
113
|
+
method: 'holdFleetCutoverVolumeFence';
|
|
114
|
+
request: { fenceId: string; handoffIntent: IFleetCutoverVolumeHandoffIntent };
|
|
115
|
+
response: { fence: Extract<TFleetCutoverVolumeFence, { state: 'held' }> };
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
export interface IReq_PalletLocal_Pallet_GetFleetCutoverVolumeFence
|
|
119
|
+
extends plugins.typedrequestInterfaces.implementsTR<
|
|
120
|
+
plugins.typedrequestInterfaces.ITypedRequest,
|
|
121
|
+
IReq_PalletLocal_Pallet_GetFleetCutoverVolumeFence
|
|
122
|
+
> {
|
|
123
|
+
method: 'getFleetCutoverVolumeFence';
|
|
124
|
+
request: { fenceId: string };
|
|
125
|
+
response: { fence: TFleetCutoverVolumeFence | null };
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
/**
|
|
129
|
+
* Pallet consumes the local fence only around a current accepted Corestore adoption result. The
|
|
130
|
+
* receipt carries the real ready storage-claim reference; the earlier handoff intent does not.
|
|
131
|
+
*/
|
|
132
|
+
export interface IReq_PalletLocal_Pallet_ConsumeFleetCutoverVolumeFence
|
|
133
|
+
extends plugins.typedrequestInterfaces.implementsTR<
|
|
134
|
+
plugins.typedrequestInterfaces.ITypedRequest,
|
|
135
|
+
IReq_PalletLocal_Pallet_ConsumeFleetCutoverVolumeFence
|
|
136
|
+
> {
|
|
137
|
+
method: 'consumeFleetCutoverVolumeFence';
|
|
138
|
+
request: {
|
|
139
|
+
fence: IFleetCutoverAcceptedEvidenceReference;
|
|
140
|
+
adoption: IFleetCutoverCorestoreAdoptionReceipt;
|
|
141
|
+
};
|
|
142
|
+
response: { fence: Extract<TFleetCutoverVolumeFence, { state: 'consumed' }> };
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
/**
|
|
146
|
+
* Corestore owns the one-shot initial lineage/RWO CAS. The local caller supplies the held fence
|
|
147
|
+
* and server-owned handoff intent; Corestore returns the claim only after its provider is ready.
|
|
148
|
+
*/
|
|
149
|
+
export interface IReq_Pallet_Corestore_AdoptFleetCutoverVolume
|
|
150
|
+
extends plugins.typedrequestInterfaces.implementsTR<
|
|
151
|
+
plugins.typedrequestInterfaces.ITypedRequest,
|
|
152
|
+
IReq_Pallet_Corestore_AdoptFleetCutoverVolume
|
|
153
|
+
> {
|
|
154
|
+
method: 'adoptFleetCutoverVolume';
|
|
155
|
+
request: {
|
|
156
|
+
handoffIntent: IFleetCutoverVolumeHandoffIntent;
|
|
157
|
+
palletFence: Extract<TFleetCutoverVolumeFence, { state: 'held' }>;
|
|
158
|
+
};
|
|
159
|
+
response: { adoption: IFleetCutoverCorestoreAdoptionReceipt };
|
|
160
|
+
}
|
package/ts/requests/index.ts
CHANGED
|
@@ -16,6 +16,7 @@ import * as deploymentRequests from './deployment.js';
|
|
|
16
16
|
import * as dnsRequests from './dns.js';
|
|
17
17
|
import * as domainRequests from './domain.js';
|
|
18
18
|
import * as externalRegistryRequests from './externalregistry.js';
|
|
19
|
+
import * as fleetCutoverRequests from './fleetcutover.js';
|
|
19
20
|
import * as gatewayRequests from './gateway.js';
|
|
20
21
|
import * as hostedAppRequests from './hostedapp.js';
|
|
21
22
|
import * as identityRequests from './identity.js';
|
|
@@ -55,6 +56,7 @@ export {
|
|
|
55
56
|
dnsRequests as dns,
|
|
56
57
|
domainRequests as domain,
|
|
57
58
|
externalRegistryRequests as externalRegistry,
|
|
59
|
+
fleetCutoverRequests as fleetcutover,
|
|
58
60
|
gatewayRequests as gateway,
|
|
59
61
|
hostedAppRequests as hostedapp,
|
|
60
62
|
identityRequests as identity,
|