add env var
This commit is contained in:
@@ -0,0 +1,25 @@
|
||||
## Context
|
||||
|
||||
As outlined in the proposal, the frontend application's backend URL is hardcoded. This design details the technical approach to make this configurable, improving deployment flexibility across different environments.
|
||||
|
||||
## Goals / Non-Goals
|
||||
|
||||
**Goals:**
|
||||
- To allow the backend URL for the frontend application to be set via an environment variable named `REACT_APP_BACKEND_URL`.
|
||||
- To update the Docker configuration to support passing this environment variable at runtime.
|
||||
- To ensure the application remains runnable locally with a sensible default, requiring no extra setup for local development.
|
||||
|
||||
**Non-Goals:**
|
||||
- This change will not address dynamic configuration updates at runtime. A restart of the frontend application will be needed for a new URL to take effect.
|
||||
- This will not involve any changes to the backend service itself.
|
||||
|
||||
## Decisions
|
||||
|
||||
- **Environment Variable Name**: We will use `REACT_APP_BACKEND_URL`. Create React App's build process automatically embeds environment variables prefixed with `REACT_APP_` into the application, making them accessible via `process.env.REACT_APP_BACKEND_URL`. This is the standard and simplest method for this stack.
|
||||
- **Default Value**: In the frontend JavaScript code, we will implement a fallback to `http://localhost:3001` if the `REACT_APP_BACKEND_URL` environment variable is not set. This ensures that running `npm start` locally continues to work out-of-the-box.
|
||||
- **Docker Configuration**: The `docker-compose.yml` file will be modified to accept the `REACT_APP_BACKEND_URL` environment variable and pass it to the `frontend` service. This allows operators to configure the backend URL when running `docker-compose up`.
|
||||
|
||||
## Risks / Trade-offs
|
||||
|
||||
- **Risk**: If the `REACT_APP_BACKEND_URL` is not set in a production environment, the frontend will default to `http://localhost:3001`, which will fail.
|
||||
- **Mitigation**: Deployment documentation and CI/CD scripts must be updated to explicitly require and validate the presence of the `REACT_APP_BACKEND_URL` variable for all non-local environments.
|
||||
Reference in New Issue
Block a user