Chef-scripts-for-data-bags
提供:Dev Guides
Chef-データバッグのスクリプト
特定の条件では、サーバーをChefの完全な制御下に置くことはできません。 そのような場合、スクリプトからChefデータバッグの値にアクセスする必要があります。 これを行うには、データバッグの値をJSONファイルに保存し、追加されたスクリプトがそれらの値にアクセスできるようにする必要があります。
そのためには、料理の本が必要です。 この場合、以前のようにtest_cookbookを使用し、test_cookbook定義を含むノードの実行リストが含まれている必要があります。
作業方法
- ステップ1 *-データバッグを作成します。
- ステップ2 *-データバッグアイテムを作成します。
- ステップ3 *-データバッグアイテムを更新します。
クックブックで使用する
- ステップ1 *-上記のクックブックを使用してデータバッグ値を含むJSONファイルを作成し、外部スクリプトがそれらの値にアクセスできるようにする必要があります。
- ステップ2 *-test_cookbookをChefサーバーにアップロードします。
- ステップ3 *-ノードでChefクライアントを実行します。
- ステップ4 *-生成されたJSONファイルのコンテンツを検証します。
スクリプトのワークフロー
上記のコマンドでは、 /etc ディレクトリ内にJSONファイルを作成するために使用したファイルリソースがデフォルトのクックブックで定義されています。 data_bag_itemメソッドを使用して、データバッグからファイルコンテンツを直接取得します。 データバッグアイテムからホスト値にアクセスし、JSONに変換します。 ファイルリソースは、JSON変換された値をコンテンツとして使用し、ディスクに書き込みます。