feat: pass external gateway config to coreflow

This commit is contained in:
2026-04-29 15:29:17 +00:00
parent 7d380d04fc
commit 452aaa3862
+19 -1
View File
@@ -103,12 +103,30 @@ export class CloudlyCoreflowManager {
const cluster = await this.cloudlyRef.clusterManager.getClusterBy_Identity(identityArg); const cluster = await this.cloudlyRef.clusterManager.getClusterBy_Identity(identityArg);
const services = await this.cloudlyRef.serviceManager.CService.getInstances({}); const services = await this.cloudlyRef.serviceManager.CService.getInstances({});
const platformDesiredState = await this.cloudlyRef.platformManager.getPlatformDesiredState(); const platformDesiredState = await this.cloudlyRef.platformManager.getPlatformDesiredState();
return { const settings = await this.cloudlyRef.settingsManager.getSettings();
const targetPort = Number(settings.dcrouterTargetPort || '80');
const externalGateway = settings.dcrouterGatewayUrl && settings.dcrouterGatewayApiToken
? {
url: settings.dcrouterGatewayUrl,
apiToken: settings.dcrouterGatewayApiToken,
workHosterType: 'cloudly' as const,
workHosterId: settings.dcrouterWorkHosterId || cluster.id,
targetHost: settings.dcrouterTargetHost,
targetPort: Number.isInteger(targetPort) && targetPort > 0 ? targetPort : 80,
}
: undefined;
const payload: plugins.servezoneInterfaces.requests.config.IRequest_Cloudly_Coreflow_PushClusterConfig['request'] & {
externalGateway?: typeof externalGateway;
} = {
configData: await cluster.createSavableObject(), configData: await cluster.createSavableObject(),
services: await Promise.all(services.map((service) => service.createSavableObject())), services: await Promise.all(services.map((service) => service.createSavableObject())),
platformProviderConfigs: platformDesiredState.providerConfigs, platformProviderConfigs: platformDesiredState.providerConfigs,
platformBindings: platformDesiredState.bindings, platformBindings: platformDesiredState.bindings,
}; };
if (externalGateway) {
payload.externalGateway = externalGateway;
}
return payload;
} }
public async pushClusterConfigToConnectedCoreflows() { public async pushClusterConfigToConnectedCoreflows() {