@serve.zone/interfaces 32.12.0 → 32.13.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/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,136 @@
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
+ IFleetCutoverIngressAuthority,
9
+ IFleetCutoverScope,
10
+ IFleetCutoverScopeClassificationRequest,
11
+ IFleetCutoverVolumeHandoffIntent,
12
+ TFleetCutoverPhaseAdvance,
13
+ TFleetCutoverRuntimeSpecRelease,
14
+ TFleetCutoverVolumeFence,
15
+ } from '../data/fleetcutover.js';
16
+
17
+ export interface IReq_Any_Cloudly_GetFleetCutoverScope
18
+ extends plugins.typedrequestInterfaces.implementsTR<
19
+ plugins.typedrequestInterfaces.ITypedRequest,
20
+ IReq_Any_Cloudly_GetFleetCutoverScope
21
+ > {
22
+ method: 'getFleetCutoverScope';
23
+ request: { identity: IIdentityCredential; clusterId: string };
24
+ response: { scope: IFleetCutoverScope | null };
25
+ }
26
+
27
+ /**
28
+ * The administrator classifies the exact current census candidate. Cloudly compares every entry
29
+ * with its current service, platform-service, credential, and storage authority before it may
30
+ * persist a complete scope; the request itself is no proof of those facts.
31
+ */
32
+ export interface IReq_Admin_Cloudly_ClassifyFleetCutoverScope
33
+ extends plugins.typedrequestInterfaces.implementsTR<
34
+ plugins.typedrequestInterfaces.ITypedRequest,
35
+ IReq_Admin_Cloudly_ClassifyFleetCutoverScope
36
+ > {
37
+ method: 'classifyFleetCutoverScope';
38
+ request: {
39
+ identity: IIdentityCredential;
40
+ classification: IFleetCutoverScopeClassificationRequest;
41
+ };
42
+ response: { scope: IFleetCutoverScope };
43
+ }
44
+
45
+ /**
46
+ * Forward-only legal phase CAS. All receipt references are dereferenced by Cloudly in the same
47
+ * transaction; caller-supplied records or booleans never satisfy a cutover condition.
48
+ */
49
+ export interface IReq_Admin_Cloudly_AdvanceFleetCutoverPhase
50
+ extends plugins.typedrequestInterfaces.implementsTR<
51
+ plugins.typedrequestInterfaces.ITypedRequest,
52
+ IReq_Admin_Cloudly_AdvanceFleetCutoverPhase
53
+ > {
54
+ method: 'advanceFleetCutoverPhase';
55
+ request: { identity: IIdentityCredential; advance: TFleetCutoverPhaseAdvance };
56
+ response: { runtime: IClusterRuntime; replayed: boolean };
57
+ }
58
+
59
+ /**
60
+ * The only cutover-specific hold release. Ingress releases first under an accepted empty public
61
+ * port policy; applications require the accepted ingress/port/route authority assembled later.
62
+ */
63
+ export interface IReq_Admin_Cloudly_ReleaseFleetCutoverRuntimeSpec
64
+ extends plugins.typedrequestInterfaces.implementsTR<
65
+ plugins.typedrequestInterfaces.ITypedRequest,
66
+ IReq_Admin_Cloudly_ReleaseFleetCutoverRuntimeSpec
67
+ > {
68
+ method: 'releaseFleetCutoverRuntimeSpec';
69
+ request: { identity: IIdentityCredential; release: TFleetCutoverRuntimeSpecRelease };
70
+ response: { spec: IServiceRuntimeSpec; replayed: boolean };
71
+ }
72
+
73
+ export interface IReq_Any_Cloudly_GetFleetCutoverIngressAuthority
74
+ extends plugins.typedrequestInterfaces.implementsTR<
75
+ plugins.typedrequestInterfaces.ITypedRequest,
76
+ IReq_Any_Cloudly_GetFleetCutoverIngressAuthority
77
+ > {
78
+ method: 'getFleetCutoverIngressAuthority';
79
+ request: { identity: IIdentityCredential; clusterId: string };
80
+ response: { authority: IFleetCutoverIngressAuthority | null };
81
+ }
82
+
83
+ /** Root-local only. Holding an intent creates negative storage authority and no runtime session. */
84
+ export interface IReq_PalletLocal_Pallet_HoldFleetCutoverVolumeFence
85
+ extends plugins.typedrequestInterfaces.implementsTR<
86
+ plugins.typedrequestInterfaces.ITypedRequest,
87
+ IReq_PalletLocal_Pallet_HoldFleetCutoverVolumeFence
88
+ > {
89
+ method: 'holdFleetCutoverVolumeFence';
90
+ request: { fenceId: string; handoffIntent: IFleetCutoverVolumeHandoffIntent };
91
+ response: { fence: Extract<TFleetCutoverVolumeFence, { state: 'held' }> };
92
+ }
93
+
94
+ export interface IReq_PalletLocal_Pallet_GetFleetCutoverVolumeFence
95
+ extends plugins.typedrequestInterfaces.implementsTR<
96
+ plugins.typedrequestInterfaces.ITypedRequest,
97
+ IReq_PalletLocal_Pallet_GetFleetCutoverVolumeFence
98
+ > {
99
+ method: 'getFleetCutoverVolumeFence';
100
+ request: { fenceId: string };
101
+ response: { fence: TFleetCutoverVolumeFence | null };
102
+ }
103
+
104
+ /**
105
+ * Pallet consumes the local fence only around a current accepted Corestore adoption result. The
106
+ * receipt carries the real ready storage-claim reference; the earlier handoff intent does not.
107
+ */
108
+ export interface IReq_PalletLocal_Pallet_ConsumeFleetCutoverVolumeFence
109
+ extends plugins.typedrequestInterfaces.implementsTR<
110
+ plugins.typedrequestInterfaces.ITypedRequest,
111
+ IReq_PalletLocal_Pallet_ConsumeFleetCutoverVolumeFence
112
+ > {
113
+ method: 'consumeFleetCutoverVolumeFence';
114
+ request: {
115
+ fence: IFleetCutoverAcceptedEvidenceReference;
116
+ adoption: IFleetCutoverCorestoreAdoptionReceipt;
117
+ };
118
+ response: { fence: Extract<TFleetCutoverVolumeFence, { state: 'consumed' }> };
119
+ }
120
+
121
+ /**
122
+ * Corestore owns the one-shot initial lineage/RWO CAS. The local caller supplies the held fence
123
+ * and server-owned handoff intent; Corestore returns the claim only after its provider is ready.
124
+ */
125
+ export interface IReq_Pallet_Corestore_AdoptFleetCutoverVolume
126
+ extends plugins.typedrequestInterfaces.implementsTR<
127
+ plugins.typedrequestInterfaces.ITypedRequest,
128
+ IReq_Pallet_Corestore_AdoptFleetCutoverVolume
129
+ > {
130
+ method: 'adoptFleetCutoverVolume';
131
+ request: {
132
+ handoffIntent: IFleetCutoverVolumeHandoffIntent;
133
+ palletFence: Extract<TFleetCutoverVolumeFence, { state: 'held' }>;
134
+ };
135
+ response: { adoption: IFleetCutoverCorestoreAdoptionReceipt };
136
+ }
@@ -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,