| ... | @@ -74,9 +74,14 @@ const loadDeployConfigProvider = Effect.fn("relay.deploy.loadConfigProvider")(fu | ... | @@ -74,9 +74,14 @@ const loadDeployConfigProvider = Effect.fn("relay.deploy.loadConfigProvider")(fu |
| 74 | ) { | 74 | ) { |
| 75 | const path = yield* Path.Path; | 75 | const path = yield* Path.Path; |
| 76 | const root = yield* relayRoot; | 76 | const root = yield* relayRoot; |
| 77 | const selectedEnvFile = Option.getOrUndefined(envFileOverride); | 77 | |
| 78 | const envFile = selectedEnvFile ? path.resolve(root, selectedEnvFile) : path.join(root, ".env"); | 78 | if (Option.isSome(envFileOverride)) { |
| 79 | return yield* ConfigProvider.fromDotEnv({ path: envFile }); | 79 | return yield* ConfigProvider.fromDotEnv({ path: path.resolve(root, envFileOverride.value) }); |
| | 80 | } |
| | 81 | |
| | 82 | return yield* ConfigProvider.fromDotEnv({ path: path.join(root, ".env") }).pipe( |
| | 83 | Effect.catch(() => Effect.succeed(ConfigProvider.fromEnv())), |
| | 84 | ); |
| 80 | }); | 85 | }); |
| 81 | | 86 | |
| 82 | const relayDeployStage = Config.nonEmptyString("stage").pipe( | 87 | const relayDeployStage = Config.nonEmptyString("stage").pipe( |
| ... | @@ -184,7 +189,9 @@ export const relayDeployCommand = Command.make( | ... | @@ -184,7 +189,9 @@ export const relayDeployCommand = Command.make( |
| 184 | Flag.withDefault(false), | 189 | Flag.withDefault(false), |
| 185 | ), | 190 | ), |
| 186 | envFile: Flag.string("env-file").pipe( | 191 | envFile: Flag.string("env-file").pipe( |
| 187 | Flag.withDescription("Environment file to load. Defaults to infra/relay/.env."), | 192 | Flag.withDescription( |
| | 193 | "Environment file to load. Defaults to infra/relay/.env with process env fallback.", |
| | 194 | ), |
| 188 | Flag.optional, | 195 | Flag.optional, |
| 189 | ), | 196 | ), |
| 190 | stage: Flag.string("stage").pipe( | 197 | stage: Flag.string("stage").pipe( |