Хранилище шеф-повара — ошибка доступа к элементу хранилища во время схода кухни

Вот вызов, который я делаю в своем рецепте:

mypassword = chef_vault_item("passwords", "default_pass")

Вот ошибка, которую я получаю при запуске кухни, сходящейся по этому рецепту:

         Net::HTTPServerException
     ------------------------
     404 "Not Found"

Что мне нужно сделать, чтобы разрешить кухне доступ к этому элементу хранилища?


person weevil    schedule 07.01.2016    source источник


Ответы (2)


Убедитесь, что вы настроили data_bags_path или поместили файлы в папку по умолчанию (data_bags/). В ошибке упоминается сервер, поэтому вы не используете одиночный поставщик по умолчанию, но было бы полезно указать, какой из них вы используете.

person coderanger    schedule 07.01.2016
comment
Я использую провайдер chef_zero. Мне удалось добиться его успешной конвергенции, добавив data_bag в папку ./test/integration/default/data_bags в каталоге моей кулинарной книги. Однако я все еще не могу получить значение в рецепте. Как получить доступ к значению? - person weevil; 11.01.2016

Кто-то из Chef сообщил мне, что chef_vault_item не поддерживает пакеты с зашифрованными данными. Вам необходимо добавить фиктивные значения в качестве незашифрованных пакетов данных для целей тестирования, чтобы ваши незашифрованные пароли не проверялись в системе контроля версий. Незашифрованный пакет данных должен быть создан в вашем репозитории шеф-повара в разделе:

cookbooks/<cookbook name>/test/integration/default/data_bags/<vault name>/<item name>.json

чтобы кухня удачно сходилась

person weevil    schedule 13.01.2016
comment
это сработало для меня.. Я бы также предложил добавить эту строку в файл .gitignore... test/integration/default/data_bags/* - person TechDawg270; 10.02.2017