Установка новой реликвии без добавления лицензионного ключа для репо

Я хочу установить новую Relic в одном из моих приложений с открытым исходным кодом (v 3.2.12). Я не хочу иметь лицензионный ключ в репо. Я хотел бы загрузить его с чем-то вроде ENV.

По умолчанию загружается в файл newrelic.yml.

Где загружен этот файл YAML? Я думаю, я мог бы вручную объединить его с хешем, который загружает лицензию из хэша ENV.

Любые подсказки о том, как это сделать?

Ответ 1

Я использую Figaro gem для обработки секретных ключей с переменными окружения ENV, похожими на вас. Для новой реликвии у меня есть:

config/application.yml (.gitignore d и не нажата на исходный элемент управления)

# ...
NEW_RELIC_LICENSE_KEY: {{MY_KEY}}

который затем ссылается на config/newrelic.yml:

# ...
license_key: <%= ENV['NEW_RELIC_LICENSE_KEY'] %>

Файл с именем config/application.example.yml перенаправляется на репозиторий исходного кода с инструкциями по размещению вашего собственного лицензионного ключа:

конфигурации /application.example.yml

# ...
NEW_RELIC_LICENSE_KEY: # put your license key here

Также см. этот StackOverflow Q & A для получения дополнительной информации:
Что следует удалить из общего источника управления в Ruby on Rails?

Ответ 2

Я получил полезный ответ на IRC. newrelic.yml интерполяция erb. Значение Я могу просто добавить <%= ENV["NEWRELIC"] %> в yml файл.

Ответ 3

Да к приведенным выше ответам. Кроме того, если вы находитесь на Heroku. После установки NewRelic Addon вы можете загрузить файл newrelic.yml и изменить license_key: to:

license_key: <%= ENV['NEW_RELIC_LICENSE_KEY']%>

Это будет использовать переменную enver NEW_RELIC_LICENSE_KEY, установленную с помощью дополнения NewRelic

Ответ 4

Это не обязательно отвечает на точный вопрос, который вы задаете, но это может решить вашу конечную цель.

Обычно для этого типа ситуации я добавляю файл newrelic.yml в .gitignore, а затем создаю файл newrelic.yml.example со всеми заполненными нечувствительными полями и держателем места для ключа.

Таким образом, я могу добавить его в свой файл newrelic.yml для разработки, а также проверить шаблон для других.