feat(appstore,workspace): add App Store upgrade progress tracking and interactive workspace processes

This commit is contained in:
2026-05-25 06:24:29 +00:00
parent 3e68e875ac
commit d2c1bed82c
16 changed files with 1069 additions and 122 deletions
+74
View File
@@ -11,6 +11,41 @@ export interface IAppStoreInstallOptions extends servezoneInterfaces.appstore.IA
autoDNS?: boolean;
}
export type TAppStoreUpgradeStatus = 'running' | 'success' | 'failed';
export type TAppStoreUpgradeStep =
| 'queued'
| 'validating'
| 'migration'
| 'applying'
| 'stopping'
| 'pulling-image'
| 'updating-record'
| 'removing-container'
| 'creating-container'
| 'starting'
| 'restoring-route'
| 'syncing-gateway'
| 'complete'
| 'failed';
export interface IAppStoreUpgradeOperation {
id: string;
serviceName: string;
appTemplateId: string;
fromVersion: string;
targetVersion: string;
status: TAppStoreUpgradeStatus;
step: TAppStoreUpgradeStep;
progressLines: string[];
warnings: string[];
error?: string;
startedAt: number;
updatedAt: number;
completedAt?: number;
service?: data.IService;
}
export interface IReq_GetAppStoreTemplates extends plugins.typedrequestInterfaces.implementsTR<
plugins.typedrequestInterfaces.ITypedRequest,
IReq_GetAppStoreTemplates
@@ -82,3 +117,42 @@ export interface IReq_UpgradeAppStoreService extends plugins.typedrequestInterfa
warnings: string[];
};
}
export interface IReq_StartAppStoreServiceUpgrade extends plugins.typedrequestInterfaces.implementsTR<
plugins.typedrequestInterfaces.ITypedRequest,
IReq_StartAppStoreServiceUpgrade
> {
method: 'startAppStoreServiceUpgrade';
request: {
identity: data.IIdentity;
serviceName: string;
targetVersion: string;
};
response: {
operation: IAppStoreUpgradeOperation;
};
}
export interface IReq_GetAppStoreUpgradeOperations extends plugins.typedrequestInterfaces.implementsTR<
plugins.typedrequestInterfaces.ITypedRequest,
IReq_GetAppStoreUpgradeOperations
> {
method: 'getAppStoreUpgradeOperations';
request: {
identity: data.IIdentity;
};
response: {
operations: IAppStoreUpgradeOperation[];
};
}
export interface IReq_PushAppStoreUpgradeProgress extends plugins.typedrequestInterfaces.implementsTR<
plugins.typedrequestInterfaces.ITypedRequest,
IReq_PushAppStoreUpgradeProgress
> {
method: 'pushAppStoreUpgradeProgress';
request: {
operation: IAppStoreUpgradeOperation;
};
response: {};
}