2016-07-09 7 views
2

I data_bags_path und encrypted_data_bag_secret_key_path innerhalb kitchen.yml hinzugefügt haben, wie folgt:Wie Wert von verschlüsselten Daten Tasche Geheimnis innerhalb Test Kitchen bekommen

provisioner: 
    name: chef_zero 
    chef_omnibus_url: omni-url/chef/install.sh 
    roles_path: 'test/integration/default/roles' 
    data_bags_path: "test/integration/default/data_bags" 
    encrypted_data_bag_secret_key_path: "test/integration/default/encrypted_data_bag_secret" 

ich die oben kopiert die encrypted_data_bag_secret in eine Datei namens encrypted_data_bag_secret unter /tmp/kitchen/

glauben

Deshalb, in mein Rezept, das ich geheim nenne wie folgt:

secret = Chef::EncryptedDataBagItem.load_secret("/tmp/kitchen/encrypted_data_bag_secret") 
encryptkey = Chef::EncryptedDataBagItem.load("tokens", "encryptkey", secret) 

jedoch die Testküche ist mit folgendem Fehler Fehler:

No such file or directory - file not found '/tmp/kitchen/encrypted_data_bag_secret'

Antwort

2

Im Allgemeinen Sie wollen wahrscheinlich nicht verschlüsselte Daten Taschen in Ihren Tests verwenden. Wenn Sie die Verschlüsselung aus irgendeinem Grund verwenden möchten (wirklich, nicht), verwenden Sie die normale API data_bag_item(), die den Schlüssel für Sie lädt.

+0

danke. Ich kann es mit 'encryptkey = data_bag_item (" Token "," encryptkey ") funktionieren lassen. – meallhour

+1

Kannst du bitte vorschlagen, warum verschlüsselte Datensäcke nicht in der Testküche verwendet werden sollten? – meallhour

+0

Da der Punkt ist, um Ihren Code zu testen, nicht testen, dass Chef richtig funktioniert. – coderanger