У меня есть приложение ReactJS, которое взаимодействует с бэкэнд API для получения и изменения данных. Приложение React развертывается как образ Docker из Nginx: alpine внутри кластера Kubernetes, также nginx направляет запросы API в API-интерфейс сервера. Например, в UAT API будет https://uat.mycompanydomain.com/app1/api
будет направлять к бэкэнд-сервису, который не отображается снаружи.
Приложение создается в два этапа - один для разработки, два для выпуска uat & production.
На данный момент приложение получает бэкэнд api_url
(prod-> https://mycompanydomain.com/app1/api
) в качестве переменной среды во время сборки образа Docker и записывается в само изображение. Потому что эту переменную env нельзя было переопределить, используя env, переданный как переменные Configmap
или env
во время развертывания. Внутренне приложение использует REACT_APP_API_URL
для считывания значения.
Каков наилучший способ динамической передачи api_url
приложению, чтобы приложение работало с использованием этой переменной независимо от того, где оно развернуто.
PS: приложение имеет переменную homepage
, установленную в package.json
с подкаталогом, в котором оно развернуто.