Использование переменных среды в файлах конфигурации OSGI
Мы используем OSGI enRoute ( https://enroute.osgi.org/) и хотели бы включить переменные среды в наши файлы configuration.json.
Идея состоит в том, чтобы затем присвоить значения этим переменным среды в Dockerfile для последующего развертывания в Kubernetes.
Примеры файлов configuration.json с переменными среды приветствуются, поэтому мы можем видеть необходимый синтаксис.
Заранее спасибо Randy
1 ответ
OSGi по-прежнему допускает доступ к переменным среды с использованием стандартного Java API System.getenv
Однако более модульным (и OSGi-y) способом было бы иметь службу конфигурации приложения, с которой взаимодействует ваше приложение. Служба конфигурации приложения будет затем обрабатывать доступ к переменным среды и позволит вашему приложению быть переносимым и легко тестируемым за пределами Docker. Этот сервис может обрабатывать преобразование типов для вещей String в Integer (все переменные окружения обрабатываются как строки). Это позволяет вашему Java-приложению не выполнять преобразование типов повсюду.
Примечание: вам нужно уточнить ваш вопрос относительно конфигурации json. Docker вводит переменные среды процесса Linux, которые являются просто ключом-значением. Возможно, вы хотели указать конкретный тип конфигурации JSON, используемый для настройки контейнера Docker, который используется определенной цепочкой инструментов контейнера Docker?