@serve.zone/interfaces 8.0.1 → 8.1.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 +14 -0
- package/dist_ts/00_commitinfo_data.js +1 -1
- package/dist_ts/data/gateway.d.ts +12 -0
- package/dist_ts/requests/gateway.d.ts +12 -1
- package/package.json +1 -1
- package/readme.md +2 -2
- package/ts/00_commitinfo_data.ts +1 -1
- package/ts/data/gateway.ts +13 -0
- package/ts/data/settings.ts +1 -1
- package/ts/requests/gateway.ts +16 -0
package/changelog.md
CHANGED
|
@@ -1,5 +1,19 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 2026-07-06 - 8.1.0
|
|
4
|
+
|
|
5
|
+
### Features
|
|
6
|
+
|
|
7
|
+
- add gateway client route listing contract (gateway)
|
|
8
|
+
- Add IGatewayClientRoute for client-owned route reconciliation views
|
|
9
|
+
- Add getGatewayClientRoutes typed request returning gateway client routes
|
|
10
|
+
|
|
11
|
+
### Fixes
|
|
12
|
+
|
|
13
|
+
- document gateway client route contracts (docs)
|
|
14
|
+
- Add README references for IGatewayClientRoute, getGatewayClientRoutes, and syncGatewayClientRoute.
|
|
15
|
+
- Update the dcrouter gateway settings example to use generic placeholder values.
|
|
16
|
+
|
|
3
17
|
## 2026-07-06 - 8.0.1
|
|
4
18
|
|
|
5
19
|
### Fixes
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
export const commitinfo = {
|
|
5
5
|
name: '@serve.zone/interfaces',
|
|
6
|
-
version: '8.0
|
|
6
|
+
version: '8.1.0',
|
|
7
7
|
description: 'Shared TypeScript interfaces and TypedRequest contracts for the serve.zone ecosystem.'
|
|
8
8
|
};
|
|
9
9
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMDBfY29tbWl0aW5mb19kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvMDBfY29tbWl0aW5mb19kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHO0lBQ3hCLElBQUksRUFBRSx3QkFBd0I7SUFDOUIsT0FBTyxFQUFFLE9BQU87SUFDaEIsV0FBVyxFQUFFLHVGQUF1RjtDQUNyRyxDQUFBIn0=
|
|
@@ -229,6 +229,18 @@ export interface IGatewayRouteConfig {
|
|
|
229
229
|
edgeFilter?: string[];
|
|
230
230
|
};
|
|
231
231
|
}
|
|
232
|
+
/**
|
|
233
|
+
* Gateway-client-owned route view used for reconciliation by clients.
|
|
234
|
+
*/
|
|
235
|
+
export interface IGatewayClientRoute {
|
|
236
|
+
id: string;
|
|
237
|
+
name: string;
|
|
238
|
+
enabled: boolean;
|
|
239
|
+
ownership: IGatewayClientOwnership;
|
|
240
|
+
route: IGatewayRouteConfig;
|
|
241
|
+
sourceProfileRef?: string;
|
|
242
|
+
managePath?: string;
|
|
243
|
+
}
|
|
232
244
|
/**
|
|
233
245
|
* Result of an idempotent gateway route sync.
|
|
234
246
|
*/
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as plugins from '../plugins.js';
|
|
2
|
-
import type { IGatewayCapabilities, IGatewayClientContext, IGatewayClientOwnership, IGatewayDnsRecord, IGatewayDomain, IGatewayIdentity, IGatewayRouteConfig, IGatewayRouteSyncResult } from '../data/gateway.js';
|
|
2
|
+
import type { IGatewayCapabilities, IGatewayClientContext, IGatewayClientOwnership, IGatewayClientRoute, IGatewayDnsRecord, IGatewayDomain, IGatewayIdentity, IGatewayRouteConfig, IGatewayRouteSyncResult } from '../data/gateway.js';
|
|
3
3
|
/**
|
|
4
4
|
* Gateway client contracts: the machine-facing API a gateway (dcrouter)
|
|
5
5
|
* serves to gateway clients (Onebox, Cloudly/Coreflow).
|
|
@@ -53,6 +53,17 @@ export interface IReq_GetGatewayClientDnsRecords extends plugins.typedrequestInt
|
|
|
53
53
|
records: IGatewayDnsRecord[];
|
|
54
54
|
};
|
|
55
55
|
}
|
|
56
|
+
export interface IReq_GetGatewayClientRoutes extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_GetGatewayClientRoutes> {
|
|
57
|
+
method: 'getGatewayClientRoutes';
|
|
58
|
+
request: {
|
|
59
|
+
identity?: IGatewayIdentity;
|
|
60
|
+
apiToken?: string;
|
|
61
|
+
gatewayClientId?: string;
|
|
62
|
+
};
|
|
63
|
+
response: {
|
|
64
|
+
routes: IGatewayClientRoute[];
|
|
65
|
+
};
|
|
66
|
+
}
|
|
56
67
|
export interface IReq_SyncGatewayClientRoute extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_SyncGatewayClientRoute> {
|
|
57
68
|
method: 'syncGatewayClientRoute';
|
|
58
69
|
request: {
|
package/package.json
CHANGED
package/readme.md
CHANGED
|
@@ -95,7 +95,7 @@ Common data contracts include:
|
|
|
95
95
|
- `IService`, `IDeployment`, `IImage`, `IRegistryTarget`, and `IExternalRegistry` for workload delivery.
|
|
96
96
|
- Service port contracts including `IServiceTargetPort`, `IServiceDomainRoute`, and `IServicePublicPortMapping` for canonical backend targets, domain target references, and edge/Coretraffic TCP/UDP public exposure.
|
|
97
97
|
- `IDomain`, `IDnsEntry`, and traffic contracts for routing and DNS management.
|
|
98
|
-
- Traffic and gateway route contracts including `ICoretrafficPortRouteConfig`, routing `portRoutes`, gateway route `routeRef` ownership, optional match `domains`, `transport`, and `remoteIngress` route intent.
|
|
98
|
+
- Traffic and gateway route contracts including `ICoretrafficPortRouteConfig`, routing `portRoutes`, `IGatewayClientRoute` client-owned route views, gateway route `routeRef` ownership, optional match `domains`, `transport`, and `remoteIngress` route intent.
|
|
99
99
|
- `ISecretBundle` and `ISecretGroup` for secret ownership and shared secret groups.
|
|
100
100
|
- Mail gateway contracts for domain authorities, address bindings, WorkApp bindings, managed SMTP/API credentials, spool items, delivery journals, and inbound/outbound message payloads.
|
|
101
101
|
- Service-level mail configuration through `IService.data.mail`, including per-address inbound `smtpForward` settings and outbound credential metadata. Cloudly settings include dcrouter gateway, SMTP submission, and inbound forward-target keys for reconciling those bindings.
|
|
@@ -138,7 +138,7 @@ interface IExampleRequest {
|
|
|
138
138
|
}
|
|
139
139
|
```
|
|
140
140
|
|
|
141
|
-
Mail request contracts include `syncMailAddressBinding`, `deleteMailAddressBinding`, and `rotateMailCredential`. `TMailAddressBindingSync.outboundEnabled` explicitly controls whether a gateway should maintain a managed outbound SMTP credential for an address binding. Binding credential metadata is public; `rotateMailCredential` returns the new secret only in its one-time `IMailCredentialOneTimeSecret` response.
|
|
141
|
+
Gateway request contracts include `getGatewayClientRoutes` (`requests.gateway.IReq_GetGatewayClientRoutes`) for listing owned `IGatewayClientRoute[]` route views, and `syncGatewayClientRoute` for idempotently syncing or deleting hostname-owned and routeRef-owned routes. Mail request contracts include `syncMailAddressBinding`, `deleteMailAddressBinding`, and `rotateMailCredential`. `TMailAddressBindingSync.outboundEnabled` explicitly controls whether a gateway should maintain a managed outbound SMTP credential for an address binding. Binding credential metadata is public; `rotateMailCredential` returns the new secret only in its one-time `IMailCredentialOneTimeSecret` response.
|
|
142
142
|
|
|
143
143
|
Request groups are exported by product area:
|
|
144
144
|
|
package/ts/00_commitinfo_data.ts
CHANGED
package/ts/data/gateway.ts
CHANGED
|
@@ -247,6 +247,19 @@ export interface IGatewayRouteConfig {
|
|
|
247
247
|
};
|
|
248
248
|
}
|
|
249
249
|
|
|
250
|
+
/**
|
|
251
|
+
* Gateway-client-owned route view used for reconciliation by clients.
|
|
252
|
+
*/
|
|
253
|
+
export interface IGatewayClientRoute {
|
|
254
|
+
id: string;
|
|
255
|
+
name: string;
|
|
256
|
+
enabled: boolean;
|
|
257
|
+
ownership: IGatewayClientOwnership;
|
|
258
|
+
route: IGatewayRouteConfig;
|
|
259
|
+
sourceProfileRef?: string;
|
|
260
|
+
managePath?: string;
|
|
261
|
+
}
|
|
262
|
+
|
|
250
263
|
/**
|
|
251
264
|
* Result of an idempotent gateway route sync.
|
|
252
265
|
*/
|
package/ts/data/settings.ts
CHANGED
|
@@ -26,7 +26,7 @@ export interface ICloudlySettings {
|
|
|
26
26
|
|
|
27
27
|
// JSON map of swarm node hostname -> gateway-reachable IP/host. Routes for
|
|
28
28
|
// services pinned to a node target that node's coretraffic instead of the
|
|
29
|
-
// static dcrouterTargetHost (e.g. {"
|
|
29
|
+
// static dcrouterTargetHost (e.g. {"worker-a":"192.0.2.10"}).
|
|
30
30
|
dcrouterGatewayUrl?: string;
|
|
31
31
|
dcrouterGatewayApiToken?: string;
|
|
32
32
|
dcrouterOpsApiToken?: string;
|
package/ts/requests/gateway.ts
CHANGED
|
@@ -3,6 +3,7 @@ import type {
|
|
|
3
3
|
IGatewayCapabilities,
|
|
4
4
|
IGatewayClientContext,
|
|
5
5
|
IGatewayClientOwnership,
|
|
6
|
+
IGatewayClientRoute,
|
|
6
7
|
IGatewayDnsRecord,
|
|
7
8
|
IGatewayDomain,
|
|
8
9
|
IGatewayIdentity,
|
|
@@ -80,6 +81,21 @@ export interface IReq_GetGatewayClientDnsRecords extends plugins.typedrequestInt
|
|
|
80
81
|
};
|
|
81
82
|
}
|
|
82
83
|
|
|
84
|
+
export interface IReq_GetGatewayClientRoutes extends plugins.typedrequestInterfaces.implementsTR<
|
|
85
|
+
plugins.typedrequestInterfaces.ITypedRequest,
|
|
86
|
+
IReq_GetGatewayClientRoutes
|
|
87
|
+
> {
|
|
88
|
+
method: 'getGatewayClientRoutes';
|
|
89
|
+
request: {
|
|
90
|
+
identity?: IGatewayIdentity;
|
|
91
|
+
apiToken?: string;
|
|
92
|
+
gatewayClientId?: string;
|
|
93
|
+
};
|
|
94
|
+
response: {
|
|
95
|
+
routes: IGatewayClientRoute[];
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
|
|
83
99
|
export interface IReq_SyncGatewayClientRoute extends plugins.typedrequestInterfaces.implementsTR<
|
|
84
100
|
plugins.typedrequestInterfaces.ITypedRequest,
|
|
85
101
|
IReq_SyncGatewayClientRoute
|