Spec-Zone.ru › Chef 16

супер данные ножа

[править на GitHub]

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

Элемент мешка данных может быть зашифрован с помощью симметричного шифрования. Это позволяет каждому элементу мешка данных хранить конфиденциальную информацию (например, пароль базы данных) или управлять им в системе контроля версий (без появления данных в открытом виде в истории ревизий). Каждый элемент мешка данных может быть зашифрован индивидуально; если мешок данных содержит несколько зашифрованных элементов мешка данных, эти элементы мешка данных не обязаны использовать одни и те же ключи шифрования.

Примечание

Поскольку содержимое зашифрованных элементов мешка данных не видно для сервера Chef Infra, запросы поиска по мешкам данных с зашифрованными элементами не будут возвращать никаких результатов.

Используйте подкоманду knife data bag для управления произвольными хранилищами глобально доступных данных в формате JSON.

Примечание

Просмотрите список общих параметров, доступных для этой (и всех) подкоманд и плагинов knife.

создать

Используйте аргумент create для добавления мешка данных на сервер Chef Infra.

Синтаксис

Этот аргумент имеет следующий синтаксис:

knife data bag create DATA_BAG_NAME [DATA_BAG_ITEM] (options)

Параметры

Этот аргумент имеет следующие параметры:

DATA_BAG_ITEM

Имя конкретного элемента внутри мешка данных. DATA_BAG_NAME не может быть client, environment, node или role, так как эти слова зарезервированы для knife search.

--secret SECRET

Ключ шифрования, используемый для значений, содержащихся в элементе мешка данных. Если secret не указан, клиент Chef Infra ищет секрет по пути, указанному в настройке encrypted_data_bag_secret в файле client.rb. Для зашифрованных элементов мешка данных используйте либо --secret или --secret-file, а не оба.

--secret-file FILE

Путь к файлу, содержащему ключ шифрования.

Примечание

См. config.rb для получения дополнительной информации о том, как добавить определенные параметры knife в качестве настроек в файл config.rb.

Примеры

Следующие примеры показывают, как использовать эту подкоманду knife:

Создание мешка данных

Чтобы создать мешок данных с именем «admins», введите:

knife data bag create admins

чтобы получить:

Created data_bag[admins]

удалить

Используйте аргумент delete для удаления мешка данных или элемента мешка данных с сервера Chef Infra.

Синтаксис

Этот аргумент имеет следующий синтаксис:

knife data bag delete DATA_BAG_NAME [DATA_BAG_ITEM] (options)

Параметры

Этот аргумент имеет следующие параметры:

DATA_BAG_ITEM

Имя конкретного элемента внутри мешка данных.

Примеры

Следующие примеры показывают, как использовать эту подкоманду knife:

Удаление мешка данных

knife data bag delete data_bag_name

Удаление элемента мешка данных

Чтобы удалить элемент с именем «charlie», введите:

knife data bag delete admins charlie

Введите Y для подтверждения удаления.

редактировать

Используйте аргумент edit для редактирования данных в мешке данных. Если используется шифрование, мешок данных будет расшифрован, данные будут доступны в $EDITOR, а затем снова зашифрованы перед сохранением на сервере Chef Infra.

Синтаксис

Этот аргумент имеет следующий синтаксис:

knife data bag edit DATA_BAG_NAME [DATA_BAG_ITEM] (options)

Параметры

Этот аргумент имеет следующие параметры:

DATA_BAG_ITEM

Имя конкретного элемента внутри мешка данных.

--secret SECRET

Ключ шифрования, используемый для значений, содержащихся в элементе мешка данных. Если secret не указан, клиент Chef Infra ищет секрет по пути, указанному в настройке encrypted_data_bag_secret в файле client.rb.

--secret-file FILE

Путь к файлу, содержащему ключ шифрования.

Примечание

Для зашифрованных элементов мешка данных используйте либо --secret или --secret-file, а не оба.

Примечание

См. config.rb для получения дополнительной информации о том, как добавить определенные параметры knife в качестве настроек в файл config.rb.

Примеры

Следующие примеры показывают, как использовать эту подкоманду knife:

Редактирование мешка данных

Чтобы отредактировать содержимое мешка данных, введите:

knife data bag edit dogs tibetanspaniel

где dogs — имя мешка данных, а tibetanspaniel — имя элемента мешка данных. Это вернёт что-то похожее на следующее в редакторе knife:

{
  "name":"data_bag_item_dogs_tibetanspaniel",
  "json_class":"Chef::DataBagItem",
  "chef_type":"data_bag_item",
  "data_bag":"dogs",
  "raw_data":
    {
      "description":"small dog that likes to sit in windows",
      "id":"tibetanspaniel"
    }
}

Внесите необходимые изменения в пары ключ-значение в raw_data и сохраните их.

Редактирование элемента мешка данных

Чтобы отредактировать элемент с именем «charlie», который содержится в мешке данных с именем «admins», введите:

knife data bag edit admins charlie

чтобы открыть $EDITOR. После открытия вы можете обновить данные перед сохранением их на сервер Chef Infra. Например, изменив:

{
   "id": "charlie"
}

на:

{
   "id": "charlie",
   "uid": 1005,
   "gid": "ops",
   "shell": "/bin/zsh",
   "comment": "Crazy Charlie"
}

из файла

