feat(dcrouter): add managed local dcrouter mode with status controls and gateway integration

This commit is contained in:
2026-05-09 20:04:02 +00:00
parent 595e84cdb6
commit dc37a71802
19 changed files with 873 additions and 31 deletions
+22
View File
@@ -2,9 +2,31 @@
* Settings data shapes for Onebox
*/
export type TDcRouterMode = 'managed' | 'external' | 'disabled';
export interface IManagedDcRouterStatus {
mode: TDcRouterMode;
configured: boolean;
running: boolean;
healthy: boolean;
containerId?: string;
image: string;
gatewayUrl: string;
opsPort: number;
httpPort: number;
httpsPort: number;
message?: string;
}
export interface ISettings {
cloudflareToken: string;
cloudflareZoneId: string;
dcrouterMode: TDcRouterMode;
dcrouterManagedImage: string;
dcrouterManagedOpsPort: number;
dcrouterManagedHttpPort: number;
dcrouterManagedHttpsPort: number;
dcrouterManagedDataDir: string;
dcrouterGatewayUrl: string;
dcrouterGatewayApiToken: string;
dcrouterGatewayClientId: string;
+52
View File
@@ -54,3 +54,55 @@ export interface IReq_GetBackupPasswordStatus extends plugins.typedrequestInterf
status: data.IBackupPasswordStatus;
};
}
export interface IReq_GetManagedDcRouterStatus extends plugins.typedrequestInterfaces.implementsTR<
plugins.typedrequestInterfaces.ITypedRequest,
IReq_GetManagedDcRouterStatus
> {
method: 'getManagedDcRouterStatus';
request: {
identity: data.IIdentity;
};
response: {
status: data.IManagedDcRouterStatus;
};
}
export interface IReq_StartManagedDcRouter extends plugins.typedrequestInterfaces.implementsTR<
plugins.typedrequestInterfaces.ITypedRequest,
IReq_StartManagedDcRouter
> {
method: 'startManagedDcRouter';
request: {
identity: data.IIdentity;
};
response: {
status: data.IManagedDcRouterStatus;
};
}
export interface IReq_StopManagedDcRouter extends plugins.typedrequestInterfaces.implementsTR<
plugins.typedrequestInterfaces.ITypedRequest,
IReq_StopManagedDcRouter
> {
method: 'stopManagedDcRouter';
request: {
identity: data.IIdentity;
};
response: {
status: data.IManagedDcRouterStatus;
};
}
export interface IReq_RestartManagedDcRouter extends plugins.typedrequestInterfaces.implementsTR<
plugins.typedrequestInterfaces.ITypedRequest,
IReq_RestartManagedDcRouter
> {
method: 'restartManagedDcRouter';
request: {
identity: data.IIdentity;
};
response: {
status: data.IManagedDcRouterStatus;
};
}