Как правильно добавить секретный файл по умолчанию в knife.rb?

Каков правильный формат для добавления секретного файла в мой 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/.

2 ответа

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

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

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

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

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