fix: 支持 runtime store 连接池 YAML 配置

This commit is contained in:
lyon
2026-06-20 08:01:59 +08:00
parent 037043b7c8
commit c318e8eadf
4 changed files with 57 additions and 7 deletions
+18 -2
View File
@@ -935,7 +935,11 @@ function deployServicesForProfile(deploy, profile) {
.filter((service) => allowed.has(service.serviceId))
.map((service) => {
const copy = cloneJson(service);
copy.env = mergeEnvMaps(copy.env, serviceDeclarationEnvForProfile(deploy, profile, service.serviceId));
copy.env = mergeEnvMaps(
copy.env,
serviceDeclarationEnvForProfile(deploy, profile, service.serviceId),
runtimeStoreEnvForProfile(deploy, profile, service.serviceId)
);
return [service.serviceId, copy];
}));
const laneServices = isRuntimeLane(profile) && Array.isArray(deploy.lanes?.[profile]?.services)
@@ -944,7 +948,10 @@ function deployServicesForProfile(deploy, profile) {
for (const override of laneServices) {
const existing = services.get(override.serviceId) ?? {
serviceId: override.serviceId,
env: serviceDeclarationEnvForProfile(deploy, profile, override.serviceId)
env: mergeEnvMaps(
serviceDeclarationEnvForProfile(deploy, profile, override.serviceId),
runtimeStoreEnvForProfile(deploy, profile, override.serviceId)
)
};
services.set(override.serviceId, {
...existing,
@@ -972,6 +979,15 @@ function runtimeWorkbenchTraceTimelinePolicy(deploy, profile) {
return Object.keys(result).length > 0 ? result : null;
}
function runtimeStoreEnvForProfile(deploy, profile, serviceId) {
if (!isRuntimeLane(profile) || serviceId !== "hwlab-cloud-api") return {};
const postgres = runtimeLaneConfig(deploy, profile)?.runtimeStore?.postgres;
if (!postgres || typeof postgres !== "object" || Array.isArray(postgres)) return {};
const env = {};
if (Number.isInteger(postgres.poolMax)) env.HWLAB_CLOUD_DB_POOL_MAX = String(postgres.poolMax);
return env;
}
function booleanEnv(value) {
return value ? "1" : "0";
}