Используйте аргумент from file для:

  • Добавления элемента мешка данных в мешок данных
  • Обновления содержимого существующего элемента мешка данных

Сам мешок данных должен уже существовать на сервере Chef Infra и должен быть указан в команде. Содержимое элемента мешка данных указывается с помощью файла JSON. Этот файл JSON может находиться по относительному или абсолютному пути; его расположение должно быть указано в команде. Файл JSON, определяющий содержимое элемента мешка данных, должен, по крайней мере, содержать имя элемента мешка данных — "id": "name".

Синтаксис

Этот аргумент имеет следующий синтаксис:

knife data bag from file DATA_BAG_NAME_or_PATH JSON_FILE

Параметры

Этот аргумент имеет следующие параметры:

-a, --all

Загрузка всех мешков данных, найденных по указанному пути.

--secret SECRET

Ключ шифрования, используемый для значений, содержащихся в элементе мешка данных. Если secret не указан, клиент Chef Infra ищет секрет по пути, указанному в настройке encrypted_data_bag_secret в файле client.rb.

--secret-file FILE

Путь к файлу, содержащему ключ шифрования.

Примечание

Для зашифрованных элементов мешка данных используйте либо --secret или --secret-file, а не оба.

Примечание

См. config.rb для получения дополнительной информации о том, как добавить определенные параметры knife в качестве настроек в файл config.rb.

Примеры

Следующие примеры показывают, как использовать эту подкоманду knife:

Создание мешка данных из файла

Чтобы создать мешок данных на сервере Chef Infra из файла:

knife data bag from file "path to JSON file"

Создание зашифрованного мешка данных из файла

Чтобы создать мешок данных с именем «devops_data», содержащий зашифрованные данные, введите:

knife data bag from file devops_data --secret-file "path to decryption file"

Создание зашифрованного мешка данных для использования с клиентом Chef Infra в локальном режиме

Чтобы сгенерировать зашифрованный элемент мешка данных в файле JSON для использования, когда клиент Chef Infra запускается в локальном режиме (через опцию --local-mode), введите:

knife data bag from file my_data_bag /path/to/data_bag_item.json -z --secret-file /path/to/encrypted_data_bag_secret

это создаст зашифрованный файл JSON в:

data_bags/my_data_bag/data_bag_item.json

список

Используйте аргумент list для просмотра списка мешков данных, которые в настоящее время доступны на сервере Chef Infra.

Синтаксис

Этот аргумент имеет следующий синтаксис:

knife data bag list

Параметры

Этот аргумент имеет следующие параметры:

-w, --with-uri

Показать соответствующие URI.

Примеры

Следующие примеры показывают, как использовать эту подкоманду knife:

Просмотр списка мешков данных

knife data bag list

показать

Используйте аргумент show для просмотра содержимого мешка данных.

Синтаксис

Этот аргумент имеет следующий синтаксис:

knife data bag show DATA_BAG_NAME (options)

Параметры

Этот аргумент имеет следующие параметры:

DATA_BAG_ITEM

Имя конкретного элемента внутри мешка данных.

--secret SECRET

Ключ шифрования, используемый для значений, содержащихся в элементе мешка данных. Если secret не указан, клиент Chef Infra ищет секрет по пути, указанному в настройке encrypted_data_bag_secret в файле client.rb.

--secret-file FILE

Путь к файлу, содержащему ключ шифрования.

Примечание

Для зашифрованных элементов мешка данных используйте либо --secret или --secret-file, а не оба.

Примечание

См. config.rb для получения дополнительной информации о том, как добавить определенные параметры knife в качестве настроек в файл config.rb.

Примеры

Следующие примеры показывают, как использовать эту подкоманду knife:

Показать мешок данных

knife data bag show admins

чтобы получить что-то вроде:

charlie

Показать элемент мешка данных

Чтобы отобразить содержимое определенного элемента внутри пакета данных, введите:

knife data bag show admins charlie

что вернёт:

comment:  Crazy Charlie
gid:      ops
id:       charlie
shell:    /bin/zsh
uid:      1005

Отображение пакета данных, зашифрованного

Чтобы отобразить содержимое пакета данных с именем passwords с элементом, содержащим зашифрованные данные с именем mysql, введите:

knife data bag show passwords mysql

что вернёт:

{
  "id": "mysql",
  "pass": "trywgFA6R70NO28PNhMpGhEvKBZuxouemnbnAUQsUyo=\n",
  "user": "e/p+8WJYVHY9fHcEgAAReg==\n"
}

Отображение пакета данных, расшифрованного

Чтобы отобразить расшифрованное содержимое того же пакета данных, введите:

knife data bag show --secret-file /path/to/decryption/file passwords mysql

что вернёт:

{
  "id": "mysql",
  "pass": "thesecret123",
  "user": "fred"
}

Отображение пакета данных в формате JSON

Чтобы просмотреть информацию в формате JSON, используйте общий параметр -F как часть команды следующим образом:

knife data bag show admins -F json

Другие доступные форматы включают text, yaml, и pp.

© Chef Software, Inc.
Licensed under the Creative Commons Attribution 3.0 Unported License.
The Chef™ Mark and Chef Logo are either registered trademarks/service marks or trademarks/servicemarks of Chef, in the United States and other countries and are used with Chef Inc's permission.
We are not affiliated with, endorsed or sponsored by Chef Inc.
https://docs.chef.io/knife_data_bag/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API