authorgravatar for julius0216@outlook.comJulius Marminge <julius0216@outlook.com> 2026-06-04 20:16:23-07:00
committergravatar for julius0216@outlook.comJulius Marminge <julius0216@outlook.com> 2026-06-04 20:16:23-07:00
log769bdd251d8945919d42fc9b0821da13e8dbf6f8
tree72d641fca8355846c2f7a9c9176381884fc311fa
parent295b9db113058d33306f9f599d8077710a293f43

fallback to None when RELAY_DOMAIN is unset


1 files changed, 7 insertions(+), 1 deletions(-)

infra/relay/src/zone.ts+7-1
...@@ -23,8 +23,14 @@ export const RelayDeploymentConfig = Effect.gen(function* () {...@@ -23,8 +23,14 @@ export const RelayDeploymentConfig = Effect.gen(function* () {
23 const { stage } = yield* Alchemy.Stack;23 const { stage } = yield* Alchemy.Stack;
24 const relayApiZoneName = yield* Config.nonEmptyString("RELAY_API_ZONE_NAME");24 const relayApiZoneName = yield* Config.nonEmptyString("RELAY_API_ZONE_NAME");
25 const managedEndpointZoneName = yield* Config.nonEmptyString("RELAY_TUNNEL_ZONE_NAME");25 const managedEndpointZoneName = yield* Config.nonEmptyString("RELAY_TUNNEL_ZONE_NAME");
26 const relayPublicDomainOverride = yield* Config.nonEmptyString("RELAY_DOMAIN").pipe(26 const relayPublicDomainOverride = yield* Config.string("RELAY_DOMAIN").pipe(
27 Config.option,27 Config.option,
28 Config.map(
29 Option.flatMap((value) => {
30 const trimmed = value.trim();
31 return trimmed ? Option.some(trimmed) : Option.none();
32 }),
33 ),
28 );34 );
29 const relayPublicDomain = Option.getOrElse(relayPublicDomainOverride, () =>35 const relayPublicDomain = Option.getOrElse(relayPublicDomainOverride, () =>
30 relayPublicDomainForStage(stage, relayApiZoneName),36 relayPublicDomainForStage(stage, relayApiZoneName),