@serve.zone/interfaces 5.10.0 → 6.0.1
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 +15 -0
- package/dist_ts/00_commitinfo_data.js +2 -2
- package/dist_ts/{appcatalog → appstore}/index.js +1 -1
- package/dist_ts/appstore/types.d.ts +169 -0
- package/dist_ts/{appcatalog → appstore}/types.js +1 -1
- package/dist_ts/data/service.d.ts +3 -0
- package/dist_ts/index.d.ts +2 -2
- package/dist_ts/index.js +3 -3
- package/dist_ts/requests/appstore.d.ts +133 -0
- package/dist_ts/requests/appstore.js +2 -0
- package/dist_ts/requests/index.d.ts +2 -2
- package/dist_ts/requests/index.js +3 -3
- package/package.json +1 -1
- package/ts/00_commitinfo_data.ts +1 -1
- package/ts/appstore/types.ts +190 -0
- package/ts/data/service.ts +3 -0
- package/ts/index.ts +2 -2
- package/ts/requests/appstore.ts +188 -0
- package/ts/requests/index.ts +2 -2
- package/dist_ts/appcatalog/types.d.ts +0 -83
- package/dist_ts/requests/appcatalog.d.ts +0 -44
- package/dist_ts/requests/appcatalog.js +0 -2
- package/ts/appcatalog/types.ts +0 -93
- package/ts/requests/appcatalog.ts +0 -66
- /package/dist_ts/{appcatalog → appstore}/index.d.ts +0 -0
- /package/ts/{appcatalog → appstore}/index.ts +0 -0
package/changelog.md
CHANGED
|
@@ -3,6 +3,21 @@
|
|
|
3
3
|
## Pending
|
|
4
4
|
|
|
5
5
|
|
|
6
|
+
## 2026-05-26 - 6.0.1
|
|
7
|
+
|
|
8
|
+
- add App Store service upgrade contracts (appstore)
|
|
9
|
+
- Adds App Store upgrade preview, operation tracking, start/apply, and progress push request contracts
|
|
10
|
+
- Adds service-level App Store upgrade policy, published ports, and service IDs to related service types
|
|
11
|
+
|
|
12
|
+
## 2026-05-25 - 6.0.0
|
|
13
|
+
|
|
14
|
+
### Breaking Changes
|
|
15
|
+
|
|
16
|
+
- rename app catalog contracts to appstore contracts
|
|
17
|
+
- Replaces the `appcatalog` namespace with `appstore`
|
|
18
|
+
- Renames app catalog DTOs and TypedRequest methods to AppStore naming
|
|
19
|
+
- Adds source manifest, digest tracking, and resolved provenance fields under the new appstore contract
|
|
20
|
+
|
|
6
21
|
## 2026-05-24 - 5.10.0
|
|
7
22
|
|
|
8
23
|
### Features
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
export const commitinfo = {
|
|
5
5
|
name: '@serve.zone/interfaces',
|
|
6
|
-
version: '
|
|
6
|
+
version: '6.0.1',
|
|
7
7
|
description: 'Shared TypeScript interfaces and TypedRequest contracts for the serve.zone ecosystem.'
|
|
8
8
|
};
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMDBfY29tbWl0aW5mb19kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvMDBfY29tbWl0aW5mb19kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHO0lBQ3hCLElBQUksRUFBRSx3QkFBd0I7SUFDOUIsT0FBTyxFQUFFLE9BQU87SUFDaEIsV0FBVyxFQUFFLHVGQUF1RjtDQUNyRyxDQUFBIn0=
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export * from './types.js';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90cy9hcHBzdG9yZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFlBQVksQ0FBQyJ9
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
export type TAppStorePlatformRequirement = 'mongodb' | 's3' | 'clickhouse' | 'redis' | 'mariadb';
|
|
2
|
+
export type TAppStoreSourceType = 'inline' | 'repoManifest' | 'dockerImage';
|
|
3
|
+
export type TAppStoreTrackingMode = 'tag' | 'digest';
|
|
4
|
+
export type TAppStoreUpgradeStrategy = 'semver' | 'branch' | 'dockerDigest';
|
|
5
|
+
export interface IAppStoreInlineSource {
|
|
6
|
+
type: 'inline';
|
|
7
|
+
}
|
|
8
|
+
export interface IAppStoreRepoManifestSource {
|
|
9
|
+
type: 'repoManifest';
|
|
10
|
+
/** Raw URL to a servezone.appstore.json file. Can point to a branch such as main. */
|
|
11
|
+
url: string;
|
|
12
|
+
/** Optional human-readable ref, for example main, stable, or v1.2.3. */
|
|
13
|
+
ref?: string;
|
|
14
|
+
}
|
|
15
|
+
export interface IAppStoreDockerImageSource {
|
|
16
|
+
type: 'dockerImage';
|
|
17
|
+
/** Docker image reference. Mutable tags such as :latest are allowed when policy permits them. */
|
|
18
|
+
image: string;
|
|
19
|
+
/** Digest tracking turns mutable tag changes into explicit appstore upgrades. */
|
|
20
|
+
tracking?: TAppStoreTrackingMode;
|
|
21
|
+
}
|
|
22
|
+
export type TAppStoreSource = IAppStoreInlineSource | IAppStoreRepoManifestSource | IAppStoreDockerImageSource;
|
|
23
|
+
export interface IAppStoreResolvedSource {
|
|
24
|
+
type: TAppStoreSourceType;
|
|
25
|
+
url?: string;
|
|
26
|
+
ref?: string;
|
|
27
|
+
image?: string;
|
|
28
|
+
manifestHash?: string;
|
|
29
|
+
imageDigest?: string;
|
|
30
|
+
resolvedAt: string;
|
|
31
|
+
}
|
|
32
|
+
export interface IAppStoreEnvVar {
|
|
33
|
+
key: string;
|
|
34
|
+
value?: string;
|
|
35
|
+
description: string;
|
|
36
|
+
required?: boolean;
|
|
37
|
+
}
|
|
38
|
+
export interface IAppStoreVolume {
|
|
39
|
+
/** Stable Docker volume name. If omitted, the runtime derives one from service name and mount path. */
|
|
40
|
+
name?: string;
|
|
41
|
+
/** Alias for name when a volume is shared intentionally across services. */
|
|
42
|
+
source?: string;
|
|
43
|
+
/** Container path where the volume is mounted. */
|
|
44
|
+
mountPath: string;
|
|
45
|
+
/** Docker volume driver. Defaults to the runtime's persistent volume driver. */
|
|
46
|
+
driver?: string;
|
|
47
|
+
readOnly?: boolean;
|
|
48
|
+
/** Whether backup orchestration should snapshot this volume. Defaults to true. */
|
|
49
|
+
backup?: boolean;
|
|
50
|
+
/** Driver-specific options forwarded to the container runtime. */
|
|
51
|
+
options?: Record<string, string>;
|
|
52
|
+
}
|
|
53
|
+
export type TAppStoreVolumeSpec = string | IAppStoreVolume;
|
|
54
|
+
export interface IAppStorePublishedPort {
|
|
55
|
+
targetPort: number;
|
|
56
|
+
targetPortEnd?: number;
|
|
57
|
+
publishedPort?: number;
|
|
58
|
+
publishedPortEnd?: number;
|
|
59
|
+
protocol?: 'tcp' | 'udp';
|
|
60
|
+
hostIp?: string;
|
|
61
|
+
}
|
|
62
|
+
export interface IAppStoreApp {
|
|
63
|
+
id: string;
|
|
64
|
+
name: string;
|
|
65
|
+
description: string;
|
|
66
|
+
category: string;
|
|
67
|
+
iconName?: string;
|
|
68
|
+
iconUrl?: string;
|
|
69
|
+
latestVersion: string;
|
|
70
|
+
versions?: string[];
|
|
71
|
+
tags?: string[];
|
|
72
|
+
channel?: string;
|
|
73
|
+
upgradeStrategy?: TAppStoreUpgradeStrategy;
|
|
74
|
+
source?: TAppStoreSource;
|
|
75
|
+
/** Minimal runtime config for source-only appstore entries, typically dockerImage sources. */
|
|
76
|
+
runtime?: IAppStoreVersionConfig;
|
|
77
|
+
resolvedSource?: IAppStoreResolvedSource;
|
|
78
|
+
}
|
|
79
|
+
export interface IAppStoreIndex {
|
|
80
|
+
schemaVersion: number;
|
|
81
|
+
updatedAt: string;
|
|
82
|
+
resolvedAt?: string;
|
|
83
|
+
apps: IAppStoreApp[];
|
|
84
|
+
}
|
|
85
|
+
export interface IAppStoreAppMeta {
|
|
86
|
+
id: string;
|
|
87
|
+
name: string;
|
|
88
|
+
description: string;
|
|
89
|
+
category: string;
|
|
90
|
+
iconName?: string;
|
|
91
|
+
latestVersion: string;
|
|
92
|
+
versions: string[];
|
|
93
|
+
maintainer?: string;
|
|
94
|
+
links?: Record<string, string>;
|
|
95
|
+
tags?: string[];
|
|
96
|
+
source?: TAppStoreSource;
|
|
97
|
+
resolvedSource?: IAppStoreResolvedSource;
|
|
98
|
+
}
|
|
99
|
+
export interface IAppStoreVersionConfig {
|
|
100
|
+
image: string;
|
|
101
|
+
port: number;
|
|
102
|
+
envVars?: IAppStoreEnvVar[];
|
|
103
|
+
volumes?: TAppStoreVolumeSpec[];
|
|
104
|
+
publishedPorts?: IAppStorePublishedPort[];
|
|
105
|
+
platformRequirements?: Partial<Record<TAppStorePlatformRequirement, boolean>>;
|
|
106
|
+
minOneboxVersion?: string;
|
|
107
|
+
minCloudlyVersion?: string;
|
|
108
|
+
appStoreVersion?: string;
|
|
109
|
+
upgradeStrategy?: TAppStoreUpgradeStrategy;
|
|
110
|
+
source?: TAppStoreSource;
|
|
111
|
+
resolvedSource?: IAppStoreResolvedSource;
|
|
112
|
+
resolvedImageDigest?: string;
|
|
113
|
+
changelog?: string;
|
|
114
|
+
breaking?: boolean;
|
|
115
|
+
requiresManualReview?: boolean;
|
|
116
|
+
migrationRequired?: boolean;
|
|
117
|
+
backupBeforeUpgrade?: boolean;
|
|
118
|
+
requiresFeatures?: string[];
|
|
119
|
+
healthCheck?: {
|
|
120
|
+
path?: string;
|
|
121
|
+
port?: number;
|
|
122
|
+
expectedStatus?: number;
|
|
123
|
+
};
|
|
124
|
+
}
|
|
125
|
+
export interface IServezoneAppStoreAppInfo {
|
|
126
|
+
id: string;
|
|
127
|
+
name: string;
|
|
128
|
+
description: string;
|
|
129
|
+
category: string;
|
|
130
|
+
iconName?: string;
|
|
131
|
+
iconUrl?: string;
|
|
132
|
+
tags?: string[];
|
|
133
|
+
maintainer?: string;
|
|
134
|
+
links?: Record<string, string>;
|
|
135
|
+
}
|
|
136
|
+
export interface IServezoneAppStoreVersion extends IAppStoreVersionConfig {
|
|
137
|
+
version: string;
|
|
138
|
+
}
|
|
139
|
+
export interface IServezoneAppStoreManifest {
|
|
140
|
+
schemaVersion: number;
|
|
141
|
+
app: IServezoneAppStoreAppInfo;
|
|
142
|
+
latestVersion?: string;
|
|
143
|
+
channel?: string;
|
|
144
|
+
channels?: Record<string, string>;
|
|
145
|
+
source?: TAppStoreSource;
|
|
146
|
+
runtime?: IAppStoreVersionConfig;
|
|
147
|
+
versions?: IServezoneAppStoreVersion[];
|
|
148
|
+
policy?: {
|
|
149
|
+
allowMutableImage?: boolean;
|
|
150
|
+
defaultChannel?: string;
|
|
151
|
+
};
|
|
152
|
+
}
|
|
153
|
+
export interface IAppStoreInstallRequest {
|
|
154
|
+
appId: string;
|
|
155
|
+
version?: string;
|
|
156
|
+
serviceName: string;
|
|
157
|
+
domain?: string;
|
|
158
|
+
port?: number;
|
|
159
|
+
publishedPorts?: IAppStorePublishedPort[];
|
|
160
|
+
envVars?: Record<string, string>;
|
|
161
|
+
}
|
|
162
|
+
export interface IUpgradeableAppStoreService {
|
|
163
|
+
serviceId?: string;
|
|
164
|
+
serviceName: string;
|
|
165
|
+
appTemplateId: string;
|
|
166
|
+
currentVersion: string;
|
|
167
|
+
latestVersion: string;
|
|
168
|
+
hasMigration: boolean;
|
|
169
|
+
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90cy9hcHBzdG9yZS90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIn0=
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { IServiceRessources } from './docker.js';
|
|
2
2
|
import type { IRegistryTarget } from './registry.js';
|
|
3
|
+
import type { IAppStorePublishedPort } from '../appstore/index.js';
|
|
3
4
|
export interface IServiceVolume {
|
|
4
5
|
/** Stable Docker volume name. If omitted, Coreflow derives one from service id and mount path. */
|
|
5
6
|
name?: string;
|
|
@@ -26,6 +27,7 @@ export interface IService {
|
|
|
26
27
|
deployOnPush?: boolean;
|
|
27
28
|
appTemplateId?: string;
|
|
28
29
|
appTemplateVersion?: string;
|
|
30
|
+
appStoreUpgradePolicy?: 'manual' | 'notify' | 'auto';
|
|
29
31
|
environment: {
|
|
30
32
|
[key: string]: string;
|
|
31
33
|
};
|
|
@@ -71,6 +73,7 @@ export interface IService {
|
|
|
71
73
|
};
|
|
72
74
|
};
|
|
73
75
|
volumes?: IServiceVolume[];
|
|
76
|
+
publishedPorts?: IAppStorePublishedPort[];
|
|
74
77
|
resources?: IServiceRessources;
|
|
75
78
|
domains: {
|
|
76
79
|
/**
|
package/dist_ts/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as data from './data/index.js';
|
|
2
|
-
import * as
|
|
2
|
+
import * as appstore from './appstore/index.js';
|
|
3
3
|
import * as platform from './platform/index.js';
|
|
4
4
|
import * as platformservice from './platformservice/index.js';
|
|
5
5
|
import * as requests from './requests/index.js';
|
|
6
|
-
export {
|
|
6
|
+
export { appstore, data, platform, platformservice, requests };
|
package/dist_ts/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as data from './data/index.js';
|
|
2
|
-
import * as
|
|
2
|
+
import * as appstore from './appstore/index.js';
|
|
3
3
|
import * as platform from './platform/index.js';
|
|
4
4
|
import * as platformservice from './platformservice/index.js';
|
|
5
5
|
import * as requests from './requests/index.js';
|
|
6
|
-
export {
|
|
7
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
6
|
+
export { appstore, data, platform, platformservice, requests };
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssSUFBSSxNQUFNLGlCQUFpQixDQUFDO0FBQ3hDLE9BQU8sS0FBSyxRQUFRLE1BQU0scUJBQXFCLENBQUM7QUFDaEQsT0FBTyxLQUFLLFFBQVEsTUFBTSxxQkFBcUIsQ0FBQztBQUNoRCxPQUFPLEtBQUssZUFBZSxNQUFNLDRCQUE0QixDQUFDO0FBQzlELE9BQU8sS0FBSyxRQUFRLE1BQU0scUJBQXFCLENBQUM7QUFFaEQsT0FBTyxFQUNMLFFBQVEsRUFDUixJQUFJLEVBQ0osUUFBUSxFQUNSLGVBQWUsRUFDZixRQUFRLEVBQ1QsQ0FBQSJ9
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
import * as plugins from '../plugins.js';
|
|
2
|
+
import type { IIdentity } from '../data/user.js';
|
|
3
|
+
import type { IService } from '../data/service.js';
|
|
4
|
+
import type { IAppStoreApp, IAppStoreAppMeta, IAppStoreInstallRequest, IAppStoreVersionConfig, IUpgradeableAppStoreService } from '../appstore/index.js';
|
|
5
|
+
export type TAppStoreUpgradeStatus = 'running' | 'success' | 'failed';
|
|
6
|
+
export type TAppStoreUpgradeStep = 'queued' | 'validating' | 'migration' | 'applying' | 'updating-service' | 'pushing-config' | 'complete' | 'failed';
|
|
7
|
+
export interface IAppStoreUpgradeChange {
|
|
8
|
+
field: string;
|
|
9
|
+
currentValue: string;
|
|
10
|
+
targetValue: string;
|
|
11
|
+
}
|
|
12
|
+
export interface IAppStoreUpgradePreview {
|
|
13
|
+
serviceId: string;
|
|
14
|
+
serviceName: string;
|
|
15
|
+
appTemplateId: string;
|
|
16
|
+
fromVersion: string;
|
|
17
|
+
targetVersion: string;
|
|
18
|
+
resolvedTargetVersion: string;
|
|
19
|
+
hasMigration: boolean;
|
|
20
|
+
requiresManualReview: boolean;
|
|
21
|
+
changes: IAppStoreUpgradeChange[];
|
|
22
|
+
warnings: string[];
|
|
23
|
+
blockers: string[];
|
|
24
|
+
config: IAppStoreVersionConfig;
|
|
25
|
+
appMeta: IAppStoreAppMeta;
|
|
26
|
+
}
|
|
27
|
+
export interface IAppStoreUpgradeOperation {
|
|
28
|
+
id: string;
|
|
29
|
+
serviceId: string;
|
|
30
|
+
serviceName: string;
|
|
31
|
+
appTemplateId: string;
|
|
32
|
+
fromVersion: string;
|
|
33
|
+
targetVersion: string;
|
|
34
|
+
status: TAppStoreUpgradeStatus;
|
|
35
|
+
step: TAppStoreUpgradeStep;
|
|
36
|
+
progressLines: string[];
|
|
37
|
+
warnings: string[];
|
|
38
|
+
error?: string;
|
|
39
|
+
startedAt: number;
|
|
40
|
+
updatedAt: number;
|
|
41
|
+
completedAt?: number;
|
|
42
|
+
service?: IService;
|
|
43
|
+
}
|
|
44
|
+
export interface IReq_Any_GetAppStoreTemplates extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_Any_GetAppStoreTemplates> {
|
|
45
|
+
method: 'getAppStoreTemplates';
|
|
46
|
+
request: {
|
|
47
|
+
identity: IIdentity;
|
|
48
|
+
};
|
|
49
|
+
response: {
|
|
50
|
+
apps: IAppStoreApp[];
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
export interface IReq_Any_GetAppStoreConfig extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_Any_GetAppStoreConfig> {
|
|
54
|
+
method: 'getAppStoreConfig';
|
|
55
|
+
request: {
|
|
56
|
+
identity: IIdentity;
|
|
57
|
+
appId: string;
|
|
58
|
+
version: string;
|
|
59
|
+
};
|
|
60
|
+
response: {
|
|
61
|
+
config: IAppStoreVersionConfig;
|
|
62
|
+
appMeta: IAppStoreAppMeta;
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
export interface IReq_Any_InstallAppStoreApp extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_Any_InstallAppStoreApp> {
|
|
66
|
+
method: 'installAppStoreApp';
|
|
67
|
+
request: {
|
|
68
|
+
identity: IIdentity;
|
|
69
|
+
install: IAppStoreInstallRequest;
|
|
70
|
+
};
|
|
71
|
+
response: {
|
|
72
|
+
service: IService;
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
export interface IReq_Any_GetUpgradeableAppStoreServices extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_Any_GetUpgradeableAppStoreServices> {
|
|
76
|
+
method: 'getUpgradeableAppStoreServices';
|
|
77
|
+
request: {
|
|
78
|
+
identity: IIdentity;
|
|
79
|
+
};
|
|
80
|
+
response: {
|
|
81
|
+
services: IUpgradeableAppStoreService[];
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
export interface IReq_Any_GetAppStoreUpgradePreview extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_Any_GetAppStoreUpgradePreview> {
|
|
85
|
+
method: 'getAppStoreUpgradePreview';
|
|
86
|
+
request: {
|
|
87
|
+
identity: IIdentity;
|
|
88
|
+
serviceId: string;
|
|
89
|
+
targetVersion?: string;
|
|
90
|
+
};
|
|
91
|
+
response: {
|
|
92
|
+
preview: IAppStoreUpgradePreview;
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
export interface IReq_Any_UpgradeAppStoreService extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_Any_UpgradeAppStoreService> {
|
|
96
|
+
method: 'upgradeAppStoreService';
|
|
97
|
+
request: {
|
|
98
|
+
identity: IIdentity;
|
|
99
|
+
serviceId: string;
|
|
100
|
+
targetVersion: string;
|
|
101
|
+
};
|
|
102
|
+
response: {
|
|
103
|
+
service: IService;
|
|
104
|
+
warnings: string[];
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
export interface IReq_Any_StartAppStoreServiceUpgrade extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_Any_StartAppStoreServiceUpgrade> {
|
|
108
|
+
method: 'startAppStoreServiceUpgrade';
|
|
109
|
+
request: {
|
|
110
|
+
identity: IIdentity;
|
|
111
|
+
serviceId: string;
|
|
112
|
+
targetVersion: string;
|
|
113
|
+
};
|
|
114
|
+
response: {
|
|
115
|
+
operation: IAppStoreUpgradeOperation;
|
|
116
|
+
};
|
|
117
|
+
}
|
|
118
|
+
export interface IReq_Any_GetAppStoreUpgradeOperations extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_Any_GetAppStoreUpgradeOperations> {
|
|
119
|
+
method: 'getAppStoreUpgradeOperations';
|
|
120
|
+
request: {
|
|
121
|
+
identity: IIdentity;
|
|
122
|
+
};
|
|
123
|
+
response: {
|
|
124
|
+
operations: IAppStoreUpgradeOperation[];
|
|
125
|
+
};
|
|
126
|
+
}
|
|
127
|
+
export interface IReq_Any_PushAppStoreUpgradeProgress extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_Any_PushAppStoreUpgradeProgress> {
|
|
128
|
+
method: 'pushAppStoreUpgradeProgress';
|
|
129
|
+
request: {
|
|
130
|
+
operation: IAppStoreUpgradeOperation;
|
|
131
|
+
};
|
|
132
|
+
response: Record<string, never>;
|
|
133
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import * as plugins from '../plugins.js';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwc3RvcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90cy9yZXF1ZXN0cy9hcHBzdG9yZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssT0FBTyxNQUFNLGVBQWUsQ0FBQyJ9
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as adminRequests from './admin.js';
|
|
2
|
-
import * as
|
|
2
|
+
import * as appStoreRequests from './appstore.js';
|
|
3
3
|
import * as baremetalRequests from './baremetal.js';
|
|
4
4
|
import * as baseOsRequests from './baseos.js';
|
|
5
5
|
import * as backupRequests from './backup.js';
|
|
@@ -26,5 +26,5 @@ import * as settingsRequests from './settings.js';
|
|
|
26
26
|
import * as statusRequests from './status.js';
|
|
27
27
|
import * as taskRequests from './task.js';
|
|
28
28
|
import * as versionRequests from './version.js';
|
|
29
|
-
export { adminRequests as admin,
|
|
29
|
+
export { adminRequests as admin, appStoreRequests as appstore, baremetalRequests as baremetal, baseOsRequests as baseos, backupRequests as backup, certificateRequests as certificate, clusterRequests as cluster, configRequests as config, deploymentRequests as deployment, dnsRequests as dns, domainRequests as domain, externalRegistryRequests as externalRegistry, identityRequests as identity, imageRequests as image, informRequests as inform, logRequests as log, networkRequests as network, nodeRequests as node, platformRequests as platform, routingRequests as routing, secretBundleRequests as secretbundle, secretGroupRequests as secretgroup, serverRequests as server, serviceRequests as service, settingsRequests as settings, statusRequests as status, taskRequests as task, versionRequests as version, };
|
|
30
30
|
export * from './inform.js';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as plugins from '../plugins.js';
|
|
2
2
|
import * as adminRequests from './admin.js';
|
|
3
|
-
import * as
|
|
3
|
+
import * as appStoreRequests from './appstore.js';
|
|
4
4
|
import * as baremetalRequests from './baremetal.js';
|
|
5
5
|
import * as baseOsRequests from './baseos.js';
|
|
6
6
|
import * as backupRequests from './backup.js';
|
|
@@ -27,6 +27,6 @@ import * as settingsRequests from './settings.js';
|
|
|
27
27
|
import * as statusRequests from './status.js';
|
|
28
28
|
import * as taskRequests from './task.js';
|
|
29
29
|
import * as versionRequests from './version.js';
|
|
30
|
-
export { adminRequests as admin,
|
|
30
|
+
export { adminRequests as admin, appStoreRequests as appstore, baremetalRequests as baremetal, baseOsRequests as baseos, backupRequests as backup, certificateRequests as certificate, clusterRequests as cluster, configRequests as config, deploymentRequests as deployment, dnsRequests as dns, domainRequests as domain, externalRegistryRequests as externalRegistry, identityRequests as identity, imageRequests as image, informRequests as inform, logRequests as log, networkRequests as network, nodeRequests as node, platformRequests as platform, routingRequests as routing, secretBundleRequests as secretbundle, secretGroupRequests as secretgroup, serverRequests as server, serviceRequests as service, settingsRequests as settings, statusRequests as status, taskRequests as task, versionRequests as version, };
|
|
31
31
|
export * from './inform.js';
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90cy9yZXF1ZXN0cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssT0FBTyxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEtBQUssYUFBYSxNQUFNLFlBQVksQ0FBQztBQUM1QyxPQUFPLEtBQUssZ0JBQWdCLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sS0FBSyxpQkFBaUIsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRCxPQUFPLEtBQUssY0FBYyxNQUFNLGFBQWEsQ0FBQztBQUM5QyxPQUFPLEtBQUssY0FBYyxNQUFNLGFBQWEsQ0FBQztBQUM5QyxPQUFPLEtBQUssbUJBQW1CLE1BQU0sa0JBQWtCLENBQUM7QUFDeEQsT0FBTyxLQUFLLGVBQWUsTUFBTSxjQUFjLENBQUM7QUFDaEQsT0FBTyxLQUFLLGNBQWMsTUFBTSxhQUFhLENBQUM7QUFDOUMsT0FBTyxLQUFLLGtCQUFrQixNQUFNLGlCQUFpQixDQUFDO0FBQ3RELE9BQU8sS0FBSyxXQUFXLE1BQU0sVUFBVSxDQUFDO0FBQ3hDLE9BQU8sS0FBSyxjQUFjLE1BQU0sYUFBYSxDQUFDO0FBQzlDLE9BQU8sS0FBSyx3QkFBd0IsTUFBTSx1QkFBdUIsQ0FBQztBQUNsRSxPQUFPLEtBQUssZ0JBQWdCLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sS0FBSyxhQUFhLE1BQU0sWUFBWSxDQUFDO0FBQzVDLE9BQU8sS0FBSyxjQUFjLE1BQU0sYUFBYSxDQUFDO0FBQzlDLE9BQU8sS0FBSyxXQUFXLE1BQU0sVUFBVSxDQUFDO0FBQ3hDLE9BQU8sS0FBSyxlQUFlLE1BQU0sY0FBYyxDQUFDO0FBQ2hELE9BQU8sS0FBSyxZQUFZLE1BQU0sV0FBVyxDQUFDO0FBQzFDLE9BQU8sS0FBSyxnQkFBZ0IsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxLQUFLLGVBQWUsTUFBTSxjQUFjLENBQUM7QUFDaEQsT0FBTyxLQUFLLG9CQUFvQixNQUFNLG1CQUFtQixDQUFDO0FBQzFELE9BQU8sS0FBSyxtQkFBbUIsTUFBTSxrQkFBa0IsQ0FBQztBQUN4RCxPQUFPLEtBQUssY0FBYyxNQUFNLGFBQWEsQ0FBQztBQUM5QyxPQUFPLEtBQUssZUFBZSxNQUFNLGNBQWMsQ0FBQztBQUNoRCxPQUFPLEtBQUssZ0JBQWdCLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sS0FBSyxjQUFjLE1BQU0sYUFBYSxDQUFDO0FBQzlDLE9BQU8sS0FBSyxZQUFZLE1BQU0sV0FBVyxDQUFDO0FBQzFDLE9BQU8sS0FBSyxlQUFlLE1BQU0sY0FBYyxDQUFDO0FBRWhELE9BQU8sRUFDTCxhQUFhLElBQUksS0FBSyxFQUN0QixnQkFBZ0IsSUFBSSxRQUFRLEVBQzVCLGlCQUFpQixJQUFJLFNBQVMsRUFDOUIsY0FBYyxJQUFJLE1BQU0sRUFDeEIsY0FBYyxJQUFJLE1BQU0sRUFDeEIsbUJBQW1CLElBQUksV0FBVyxFQUNsQyxlQUFlLElBQUksT0FBTyxFQUMxQixjQUFjLElBQUksTUFBTSxFQUN4QixrQkFBa0IsSUFBSSxVQUFVLEVBQ2hDLFdBQVcsSUFBSSxHQUFHLEVBQ2xCLGNBQWMsSUFBSSxNQUFNLEVBQ3hCLHdCQUF3QixJQUFJLGdCQUFnQixFQUM1QyxnQkFBZ0IsSUFBSSxRQUFRLEVBQzVCLGFBQWEsSUFBSSxLQUFLLEVBQ3RCLGNBQWMsSUFBSSxNQUFNLEVBQ3hCLFdBQVcsSUFBSSxHQUFHLEVBQ2xCLGVBQWUsSUFBSSxPQUFPLEVBQzFCLFlBQVksSUFBSSxJQUFJLEVBQ3BCLGdCQUFnQixJQUFJLFFBQVEsRUFDNUIsZUFBZSxJQUFJLE9BQU8sRUFDMUIsb0JBQW9CLElBQUksWUFBWSxFQUNwQyxtQkFBbUIsSUFBSSxXQUFXLEVBQ2xDLGNBQWMsSUFBSSxNQUFNLEVBQ3hCLGVBQWUsSUFBSSxPQUFPLEVBQzFCLGdCQUFnQixJQUFJLFFBQVEsRUFDNUIsY0FBYyxJQUFJLE1BQU0sRUFDeEIsWUFBWSxJQUFJLElBQUksRUFDcEIsZUFBZSxJQUFJLE9BQU8sR0FDM0IsQ0FBQztBQUVGLGNBQWMsYUFBYSxDQUFDIn0=
|
package/package.json
CHANGED
package/ts/00_commitinfo_data.ts
CHANGED
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
export type TAppStorePlatformRequirement = 'mongodb' | 's3' | 'clickhouse' | 'redis' | 'mariadb';
|
|
2
|
+
export type TAppStoreSourceType = 'inline' | 'repoManifest' | 'dockerImage';
|
|
3
|
+
export type TAppStoreTrackingMode = 'tag' | 'digest';
|
|
4
|
+
export type TAppStoreUpgradeStrategy = 'semver' | 'branch' | 'dockerDigest';
|
|
5
|
+
|
|
6
|
+
export interface IAppStoreInlineSource {
|
|
7
|
+
type: 'inline';
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export interface IAppStoreRepoManifestSource {
|
|
11
|
+
type: 'repoManifest';
|
|
12
|
+
/** Raw URL to a servezone.appstore.json file. Can point to a branch such as main. */
|
|
13
|
+
url: string;
|
|
14
|
+
/** Optional human-readable ref, for example main, stable, or v1.2.3. */
|
|
15
|
+
ref?: string;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export interface IAppStoreDockerImageSource {
|
|
19
|
+
type: 'dockerImage';
|
|
20
|
+
/** Docker image reference. Mutable tags such as :latest are allowed when policy permits them. */
|
|
21
|
+
image: string;
|
|
22
|
+
/** Digest tracking turns mutable tag changes into explicit appstore upgrades. */
|
|
23
|
+
tracking?: TAppStoreTrackingMode;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export type TAppStoreSource =
|
|
27
|
+
| IAppStoreInlineSource
|
|
28
|
+
| IAppStoreRepoManifestSource
|
|
29
|
+
| IAppStoreDockerImageSource;
|
|
30
|
+
|
|
31
|
+
export interface IAppStoreResolvedSource {
|
|
32
|
+
type: TAppStoreSourceType;
|
|
33
|
+
url?: string;
|
|
34
|
+
ref?: string;
|
|
35
|
+
image?: string;
|
|
36
|
+
manifestHash?: string;
|
|
37
|
+
imageDigest?: string;
|
|
38
|
+
resolvedAt: string;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
export interface IAppStoreEnvVar {
|
|
42
|
+
key: string;
|
|
43
|
+
value?: string;
|
|
44
|
+
description: string;
|
|
45
|
+
required?: boolean;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
export interface IAppStoreVolume {
|
|
49
|
+
/** Stable Docker volume name. If omitted, the runtime derives one from service name and mount path. */
|
|
50
|
+
name?: string;
|
|
51
|
+
/** Alias for name when a volume is shared intentionally across services. */
|
|
52
|
+
source?: string;
|
|
53
|
+
/** Container path where the volume is mounted. */
|
|
54
|
+
mountPath: string;
|
|
55
|
+
/** Docker volume driver. Defaults to the runtime's persistent volume driver. */
|
|
56
|
+
driver?: string;
|
|
57
|
+
readOnly?: boolean;
|
|
58
|
+
/** Whether backup orchestration should snapshot this volume. Defaults to true. */
|
|
59
|
+
backup?: boolean;
|
|
60
|
+
/** Driver-specific options forwarded to the container runtime. */
|
|
61
|
+
options?: Record<string, string>;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
export type TAppStoreVolumeSpec = string | IAppStoreVolume;
|
|
65
|
+
|
|
66
|
+
export interface IAppStorePublishedPort {
|
|
67
|
+
targetPort: number;
|
|
68
|
+
targetPortEnd?: number;
|
|
69
|
+
publishedPort?: number;
|
|
70
|
+
publishedPortEnd?: number;
|
|
71
|
+
protocol?: 'tcp' | 'udp';
|
|
72
|
+
hostIp?: string;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
export interface IAppStoreApp {
|
|
76
|
+
id: string;
|
|
77
|
+
name: string;
|
|
78
|
+
description: string;
|
|
79
|
+
category: string;
|
|
80
|
+
iconName?: string;
|
|
81
|
+
iconUrl?: string;
|
|
82
|
+
latestVersion: string;
|
|
83
|
+
versions?: string[];
|
|
84
|
+
tags?: string[];
|
|
85
|
+
channel?: string;
|
|
86
|
+
upgradeStrategy?: TAppStoreUpgradeStrategy;
|
|
87
|
+
source?: TAppStoreSource;
|
|
88
|
+
/** Minimal runtime config for source-only appstore entries, typically dockerImage sources. */
|
|
89
|
+
runtime?: IAppStoreVersionConfig;
|
|
90
|
+
resolvedSource?: IAppStoreResolvedSource;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
export interface IAppStoreIndex {
|
|
94
|
+
schemaVersion: number;
|
|
95
|
+
updatedAt: string;
|
|
96
|
+
resolvedAt?: string;
|
|
97
|
+
apps: IAppStoreApp[];
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
export interface IAppStoreAppMeta {
|
|
101
|
+
id: string;
|
|
102
|
+
name: string;
|
|
103
|
+
description: string;
|
|
104
|
+
category: string;
|
|
105
|
+
iconName?: string;
|
|
106
|
+
latestVersion: string;
|
|
107
|
+
versions: string[];
|
|
108
|
+
maintainer?: string;
|
|
109
|
+
links?: Record<string, string>;
|
|
110
|
+
tags?: string[];
|
|
111
|
+
source?: TAppStoreSource;
|
|
112
|
+
resolvedSource?: IAppStoreResolvedSource;
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
export interface IAppStoreVersionConfig {
|
|
116
|
+
image: string;
|
|
117
|
+
port: number;
|
|
118
|
+
envVars?: IAppStoreEnvVar[];
|
|
119
|
+
volumes?: TAppStoreVolumeSpec[];
|
|
120
|
+
publishedPorts?: IAppStorePublishedPort[];
|
|
121
|
+
platformRequirements?: Partial<Record<TAppStorePlatformRequirement, boolean>>;
|
|
122
|
+
minOneboxVersion?: string;
|
|
123
|
+
minCloudlyVersion?: string;
|
|
124
|
+
appStoreVersion?: string;
|
|
125
|
+
upgradeStrategy?: TAppStoreUpgradeStrategy;
|
|
126
|
+
source?: TAppStoreSource;
|
|
127
|
+
resolvedSource?: IAppStoreResolvedSource;
|
|
128
|
+
resolvedImageDigest?: string;
|
|
129
|
+
changelog?: string;
|
|
130
|
+
breaking?: boolean;
|
|
131
|
+
requiresManualReview?: boolean;
|
|
132
|
+
migrationRequired?: boolean;
|
|
133
|
+
backupBeforeUpgrade?: boolean;
|
|
134
|
+
requiresFeatures?: string[];
|
|
135
|
+
healthCheck?: {
|
|
136
|
+
path?: string;
|
|
137
|
+
port?: number;
|
|
138
|
+
expectedStatus?: number;
|
|
139
|
+
};
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
export interface IServezoneAppStoreAppInfo {
|
|
143
|
+
id: string;
|
|
144
|
+
name: string;
|
|
145
|
+
description: string;
|
|
146
|
+
category: string;
|
|
147
|
+
iconName?: string;
|
|
148
|
+
iconUrl?: string;
|
|
149
|
+
tags?: string[];
|
|
150
|
+
maintainer?: string;
|
|
151
|
+
links?: Record<string, string>;
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
export interface IServezoneAppStoreVersion extends IAppStoreVersionConfig {
|
|
155
|
+
version: string;
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
export interface IServezoneAppStoreManifest {
|
|
159
|
+
schemaVersion: number;
|
|
160
|
+
app: IServezoneAppStoreAppInfo;
|
|
161
|
+
latestVersion?: string;
|
|
162
|
+
channel?: string;
|
|
163
|
+
channels?: Record<string, string>;
|
|
164
|
+
source?: TAppStoreSource;
|
|
165
|
+
runtime?: IAppStoreVersionConfig;
|
|
166
|
+
versions?: IServezoneAppStoreVersion[];
|
|
167
|
+
policy?: {
|
|
168
|
+
allowMutableImage?: boolean;
|
|
169
|
+
defaultChannel?: string;
|
|
170
|
+
};
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
export interface IAppStoreInstallRequest {
|
|
174
|
+
appId: string;
|
|
175
|
+
version?: string;
|
|
176
|
+
serviceName: string;
|
|
177
|
+
domain?: string;
|
|
178
|
+
port?: number;
|
|
179
|
+
publishedPorts?: IAppStorePublishedPort[];
|
|
180
|
+
envVars?: Record<string, string>;
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
export interface IUpgradeableAppStoreService {
|
|
184
|
+
serviceId?: string;
|
|
185
|
+
serviceName: string;
|
|
186
|
+
appTemplateId: string;
|
|
187
|
+
currentVersion: string;
|
|
188
|
+
latestVersion: string;
|
|
189
|
+
hasMigration: boolean;
|
|
190
|
+
}
|
package/ts/data/service.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { IServiceRessources } from './docker.js';
|
|
2
2
|
import type { IRegistryTarget } from './registry.js';
|
|
3
|
+
import type { IAppStorePublishedPort } from '../appstore/index.js';
|
|
3
4
|
|
|
4
5
|
export interface IServiceVolume {
|
|
5
6
|
/** Stable Docker volume name. If omitted, Coreflow derives one from service id and mount path. */
|
|
@@ -28,6 +29,7 @@ export interface IService {
|
|
|
28
29
|
deployOnPush?: boolean;
|
|
29
30
|
appTemplateId?: string;
|
|
30
31
|
appTemplateVersion?: string;
|
|
32
|
+
appStoreUpgradePolicy?: 'manual' | 'notify' | 'auto';
|
|
31
33
|
environment: { [key: string]: string };
|
|
32
34
|
/**
|
|
33
35
|
* the main secret bundle id, exclusive to the service
|
|
@@ -74,6 +76,7 @@ export interface IService {
|
|
|
74
76
|
custom?: { [domain: string]: string };
|
|
75
77
|
};
|
|
76
78
|
volumes?: IServiceVolume[];
|
|
79
|
+
publishedPorts?: IAppStorePublishedPort[];
|
|
77
80
|
resources?: IServiceRessources;
|
|
78
81
|
domains: {
|
|
79
82
|
/**
|
package/ts/index.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import * as data from './data/index.js';
|
|
2
|
-
import * as
|
|
2
|
+
import * as appstore from './appstore/index.js';
|
|
3
3
|
import * as platform from './platform/index.js';
|
|
4
4
|
import * as platformservice from './platformservice/index.js';
|
|
5
5
|
import * as requests from './requests/index.js';
|
|
6
6
|
|
|
7
7
|
export {
|
|
8
|
-
|
|
8
|
+
appstore,
|
|
9
9
|
data,
|
|
10
10
|
platform,
|
|
11
11
|
platformservice,
|
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
import * as plugins from '../plugins.js';
|
|
2
|
+
import type { IIdentity } from '../data/user.js';
|
|
3
|
+
import type { IService } from '../data/service.js';
|
|
4
|
+
import type {
|
|
5
|
+
IAppStoreApp,
|
|
6
|
+
IAppStoreAppMeta,
|
|
7
|
+
IAppStoreInstallRequest,
|
|
8
|
+
IAppStoreVersionConfig,
|
|
9
|
+
IUpgradeableAppStoreService,
|
|
10
|
+
} from '../appstore/index.js';
|
|
11
|
+
|
|
12
|
+
export type TAppStoreUpgradeStatus = 'running' | 'success' | 'failed';
|
|
13
|
+
|
|
14
|
+
export type TAppStoreUpgradeStep =
|
|
15
|
+
| 'queued'
|
|
16
|
+
| 'validating'
|
|
17
|
+
| 'migration'
|
|
18
|
+
| 'applying'
|
|
19
|
+
| 'updating-service'
|
|
20
|
+
| 'pushing-config'
|
|
21
|
+
| 'complete'
|
|
22
|
+
| 'failed';
|
|
23
|
+
|
|
24
|
+
export interface IAppStoreUpgradeChange {
|
|
25
|
+
field: string;
|
|
26
|
+
currentValue: string;
|
|
27
|
+
targetValue: string;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
export interface IAppStoreUpgradePreview {
|
|
31
|
+
serviceId: string;
|
|
32
|
+
serviceName: string;
|
|
33
|
+
appTemplateId: string;
|
|
34
|
+
fromVersion: string;
|
|
35
|
+
targetVersion: string;
|
|
36
|
+
resolvedTargetVersion: string;
|
|
37
|
+
hasMigration: boolean;
|
|
38
|
+
requiresManualReview: boolean;
|
|
39
|
+
changes: IAppStoreUpgradeChange[];
|
|
40
|
+
warnings: string[];
|
|
41
|
+
blockers: string[];
|
|
42
|
+
config: IAppStoreVersionConfig;
|
|
43
|
+
appMeta: IAppStoreAppMeta;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
export interface IAppStoreUpgradeOperation {
|
|
47
|
+
id: string;
|
|
48
|
+
serviceId: string;
|
|
49
|
+
serviceName: string;
|
|
50
|
+
appTemplateId: string;
|
|
51
|
+
fromVersion: string;
|
|
52
|
+
targetVersion: string;
|
|
53
|
+
status: TAppStoreUpgradeStatus;
|
|
54
|
+
step: TAppStoreUpgradeStep;
|
|
55
|
+
progressLines: string[];
|
|
56
|
+
warnings: string[];
|
|
57
|
+
error?: string;
|
|
58
|
+
startedAt: number;
|
|
59
|
+
updatedAt: number;
|
|
60
|
+
completedAt?: number;
|
|
61
|
+
service?: IService;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
export interface IReq_Any_GetAppStoreTemplates extends plugins.typedrequestInterfaces.implementsTR<
|
|
65
|
+
plugins.typedrequestInterfaces.ITypedRequest,
|
|
66
|
+
IReq_Any_GetAppStoreTemplates
|
|
67
|
+
> {
|
|
68
|
+
method: 'getAppStoreTemplates';
|
|
69
|
+
request: {
|
|
70
|
+
identity: IIdentity;
|
|
71
|
+
};
|
|
72
|
+
response: {
|
|
73
|
+
apps: IAppStoreApp[];
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
export interface IReq_Any_GetAppStoreConfig extends plugins.typedrequestInterfaces.implementsTR<
|
|
78
|
+
plugins.typedrequestInterfaces.ITypedRequest,
|
|
79
|
+
IReq_Any_GetAppStoreConfig
|
|
80
|
+
> {
|
|
81
|
+
method: 'getAppStoreConfig';
|
|
82
|
+
request: {
|
|
83
|
+
identity: IIdentity;
|
|
84
|
+
appId: string;
|
|
85
|
+
version: string;
|
|
86
|
+
};
|
|
87
|
+
response: {
|
|
88
|
+
config: IAppStoreVersionConfig;
|
|
89
|
+
appMeta: IAppStoreAppMeta;
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
export interface IReq_Any_InstallAppStoreApp extends plugins.typedrequestInterfaces.implementsTR<
|
|
94
|
+
plugins.typedrequestInterfaces.ITypedRequest,
|
|
95
|
+
IReq_Any_InstallAppStoreApp
|
|
96
|
+
> {
|
|
97
|
+
method: 'installAppStoreApp';
|
|
98
|
+
request: {
|
|
99
|
+
identity: IIdentity;
|
|
100
|
+
install: IAppStoreInstallRequest;
|
|
101
|
+
};
|
|
102
|
+
response: {
|
|
103
|
+
service: IService;
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
export interface IReq_Any_GetUpgradeableAppStoreServices extends plugins.typedrequestInterfaces.implementsTR<
|
|
108
|
+
plugins.typedrequestInterfaces.ITypedRequest,
|
|
109
|
+
IReq_Any_GetUpgradeableAppStoreServices
|
|
110
|
+
> {
|
|
111
|
+
method: 'getUpgradeableAppStoreServices';
|
|
112
|
+
request: {
|
|
113
|
+
identity: IIdentity;
|
|
114
|
+
};
|
|
115
|
+
response: {
|
|
116
|
+
services: IUpgradeableAppStoreService[];
|
|
117
|
+
};
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
export interface IReq_Any_GetAppStoreUpgradePreview extends plugins.typedrequestInterfaces.implementsTR<
|
|
121
|
+
plugins.typedrequestInterfaces.ITypedRequest,
|
|
122
|
+
IReq_Any_GetAppStoreUpgradePreview
|
|
123
|
+
> {
|
|
124
|
+
method: 'getAppStoreUpgradePreview';
|
|
125
|
+
request: {
|
|
126
|
+
identity: IIdentity;
|
|
127
|
+
serviceId: string;
|
|
128
|
+
targetVersion?: string;
|
|
129
|
+
};
|
|
130
|
+
response: {
|
|
131
|
+
preview: IAppStoreUpgradePreview;
|
|
132
|
+
};
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
export interface IReq_Any_UpgradeAppStoreService extends plugins.typedrequestInterfaces.implementsTR<
|
|
136
|
+
plugins.typedrequestInterfaces.ITypedRequest,
|
|
137
|
+
IReq_Any_UpgradeAppStoreService
|
|
138
|
+
> {
|
|
139
|
+
method: 'upgradeAppStoreService';
|
|
140
|
+
request: {
|
|
141
|
+
identity: IIdentity;
|
|
142
|
+
serviceId: string;
|
|
143
|
+
targetVersion: string;
|
|
144
|
+
};
|
|
145
|
+
response: {
|
|
146
|
+
service: IService;
|
|
147
|
+
warnings: string[];
|
|
148
|
+
};
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
export interface IReq_Any_StartAppStoreServiceUpgrade extends plugins.typedrequestInterfaces.implementsTR<
|
|
152
|
+
plugins.typedrequestInterfaces.ITypedRequest,
|
|
153
|
+
IReq_Any_StartAppStoreServiceUpgrade
|
|
154
|
+
> {
|
|
155
|
+
method: 'startAppStoreServiceUpgrade';
|
|
156
|
+
request: {
|
|
157
|
+
identity: IIdentity;
|
|
158
|
+
serviceId: string;
|
|
159
|
+
targetVersion: string;
|
|
160
|
+
};
|
|
161
|
+
response: {
|
|
162
|
+
operation: IAppStoreUpgradeOperation;
|
|
163
|
+
};
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
export interface IReq_Any_GetAppStoreUpgradeOperations extends plugins.typedrequestInterfaces.implementsTR<
|
|
167
|
+
plugins.typedrequestInterfaces.ITypedRequest,
|
|
168
|
+
IReq_Any_GetAppStoreUpgradeOperations
|
|
169
|
+
> {
|
|
170
|
+
method: 'getAppStoreUpgradeOperations';
|
|
171
|
+
request: {
|
|
172
|
+
identity: IIdentity;
|
|
173
|
+
};
|
|
174
|
+
response: {
|
|
175
|
+
operations: IAppStoreUpgradeOperation[];
|
|
176
|
+
};
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
export interface IReq_Any_PushAppStoreUpgradeProgress extends plugins.typedrequestInterfaces.implementsTR<
|
|
180
|
+
plugins.typedrequestInterfaces.ITypedRequest,
|
|
181
|
+
IReq_Any_PushAppStoreUpgradeProgress
|
|
182
|
+
> {
|
|
183
|
+
method: 'pushAppStoreUpgradeProgress';
|
|
184
|
+
request: {
|
|
185
|
+
operation: IAppStoreUpgradeOperation;
|
|
186
|
+
};
|
|
187
|
+
response: Record<string, never>;
|
|
188
|
+
}
|
package/ts/requests/index.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as plugins from '../plugins.js';
|
|
2
2
|
|
|
3
3
|
import * as adminRequests from './admin.js';
|
|
4
|
-
import * as
|
|
4
|
+
import * as appStoreRequests from './appstore.js';
|
|
5
5
|
import * as baremetalRequests from './baremetal.js';
|
|
6
6
|
import * as baseOsRequests from './baseos.js';
|
|
7
7
|
import * as backupRequests from './backup.js';
|
|
@@ -31,7 +31,7 @@ import * as versionRequests from './version.js';
|
|
|
31
31
|
|
|
32
32
|
export {
|
|
33
33
|
adminRequests as admin,
|
|
34
|
-
|
|
34
|
+
appStoreRequests as appstore,
|
|
35
35
|
baremetalRequests as baremetal,
|
|
36
36
|
baseOsRequests as baseos,
|
|
37
37
|
backupRequests as backup,
|
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
export type TAppCatalogPlatformRequirement = 'mongodb' | 's3' | 'clickhouse' | 'redis' | 'mariadb';
|
|
2
|
-
export interface IAppCatalogEnvVar {
|
|
3
|
-
key: string;
|
|
4
|
-
value?: string;
|
|
5
|
-
description: string;
|
|
6
|
-
required?: boolean;
|
|
7
|
-
}
|
|
8
|
-
export interface IAppCatalogVolume {
|
|
9
|
-
/** Stable Docker volume name. If omitted, the runtime derives one from service name and mount path. */
|
|
10
|
-
name?: string;
|
|
11
|
-
/** Alias for name when a volume is shared intentionally across services. */
|
|
12
|
-
source?: string;
|
|
13
|
-
/** Container path where the volume is mounted. */
|
|
14
|
-
mountPath: string;
|
|
15
|
-
/** Docker volume driver. Defaults to the runtime's persistent volume driver. */
|
|
16
|
-
driver?: string;
|
|
17
|
-
readOnly?: boolean;
|
|
18
|
-
/** Whether backup orchestration should snapshot this volume. Defaults to true. */
|
|
19
|
-
backup?: boolean;
|
|
20
|
-
/** Driver-specific options forwarded to the container runtime. */
|
|
21
|
-
options?: Record<string, string>;
|
|
22
|
-
}
|
|
23
|
-
export type TAppCatalogVolumeSpec = string | IAppCatalogVolume;
|
|
24
|
-
export interface IAppCatalogPublishedPort {
|
|
25
|
-
targetPort: number;
|
|
26
|
-
targetPortEnd?: number;
|
|
27
|
-
publishedPort?: number;
|
|
28
|
-
publishedPortEnd?: number;
|
|
29
|
-
protocol?: 'tcp' | 'udp';
|
|
30
|
-
hostIp?: string;
|
|
31
|
-
}
|
|
32
|
-
export interface ICatalogApp {
|
|
33
|
-
id: string;
|
|
34
|
-
name: string;
|
|
35
|
-
description: string;
|
|
36
|
-
category: string;
|
|
37
|
-
iconName?: string;
|
|
38
|
-
iconUrl?: string;
|
|
39
|
-
latestVersion: string;
|
|
40
|
-
tags?: string[];
|
|
41
|
-
}
|
|
42
|
-
export interface ICatalog {
|
|
43
|
-
schemaVersion: number;
|
|
44
|
-
updatedAt: string;
|
|
45
|
-
apps: ICatalogApp[];
|
|
46
|
-
}
|
|
47
|
-
export interface IAppMeta {
|
|
48
|
-
id: string;
|
|
49
|
-
name: string;
|
|
50
|
-
description: string;
|
|
51
|
-
category: string;
|
|
52
|
-
iconName?: string;
|
|
53
|
-
latestVersion: string;
|
|
54
|
-
versions: string[];
|
|
55
|
-
maintainer?: string;
|
|
56
|
-
links?: Record<string, string>;
|
|
57
|
-
}
|
|
58
|
-
export interface IAppVersionConfig {
|
|
59
|
-
image: string;
|
|
60
|
-
port: number;
|
|
61
|
-
envVars?: IAppCatalogEnvVar[];
|
|
62
|
-
volumes?: TAppCatalogVolumeSpec[];
|
|
63
|
-
publishedPorts?: IAppCatalogPublishedPort[];
|
|
64
|
-
platformRequirements?: Partial<Record<TAppCatalogPlatformRequirement, boolean>>;
|
|
65
|
-
minOneboxVersion?: string;
|
|
66
|
-
minCloudlyVersion?: string;
|
|
67
|
-
}
|
|
68
|
-
export interface IAppInstallRequest {
|
|
69
|
-
appId: string;
|
|
70
|
-
version?: string;
|
|
71
|
-
serviceName: string;
|
|
72
|
-
domain?: string;
|
|
73
|
-
port?: number;
|
|
74
|
-
publishedPorts?: IAppCatalogPublishedPort[];
|
|
75
|
-
envVars?: Record<string, string>;
|
|
76
|
-
}
|
|
77
|
-
export interface IUpgradeableAppService {
|
|
78
|
-
serviceName: string;
|
|
79
|
-
appTemplateId: string;
|
|
80
|
-
currentVersion: string;
|
|
81
|
-
latestVersion: string;
|
|
82
|
-
hasMigration: boolean;
|
|
83
|
-
}
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import * as plugins from '../plugins.js';
|
|
2
|
-
import type { IIdentity } from '../data/user.js';
|
|
3
|
-
import type { IService } from '../data/service.js';
|
|
4
|
-
import type { IAppInstallRequest, IAppMeta, IAppVersionConfig, ICatalogApp, IUpgradeableAppService } from '../appcatalog/index.js';
|
|
5
|
-
export interface IReq_Any_GetAppCatalogTemplates extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_Any_GetAppCatalogTemplates> {
|
|
6
|
-
method: 'getAppCatalogTemplates';
|
|
7
|
-
request: {
|
|
8
|
-
identity: IIdentity;
|
|
9
|
-
};
|
|
10
|
-
response: {
|
|
11
|
-
apps: ICatalogApp[];
|
|
12
|
-
};
|
|
13
|
-
}
|
|
14
|
-
export interface IReq_Any_GetAppCatalogConfig extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_Any_GetAppCatalogConfig> {
|
|
15
|
-
method: 'getAppCatalogConfig';
|
|
16
|
-
request: {
|
|
17
|
-
identity: IIdentity;
|
|
18
|
-
appId: string;
|
|
19
|
-
version: string;
|
|
20
|
-
};
|
|
21
|
-
response: {
|
|
22
|
-
config: IAppVersionConfig;
|
|
23
|
-
appMeta: IAppMeta;
|
|
24
|
-
};
|
|
25
|
-
}
|
|
26
|
-
export interface IReq_Any_InstallAppCatalogApp extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_Any_InstallAppCatalogApp> {
|
|
27
|
-
method: 'installAppCatalogApp';
|
|
28
|
-
request: {
|
|
29
|
-
identity: IIdentity;
|
|
30
|
-
install: IAppInstallRequest;
|
|
31
|
-
};
|
|
32
|
-
response: {
|
|
33
|
-
service: IService;
|
|
34
|
-
};
|
|
35
|
-
}
|
|
36
|
-
export interface IReq_Any_GetUpgradeableAppCatalogServices extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_Any_GetUpgradeableAppCatalogServices> {
|
|
37
|
-
method: 'getUpgradeableAppCatalogServices';
|
|
38
|
-
request: {
|
|
39
|
-
identity: IIdentity;
|
|
40
|
-
};
|
|
41
|
-
response: {
|
|
42
|
-
services: IUpgradeableAppService[];
|
|
43
|
-
};
|
|
44
|
-
}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import * as plugins from '../plugins.js';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwY2F0YWxvZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3RzL3JlcXVlc3RzL2FwcGNhdGFsb2cudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE9BQU8sTUFBTSxlQUFlLENBQUMifQ==
|
package/ts/appcatalog/types.ts
DELETED
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
export type TAppCatalogPlatformRequirement = 'mongodb' | 's3' | 'clickhouse' | 'redis' | 'mariadb';
|
|
2
|
-
|
|
3
|
-
export interface IAppCatalogEnvVar {
|
|
4
|
-
key: string;
|
|
5
|
-
value?: string;
|
|
6
|
-
description: string;
|
|
7
|
-
required?: boolean;
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
export interface IAppCatalogVolume {
|
|
11
|
-
/** Stable Docker volume name. If omitted, the runtime derives one from service name and mount path. */
|
|
12
|
-
name?: string;
|
|
13
|
-
/** Alias for name when a volume is shared intentionally across services. */
|
|
14
|
-
source?: string;
|
|
15
|
-
/** Container path where the volume is mounted. */
|
|
16
|
-
mountPath: string;
|
|
17
|
-
/** Docker volume driver. Defaults to the runtime's persistent volume driver. */
|
|
18
|
-
driver?: string;
|
|
19
|
-
readOnly?: boolean;
|
|
20
|
-
/** Whether backup orchestration should snapshot this volume. Defaults to true. */
|
|
21
|
-
backup?: boolean;
|
|
22
|
-
/** Driver-specific options forwarded to the container runtime. */
|
|
23
|
-
options?: Record<string, string>;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
export type TAppCatalogVolumeSpec = string | IAppCatalogVolume;
|
|
27
|
-
|
|
28
|
-
export interface IAppCatalogPublishedPort {
|
|
29
|
-
targetPort: number;
|
|
30
|
-
targetPortEnd?: number;
|
|
31
|
-
publishedPort?: number;
|
|
32
|
-
publishedPortEnd?: number;
|
|
33
|
-
protocol?: 'tcp' | 'udp';
|
|
34
|
-
hostIp?: string;
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
export interface ICatalogApp {
|
|
38
|
-
id: string;
|
|
39
|
-
name: string;
|
|
40
|
-
description: string;
|
|
41
|
-
category: string;
|
|
42
|
-
iconName?: string;
|
|
43
|
-
iconUrl?: string;
|
|
44
|
-
latestVersion: string;
|
|
45
|
-
tags?: string[];
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
export interface ICatalog {
|
|
49
|
-
schemaVersion: number;
|
|
50
|
-
updatedAt: string;
|
|
51
|
-
apps: ICatalogApp[];
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
export interface IAppMeta {
|
|
55
|
-
id: string;
|
|
56
|
-
name: string;
|
|
57
|
-
description: string;
|
|
58
|
-
category: string;
|
|
59
|
-
iconName?: string;
|
|
60
|
-
latestVersion: string;
|
|
61
|
-
versions: string[];
|
|
62
|
-
maintainer?: string;
|
|
63
|
-
links?: Record<string, string>;
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
export interface IAppVersionConfig {
|
|
67
|
-
image: string;
|
|
68
|
-
port: number;
|
|
69
|
-
envVars?: IAppCatalogEnvVar[];
|
|
70
|
-
volumes?: TAppCatalogVolumeSpec[];
|
|
71
|
-
publishedPorts?: IAppCatalogPublishedPort[];
|
|
72
|
-
platformRequirements?: Partial<Record<TAppCatalogPlatformRequirement, boolean>>;
|
|
73
|
-
minOneboxVersion?: string;
|
|
74
|
-
minCloudlyVersion?: string;
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
export interface IAppInstallRequest {
|
|
78
|
-
appId: string;
|
|
79
|
-
version?: string;
|
|
80
|
-
serviceName: string;
|
|
81
|
-
domain?: string;
|
|
82
|
-
port?: number;
|
|
83
|
-
publishedPorts?: IAppCatalogPublishedPort[];
|
|
84
|
-
envVars?: Record<string, string>;
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
export interface IUpgradeableAppService {
|
|
88
|
-
serviceName: string;
|
|
89
|
-
appTemplateId: string;
|
|
90
|
-
currentVersion: string;
|
|
91
|
-
latestVersion: string;
|
|
92
|
-
hasMigration: boolean;
|
|
93
|
-
}
|
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
import * as plugins from '../plugins.js';
|
|
2
|
-
import type { IIdentity } from '../data/user.js';
|
|
3
|
-
import type { IService } from '../data/service.js';
|
|
4
|
-
import type {
|
|
5
|
-
IAppInstallRequest,
|
|
6
|
-
IAppMeta,
|
|
7
|
-
IAppVersionConfig,
|
|
8
|
-
ICatalogApp,
|
|
9
|
-
IUpgradeableAppService,
|
|
10
|
-
} from '../appcatalog/index.js';
|
|
11
|
-
|
|
12
|
-
export interface IReq_Any_GetAppCatalogTemplates extends plugins.typedrequestInterfaces.implementsTR<
|
|
13
|
-
plugins.typedrequestInterfaces.ITypedRequest,
|
|
14
|
-
IReq_Any_GetAppCatalogTemplates
|
|
15
|
-
> {
|
|
16
|
-
method: 'getAppCatalogTemplates';
|
|
17
|
-
request: {
|
|
18
|
-
identity: IIdentity;
|
|
19
|
-
};
|
|
20
|
-
response: {
|
|
21
|
-
apps: ICatalogApp[];
|
|
22
|
-
};
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
export interface IReq_Any_GetAppCatalogConfig extends plugins.typedrequestInterfaces.implementsTR<
|
|
26
|
-
plugins.typedrequestInterfaces.ITypedRequest,
|
|
27
|
-
IReq_Any_GetAppCatalogConfig
|
|
28
|
-
> {
|
|
29
|
-
method: 'getAppCatalogConfig';
|
|
30
|
-
request: {
|
|
31
|
-
identity: IIdentity;
|
|
32
|
-
appId: string;
|
|
33
|
-
version: string;
|
|
34
|
-
};
|
|
35
|
-
response: {
|
|
36
|
-
config: IAppVersionConfig;
|
|
37
|
-
appMeta: IAppMeta;
|
|
38
|
-
};
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
export interface IReq_Any_InstallAppCatalogApp extends plugins.typedrequestInterfaces.implementsTR<
|
|
42
|
-
plugins.typedrequestInterfaces.ITypedRequest,
|
|
43
|
-
IReq_Any_InstallAppCatalogApp
|
|
44
|
-
> {
|
|
45
|
-
method: 'installAppCatalogApp';
|
|
46
|
-
request: {
|
|
47
|
-
identity: IIdentity;
|
|
48
|
-
install: IAppInstallRequest;
|
|
49
|
-
};
|
|
50
|
-
response: {
|
|
51
|
-
service: IService;
|
|
52
|
-
};
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
export interface IReq_Any_GetUpgradeableAppCatalogServices extends plugins.typedrequestInterfaces.implementsTR<
|
|
56
|
-
plugins.typedrequestInterfaces.ITypedRequest,
|
|
57
|
-
IReq_Any_GetUpgradeableAppCatalogServices
|
|
58
|
-
> {
|
|
59
|
-
method: 'getUpgradeableAppCatalogServices';
|
|
60
|
-
request: {
|
|
61
|
-
identity: IIdentity;
|
|
62
|
-
};
|
|
63
|
-
response: {
|
|
64
|
-
services: IUpgradeableAppService[];
|
|
65
|
-
};
|
|
66
|
-
}
|
|
File without changes
|
|
File without changes
|