chore(deps): update serve.zone interfaces

This commit is contained in:
2026-04-25 14:16:58 +00:00
parent 373ec05e2c
commit 1b5c16c500
4 changed files with 88 additions and 31 deletions
+29 -15
View File
@@ -307,8 +307,7 @@ export class ClusterManager {
name: dockerSecretName,
contentArg: JSON.stringify(await secretBundle.getFlatKeyValueObjectForEnvironment()),
labels: {},
version:
await containerImageFromCloudly.data.versions[serviceArgFromCloudly.data.imageVersion],
version: serviceArgFromCloudly.data.imageVersion,
},
);
containerService = await plugins.docker.DockerService.createService(
@@ -328,11 +327,24 @@ export class ClusterManager {
}
}
public async provisionWorkloadServices(
_clusterConfigArg: plugins.servezoneInterfaces.data.ICluster,
) {
const services =
(await this.coreflowRef.cloudlyConnector.cloudlyApiClient.services.getServices()) as unknown as plugins.servezoneInterfaces.data.IService[];
for (const service of services) {
if (service.data.serviceCategory && service.data.serviceCategory !== 'workload') {
continue;
}
await this.provisionWorkloadService(service);
}
}
/**
* update traffic routing
*/
public async updateTrafficRouting(
clusterConfigArg: plugins.servezoneInterfaces.data.IClusterConfig,
_clusterConfigArg: plugins.servezoneInterfaces.data.ICluster,
) {
const services = await this.coreflowRef.dockerHost.getServices();
const webGatewayNetwork = await plugins.docker.DockerNetwork.getNetworkByName(
@@ -351,8 +363,8 @@ export class ClusterManager {
const certificate =
await this.coreflowRef.cloudlyConnector.getCertificateForDomainFromCloudly(hostNameArg);
reverseProxyConfigs.push({
destinationIp: containerDestinationIp,
destinationPort: webDestinationPort,
destinationIps: [containerDestinationIp],
destinationPorts: [Number(webDestinationPort)],
hostName: hostNameArg,
privateKey: certificate.privateKey,
publicKey: certificate.publicKey,
@@ -364,10 +376,12 @@ export class ClusterManager {
};
logger.log('info', `Found ${services.length} services!`);
const workloadServices =
(await this.coreflowRef.cloudlyConnector.cloudlyApiClient.services.getServices()) as unknown as plugins.servezoneInterfaces.data.IService[];
for (const service of services) {
let workloadConfig: plugins.servezoneInterfaces.data.IClusterConfigContainer;
for (const workloadServiceConfig of clusterConfigArg.data.containers) {
if (service.Spec.Name === workloadServiceConfig.name) {
let workloadConfig: plugins.servezoneInterfaces.data.IService | undefined;
for (const workloadServiceConfig of workloadServices) {
if (service.Spec.Name === workloadServiceConfig.data.name) {
workloadConfig = workloadServiceConfig;
break;
}
@@ -386,13 +400,13 @@ export class ClusterManager {
continue;
}
const containerDestinationIp = containersOfServicesOnNetwork[0].IPv4Address.split('/')[0];
const hostNames: string[] = workloadConfig.domains;
const hostNames = (workloadConfig.data.domains || []).map((domainEntry) => domainEntry.name);
// lets route the web port
const webDestinationPort: string = workloadConfig.ports.web.toString();
const webDestinationPort: string = workloadConfig.data.ports.web.toString();
for (const hostName of hostNames) {
await pushProxyConfig(
workloadConfig.name,
workloadConfig.data.name,
hostName,
containerDestinationIp,
webDestinationPort,
@@ -400,14 +414,14 @@ export class ClusterManager {
}
// lets route custom ports
if (workloadConfig.ports.custom) {
const customDomainKeys = Object.keys(workloadConfig.ports.custom);
if (workloadConfig.data.ports.custom) {
const customDomainKeys = Object.keys(workloadConfig.data.ports.custom);
for (const customDomainKey of customDomainKeys) {
await pushProxyConfig(
workloadConfig.name,
workloadConfig.data.name,
customDomainKey,
containerDestinationIp,
workloadConfig.ports.custom[customDomainKey],
workloadConfig.data.ports.custom[customDomainKey],
);
}
}