я добавил data_bags_path
и encrypted_data_bag_secret_key_path
в kitchen.yml
следующим образом:Как получить значение зашифрованного мешка данных секрета в Test Kitchen
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"
Я считаю, приведенный выше Копирует encrypted_data_bag_secret
в файл с именем encrypted_data_bag_secret под /tmp/kitchen/
Вот почему, в моем рецепте я звоню тайну следующим образом:
secret = Chef::EncryptedDataBagItem.load_secret("/tmp/kitchen/encrypted_data_bag_secret")
encryptkey = Chef::EncryptedDataBagItem.load("tokens", "encryptkey", secret)
Тем не менее, тест кухня неудачу с ошибкой при слежении:
No such file or directory - file not found '/tmp/kitchen/encrypted_data_bag_secret'
спасибо. Я могу заставить его работать с помощью 'encryptkey = data_bag_item (« tokens »,« encryptkey »)' – meallhour
, можете ли вы предложить, почему зашифрованные пакеты данных не должны использоваться в тестовой кухне? – meallhour
Потому что нужно проверить ваш код, а не проверять, что шеф-повар работает правильно. – coderanger