2013-02-13 7 views
11

オープンソースのレールアプリケーション(v 3.2.12)のいずれかにNew Relicをインストールします。私はレポにライセンスキーを持たせたくありません。 ENVのようなものをロードしたいのですが。レポのライセンスキーを追加せずにNew Relicをインストールする

デフォルトではnewrelic.ymlファイルにロードされています。

YAMLファイルはどこにロードされていますか?私は手動でENVハッシュからライセンスを読み込むハッシュとマージできると思います。

これを行う方法に関するヒントはありますか?

答えて

14

Figaro gemを使用して、似たような環境変数ENVの秘密鍵を処理します。新しい遺物のために、私が持っている:次いで/ newrelic.yml設定で参照され

設定/ application.yml.gitignore Dとソースコントロールに押されていない)

# ... 
NEW_RELIC_LICENSE_KEY: {{MY_KEY}} 

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

ファイルconfig/application.example.ymlというファイルがソースコードリポジトリにプッシュされますRで自分のライセンスキー:

のconfig/application.example.yml

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

はまた、詳細については、このStackOverflowのQ & Aを参照してください。
What should be removed from public source control in Ruby on Rails?

+0

によって設定されたNEW_RELIC_LICENSE_KEYのenv変数を使用します。鍵の秘密?彼らがこの鍵を手に入れれば、人々は何をすることができますか、偽の情報でNew Relicを埋めますか? – joscarsson

+2

ライセンスキー["は、エージェントがサーバーに接続するときにデータを格納するための正しいアカウントを見つけるために使用されます"](https://docs.newrelic.com/docs/ruby/ruby-agent-configuration)、私ははい、あなたのライセンスキーを持っている誰かがそれを使って新しい遺物に偽の情報を記入し、あなたのサービスの質を低下させる可能性があります。 New Relicはライセンスキーを公開していませんが、[アカウント設定ページで](https://docs.newrelic.com/docs/subscriptions/license-key)(アカウントパスワードで保護されています)ので、それをプライベートとパブリックリポジトリから保護するのが最善です。 –

7

私はIRCで便利な答えを得ました。 newrelic.ymlはerb補間されます。意味ymlファイルに<%= ENV["NEWRELIC"] %>を追加することができます。

0

これは必ずしもあなたが求めている正確な質問に答えるものではありませんが、これが最終目標を解決する可能性があります。

通常、この種の状況では、newrelic.ymlファイルを.gitignoreに追加し、すべての非機密フィールドが記入されたnewrelic.yml.exampleとそのキーのプレースホルダを作成します。

このようにして、開発用にnewrelic.ymlファイルに追加することができます。また、他の人が使用するためにテンプレートをチェックインすることもできます。

3

はい上記の答えに。また、あなたがいる場合Heroku。 NewRelicアドオンをインストールした後、newrelic.ymlファイルをダウンロードし、 license_key:に変更することができます。このライセンスを保つことが重要です

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

これはNewRelicのアドオン

関連する問題