Хранение главного токена в пакете данных Chef

Я генерирую мастер-токен в Chef, используя ресурс execute, как показано ниже:

execute "extract_consul_key" do
  command "consul keygen "
end

Я хочу сохранить вывод этой команды в базе данных.
Пожалуйста, дайте мне знать, какие шаги мне нужно, чтобы настроить зашифрованный пакет данных, а затем сохранить выходные данные вышеупомянутого ресурса выполнения в этот пакет данных.
Я новичок в пакетах данных и не обладаю никакими знаниями об этом.

1 ответ

Решение

executeКак и все ресурсы Chef, на самом деле не имеет "выходных значений". Вы хотели бы опустить уровень и использовать shell_out! API внутри блока Ruby. Я также констатирую, что предоставление серверам доступа на запись в пакеты данных крайне небезопасно как с точки зрения целостности данных (в Chef API нет концепции блокировки или частичного обновления), так и с точки зрения безопасности (хотя эту проблему можно уменьшить, если осторожное использование ACL, но это совсем другой шар разочарования).

Если вы новичок в Chef, и это звучит так, как вы, не делайте этого. Выполните команду один раз вручную, а затем добавьте значение в пакет данных самостоятельно.

Другие вопросы по тегам