Spec-Zone.ru › Chef 18

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

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

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

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

Примечание

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

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

Примечание

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

create

Используйте аргумент 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`.

--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

Используйте аргумент 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

Используйте аргумент 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 Client в локальном режиме

Чтобы сгенерировать зашифрованный элемент мешка данных в файле JSON для использования при запуске Chef Infra Client в локальном режиме (через параметр --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

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

Синтаксис

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

knife data bag list

Параметры

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

-w, --with-uri

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

Примеры

В следующих примерах показано использование этой подкоманды `knife`:

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

knife data bag list

show

Используйте аргумент 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