2015-12-15 8 views
2

Каков правильный формат для добавления секретного файла в мой нож. Rb? У меня read the docs и, похоже, не получается правильно форматировать, или, возможно, он не работает.Каков правильный способ добавления секретного файла по умолчанию к knife.rb?

Я попытался добавить как:

knife[:secret_file] = "/path/to/data_bag_secret" 

и

secret_file "/path/to/data_bag_secret" 

Ни один из них, кажется, зашифровать свои секреты, когда я использую knife data bag create bag key

Если я использую knife data bag create bag key --secret-file /path/to/data_bag_secret шифрует правильно, однако.

Он не кажется зашифрованным, когда я смотрю на пакеты данных на https://manage.chef.io, поэтому я думаю, что это не шифрование. Когда я вручную передаю переключатель, он правильно шифрует на https://manage.chef.io.

+0

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

ответ

0

Так что это немного странно, но --secret-file не заполняет собственное значение конфигурации. Если вы посмотрите в https://github.com/chef/chef/blob/master/lib/chef/knife/data_bag_secret_options.rb#L48, вы увидите, что вместо него выполняется пользовательский proc, который определен ниже. Установка knife[:secret_file] все равно должна работать, но весь код, связанный с шифрованием пакетов, использует оба. В общем, вы бы не использовали data bag create для этого, хотя для первоначального создания мешка/предмета. Для общего использования используйте data bag from file. Также помните, что вам нужно удалить это значение из вашего файла конфигурации, чтобы фактически просмотреть зашифрованные данные, иначе knife data bag show расшифрует его для вас автоматически.

+0

Он не кажется зашифрованным, когда я смотрю пакеты данных на manage.chef.io, поэтому я думаю, что это не шифрование. Когда я вручную передаю коммутатор, он правильно шифрует файл manage.chef.io. –

+0

Подождите, я думаю, что вас неправильно понял. Вы говорите, что я должен попробовать настроить этот конфиг напрямую? –

+0

Да, если вы установите 'knife [: secret_file]' и запустите «мешок данных ножа из файла», он должен зашифровать его при загрузке. – coderanger

1

tl; dr: дополнительно передать в командной строке аргумент --encrypt флаг, если вы используете шеф-повар 12+. например knife data bag from file foo ./data_bags/foo.json --encrypt

С Chef 12 вы должны пройти в --encrypt флаге при использовании knife data bag [create|from file] команд для того, чтобы ваших knife[secret] или knife[secret_file параметров конфигурации в knife.rb. Главная проблема здесь в том, что документы шеф-повара еще не обновлены, чтобы указать как таковые. Если вы вызываете knife data bag [create|from file] --help, вы увидите объяснение опции --encrypt flag.

Ответ получен здесь: https://github.com/chef/chef/issues/3223#issuecomment-93338211.

+0

Рекомендуется использовать ссылки на внешние ресурсы, но, пожалуйста, добавьте контекст вокруг ссылки, чтобы ваши друзья-пользователи имели представление о том, что это такое и почему оно есть. Всегда указывайте наиболее значимую часть важной ссылки, если целевой сайт недоступен или постоянно находится в автономном режиме. – pableiros

+0

спасибо @pableiros, я обновил оригинальный ответ и надеюсь, что это лучше –

 Смежные вопросы

  • Нет связанных вопросов^_^