Хранение главного токена в пакете данных Chef
Я генерирую мастер-токен в Chef, используя ресурс execute, как показано ниже:
execute "extract_consul_key" do
command "consul keygen "
end
Я хочу сохранить вывод этой команды в базе данных.
Пожалуйста, дайте мне знать, какие шаги мне нужно, чтобы настроить зашифрованный пакет данных, а затем сохранить выходные данные вышеупомянутого ресурса выполнения в этот пакет данных.
Я новичок в пакетах данных и не обладаю никакими знаниями об этом.
1 ответ
execute
Как и все ресурсы Chef, на самом деле не имеет "выходных значений". Вы хотели бы опустить уровень и использовать shell_out!
API внутри блока Ruby. Я также констатирую, что предоставление серверам доступа на запись в пакеты данных крайне небезопасно как с точки зрения целостности данных (в Chef API нет концепции блокировки или частичного обновления), так и с точки зрения безопасности (хотя эту проблему можно уменьшить, если осторожное использование ACL, но это совсем другой шар разочарования).
Если вы новичок в Chef, и это звучит так, как вы, не делайте этого. Выполните команду один раз вручную, а затем добавьте значение в пакет данных самостоятельно.