feat: pass external gateway config to coreflow
This commit is contained in:
@@ -103,12 +103,30 @@ export class CloudlyCoreflowManager {
|
||||
const cluster = await this.cloudlyRef.clusterManager.getClusterBy_Identity(identityArg);
|
||||
const services = await this.cloudlyRef.serviceManager.CService.getInstances({});
|
||||
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(),
|
||||
services: await Promise.all(services.map((service) => service.createSavableObject())),
|
||||
platformProviderConfigs: platformDesiredState.providerConfigs,
|
||||
platformBindings: platformDesiredState.bindings,
|
||||
};
|
||||
if (externalGateway) {
|
||||
payload.externalGateway = externalGateway;
|
||||
}
|
||||
return payload;
|
||||
}
|
||||
|
||||
public async pushClusterConfigToConnectedCoreflows() {
|
||||
|
||||
Reference in New Issue
Block a user