2

Vagrant と Chef を使用して、暗号化されたデータ バッグをテストしようとしています。を使用して暗号化されたデータバッグを作成しました

knife solo data bag create test test_service --data-bag-path ../../data_bags/ --secret-file ~/.chef/encrypted_data_bag_secret

アイテムが作成されたことを確認しました。

Vagrant ファイルに data_bag と暗号化キー パスを追加しました

config.vm.provision :chef_solo do |chef| chef.log_level = :debug chef.data_bags_path = "../../data_bags" chef.encrypted_data_bag_secret_key_path = '~/.chef/encrypted_data_bag_secret'

レシピの内容は

secret_key = Chef::EncryptedDataBagItem.load_secret("C:\\tmp\\vagrant-chef-3\\encrypted_data_bag_secret_key") usr_creds = chef::EncryptedDataBagItem.load("test","test_service", secret_key)

Vagrant を実行すると、暗号化されたキーが読み込まれます

==> default: Running provisioner: chef_solo... Uploading chef encrypted data bag secret key...

しかし、エラーをスローします

ArgumentError

シェフのリソースを宣言するときは、名前を指定する必要があります

Vagrantボックスで、Vagrantが2つのディレクトリを作成していることがわかります C:\tmp\vagrant-chef-3\chef-solo-1\cookbooks C:\tmp\vagrant-chef-3\chef-solo-2\data_bags

Vagrant ボックスの solo.rb 内にC:\tmp\vagrant-chef-3\solo.rbは、クックブックと暗号化キーの設定がありますが、データ バッグの場所の設定はありません。

試行錯誤の結果、Chef はデータ バッグの場所を見つけられないようです。私はどこかで何かを逃していますか?

4

0 に答える 0