@serve.zone/interfaces 16.4.1 → 16.6.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 +13 -0
- package/dist_ts/00_commitinfo_data.js +1 -1
- package/dist_ts/appstore/types.d.ts +13 -0
- package/dist_ts/data/service.d.ts +4 -0
- package/dist_ts/requests/service.d.ts +2 -2
- package/package.json +1 -1
- package/ts/00_commitinfo_data.ts +1 -1
- package/ts/appstore/types.ts +13 -0
- package/ts/data/service.ts +8 -0
- package/ts/requests/service.ts +2 -2
package/changelog.md
CHANGED
|
@@ -1,5 +1,18 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 2026-07-21 - 16.6.0
|
|
4
|
+
|
|
5
|
+
### Security
|
|
6
|
+
|
|
7
|
+
- mark App Store inputs for server-side random generation and service-owned secret-bundle persistence, with optional file-only Docker secret delivery
|
|
8
|
+
|
|
9
|
+
## 2026-07-21 - 16.5.0
|
|
10
|
+
|
|
11
|
+
### Features
|
|
12
|
+
|
|
13
|
+
- add OCI container arguments to App Store runtime contracts
|
|
14
|
+
- add an explicit null sentinel for removing container arguments through generic service updates
|
|
15
|
+
|
|
3
16
|
## 2026-07-21 - 16.4.1
|
|
4
17
|
|
|
5
18
|
### Fixes
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
export const commitinfo = {
|
|
5
5
|
name: '@serve.zone/interfaces',
|
|
6
|
-
version: '16.
|
|
6
|
+
version: '16.6.0',
|
|
7
7
|
description: 'Shared TypeScript interfaces and TypedRequest contracts for the serve.zone ecosystem.'
|
|
8
8
|
};
|
|
9
9
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMDBfY29tbWl0aW5mb19kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvMDBfY29tbWl0aW5mb19kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHO0lBQ3hCLElBQUksRUFBRSx3QkFBd0I7SUFDOUIsT0FBTyxFQUFFLFFBQVE7SUFDakIsV0FBVyxFQUFFLHVGQUF1RjtDQUNyRyxDQUFBIn0=
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { IServiceSecretFile } from '../data/service.js';
|
|
1
2
|
import type { IServiceDomainRoute, IServicePublicPortMapping, IServiceTargetPort } from '../data/serviceports.js';
|
|
2
3
|
export type TAppStorePlatformRequirement = 'mongodb' | 's3' | 'clickhouse' | 'valkey' | 'mariadb';
|
|
3
4
|
export type TAppStoreSourceType = 'inline' | 'repoManifest' | 'dockerImage';
|
|
@@ -35,6 +36,14 @@ export interface IAppStoreEnvVar {
|
|
|
35
36
|
value?: string;
|
|
36
37
|
description: string;
|
|
37
38
|
required?: boolean;
|
|
39
|
+
/** Store the submitted value in the service-owned Cloudly secret bundle, never in service environment data. */
|
|
40
|
+
secret?: boolean;
|
|
41
|
+
/** Generate a value server-side when the installer does not submit one. Generation is allowed only for secrets. */
|
|
42
|
+
generate?: {
|
|
43
|
+
type: 'randomHex';
|
|
44
|
+
/** Number of random bytes before hexadecimal encoding. */
|
|
45
|
+
bytes: number;
|
|
46
|
+
};
|
|
38
47
|
}
|
|
39
48
|
export interface IAppStoreVolume {
|
|
40
49
|
/** Stable Docker volume name. If omitted, the runtime derives one from service name and mount path. */
|
|
@@ -101,6 +110,10 @@ export interface IAppStoreVersionConfig {
|
|
|
101
110
|
image: string;
|
|
102
111
|
/** Legacy shorthand for targetPorts.web. New templates should prefer targetPorts. */
|
|
103
112
|
port?: number;
|
|
113
|
+
/** Exact OCI/Docker argument vector appended after the image entrypoint. */
|
|
114
|
+
containerArgs?: string[];
|
|
115
|
+
/** Secret-bundle keys delivered only through Docker's read-only secret tmpfs. */
|
|
116
|
+
secretFiles?: IServiceSecretFile[];
|
|
104
117
|
targetPorts?: IServiceTargetPort[];
|
|
105
118
|
domains?: IServiceDomainRoute[];
|
|
106
119
|
/** Edge/coretraffic public TCP/UDP exposure, distinct from Docker publishedPorts. */
|
|
@@ -186,3 +186,7 @@ export interface IService {
|
|
|
186
186
|
}
|
|
187
187
|
/** Caller-writable service data. Immutable policy and rollout fields are server-managed. */
|
|
188
188
|
export type TServiceWritableData = Omit<IService['data'], 'organizationId' | 'immutableImageRequired' | 'imageDeployment' | 'imageRolloutStatus'>;
|
|
189
|
+
/** Caller-writable update data. Null explicitly removes an existing argument vector. */
|
|
190
|
+
export type TServiceUpdateWritableData = Omit<TServiceWritableData, 'containerArgs'> & {
|
|
191
|
+
containerArgs?: string[] | null;
|
|
192
|
+
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as plugins from '../plugins.js';
|
|
2
2
|
import type { IService } from '../data/service.js';
|
|
3
|
-
import type { TServiceWritableData } from '../data/service.js';
|
|
3
|
+
import type { TServiceUpdateWritableData, TServiceWritableData } from '../data/service.js';
|
|
4
4
|
import type { IRegistryTarget } from '../data/registry.js';
|
|
5
5
|
import type { IIdentity, IIdentityCredential } from '../data/user.js';
|
|
6
6
|
import type { IImageRelease } from '../data/immutableimage.js';
|
|
@@ -212,7 +212,7 @@ export interface IRequest_Any_Cloudly_UpdateService extends plugins.typedrequest
|
|
|
212
212
|
request: {
|
|
213
213
|
identity: IIdentity;
|
|
214
214
|
serviceId: string;
|
|
215
|
-
serviceData:
|
|
215
|
+
serviceData: TServiceUpdateWritableData;
|
|
216
216
|
};
|
|
217
217
|
response: {
|
|
218
218
|
service: IService;
|
package/package.json
CHANGED
package/ts/00_commitinfo_data.ts
CHANGED
package/ts/appstore/types.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { IServiceSecretFile } from '../data/service.js';
|
|
1
2
|
import type {
|
|
2
3
|
IServiceDomainRoute,
|
|
3
4
|
IServicePublicPortMapping,
|
|
@@ -49,6 +50,14 @@ export interface IAppStoreEnvVar {
|
|
|
49
50
|
value?: string;
|
|
50
51
|
description: string;
|
|
51
52
|
required?: boolean;
|
|
53
|
+
/** Store the submitted value in the service-owned Cloudly secret bundle, never in service environment data. */
|
|
54
|
+
secret?: boolean;
|
|
55
|
+
/** Generate a value server-side when the installer does not submit one. Generation is allowed only for secrets. */
|
|
56
|
+
generate?: {
|
|
57
|
+
type: 'randomHex';
|
|
58
|
+
/** Number of random bytes before hexadecimal encoding. */
|
|
59
|
+
bytes: number;
|
|
60
|
+
};
|
|
52
61
|
}
|
|
53
62
|
|
|
54
63
|
export interface IAppStoreVolume {
|
|
@@ -122,6 +131,10 @@ export interface IAppStoreVersionConfig {
|
|
|
122
131
|
image: string;
|
|
123
132
|
/** Legacy shorthand for targetPorts.web. New templates should prefer targetPorts. */
|
|
124
133
|
port?: number;
|
|
134
|
+
/** Exact OCI/Docker argument vector appended after the image entrypoint. */
|
|
135
|
+
containerArgs?: string[];
|
|
136
|
+
/** Secret-bundle keys delivered only through Docker's read-only secret tmpfs. */
|
|
137
|
+
secretFiles?: IServiceSecretFile[];
|
|
125
138
|
targetPorts?: IServiceTargetPort[];
|
|
126
139
|
domains?: IServiceDomainRoute[];
|
|
127
140
|
/** Edge/coretraffic public TCP/UDP exposure, distinct from Docker publishedPorts. */
|
package/ts/data/service.ts
CHANGED
|
@@ -333,3 +333,11 @@ export type TServiceWritableData = Omit<
|
|
|
333
333
|
IService['data'],
|
|
334
334
|
'organizationId' | 'immutableImageRequired' | 'imageDeployment' | 'imageRolloutStatus'
|
|
335
335
|
>;
|
|
336
|
+
|
|
337
|
+
/** Caller-writable update data. Null explicitly removes an existing argument vector. */
|
|
338
|
+
export type TServiceUpdateWritableData = Omit<
|
|
339
|
+
TServiceWritableData,
|
|
340
|
+
'containerArgs'
|
|
341
|
+
> & {
|
|
342
|
+
containerArgs?: string[] | null;
|
|
343
|
+
};
|
package/ts/requests/service.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as plugins from '../plugins.js';
|
|
2
2
|
import type { IService } from '../data/service.js';
|
|
3
|
-
import type { TServiceWritableData } from '../data/service.js';
|
|
3
|
+
import type { TServiceUpdateWritableData, TServiceWritableData } from '../data/service.js';
|
|
4
4
|
import type { IRegistryTarget } from '../data/registry.js';
|
|
5
5
|
import type { IIdentity, IIdentityCredential } from '../data/user.js';
|
|
6
6
|
import type { IServiceRessources } from '../data/docker.js';
|
|
@@ -319,7 +319,7 @@ extends plugins.typedrequestInterfaces.implementsTR<
|
|
|
319
319
|
request: {
|
|
320
320
|
identity: IIdentity;
|
|
321
321
|
serviceId: string;
|
|
322
|
-
serviceData:
|
|
322
|
+
serviceData: TServiceUpdateWritableData;
|
|
323
323
|
};
|
|
324
324
|
response: {
|
|
325
325
|
service: IService;
|