feat(appstore,workspace): add App Store upgrade progress tracking and interactive workspace processes
This commit is contained in:
@@ -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: {};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user