Ich bin mit verschlüsselten Daten Taschen innerhalb Chef und ich möchte eine Bedingung in meinem Chef Rezept wie folgt hinzufügen:Wie eine Bedingung innerhalb Chefrezept zur Verfügung stellen, um zu sehen, ob es unter Testküche läuft?
If (test kitchen) then
encryptkey = data_bag_item("tokens", "encryptkey")
If (not test kitchen) then
secret = Chef::EncryptedDataBagItem.load_secret("/etc/chef/encrypted_data_bag_secret")
encryptkey = Chef::EncryptedDataBagItem.load("tokens", "encryptkey", secret)
Ich habe data_bags_path
und encrypted_data_bag_secret_key_path
innerhalb kitchen.yml
wie folgt hinzugefügt:
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"
Aber, wenn es nicht Küche Test ist und das Rezept direkt auf dem Server-Knoten läuft, dann, wie der Knoten über den geheimen Verschlüsselungsschlüssel wissen wird. Denken Sie daran, dass ich im Falle eines Küchentests den Verschlüsselungsschlüssel als 'verschlüsselter_Daten_Bag_Secret_Key_Pfad:" test/integration/default/verschlüsselter_Daten_Bag_Secret "' in 'kitchen.yml' festlegt. – meallhour
Der Pfad zum geheimen Schlüssel ist in Ihrem 'client.rb' konfiguriert, aber Sie habe da die Vorgabe bin ich mir ziemlich sicher. Chef übernimmt das interne Laden des Geheimnisses für Sie. – coderanger
Ich bekomme diesen Fehler 'FEHLER: Kein Geheimnis angegeben und kein Geheimnis gefunden bei/etc/chef/encrypted_data_bag_secret', wenn ich' data_bag_item ("Token", "encryptkey") ' – meallhour