web-dev-qa-db-ja.com

展開設定を別のリポジトリに保持する必要がありますか?

PythonアプリケーションをAWSのさまざまな本番ステージにデプロイするために、Salt Stackを学習しています。現在、すべてのソースコードとソルト状態が1つの大きなリポジトリにあります。

ミニオン状態ファイルをソースに保持する際の実用的またはセキュリティ上の考慮事項はありますか?それとも私はそれらを分割する必要があり、なぜですか?

状態ファイルを別のソルト状態リポジトリに移動する場合、masterおよびminion構成ファイルをどこに保持する必要がありますか、それともバージョン管理に属していませんか?

5
Petrus Theron

ピート、

したがって、構成とコードを一緒にする場合は注意が必要なことがいくつかあります。 gitを使用してデプロイするとします。これは、すべてのコードと構成ファイルが各サーバーに送信されることを意味します。 gitが読み取り専用に設定されていない場合、いずれかのマシンに侵入した誰かが、すべてのマシンにアクセスするのに役立つ小さなエクスプロイトで構成を編集できます。

そこにsshキーを配置してリポジトリをデプロイし、新しいソルトサーバーやパペットなどを簡単に起動できるようにする人を知っています。繰り返しますが、アプリと構成の両方を各サーバーにデプロイする際の問題は、王国にキーを再度与えたことを意味します。これは、すべてのサーバーをプルし、sshキーもそこにあるかどうかによって異なります。

コードをデプロイするために読み取り専用のgitユーザーを使用し、すべてのサーバーから構成を遠ざけて、各サーバーに必要な構成ファイルのみを提供するデプロイシステムをセットアップしました。各サーバーには、読み取り専用のgitアカウントへの秘密鍵があります。また、展開のたびに、すべてのサーバーの公開鍵を自動的にローテーションする設定を行っています。

1
WojonsTech