Spec-Zone.ru › Chef 17

chef (исполняемый файл)

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

Исполняемый файл chef — это командная утилита, выполняющая следующие действия:

  • Генерирует репозитории, кулинарные книги, рецепты, атрибуты, шаблоны и пользовательские ресурсы.
  • Устанавливает gem в среду разработки Chef с установленным Ruby.

chef capture

Используйте подкоманду chef capture для захвата состояния узла в виде локального chef-repo. Используйте сгенерированный репозиторий, если вам нужно выполнить слияние узла локально.

Синтаксис

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

chef capture NODE-NAME [options]

Параметры

-c, --credentials

Файл с учетными данными (по умолчанию $HOME/.chef/credentials).

-d, --with-data-bags

Скачать все пакеты данных в рамках захвата узла.

-h, --help

Показать справку по команде.

-k, --client-key

Ключ клиента API сервера Chef Infra.

-n, --client-name

Имя клиента API сервера Chef Infra.

-o, --ssl-no-verify

Не проверять SSL при подключении к серверу Chef Infra (по умолчанию: проверять).

-p, --profile

Профиль для использования из файла учетных данных (по умолчанию «default»).

-s, --chef-server-url

URL сервера Chef Infra.

Примеры

Захват узла

Для захвата узла в локальном репозитории выполните команду, похожую на:

chef capture test-server

Это вернет что-то подобное:

- Setting up local repository
 - Capturing node object 'test-server'
 - Capturing policy data...
 - Capturing cookbook artifacts...
 - Writing kitchen configuration...

Repository has been created in './node-test-server-repo'.

Next, locate version-controlled copies of the cookbooks. This is
important so that you can track changes to the cookbooks as you
edit them. You may have one or more existing paths where you have
checked out cookbooks. If not, now is a good time to open a
separate terminal and clone or check out the cookbooks.

If all cookbooks are not available in the same base location,
you will have a chance to provide additional locations.

Press Enter to Continue:

You're ready to begin!
Start with 'cd ./node-test-server-repo; kitchen converge'.
As you identify issues, you can modify cookbooks in their
original checkout locations or in the repository's cookbooks
directory and they will be picked up on subsequent runs
of 'kitchen converge'.

Дополнительную информацию об обновлении Chef Infra Client см. в документации Лаборатории обновления.

chef env

Используйте подкоманду chef env для настройки среды для Chef Workstation.

Синтаксис

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

chef env

Параметры

У этой команды нет специфических параметров.

Примеры

Нет.

chef exec

Используйте подкоманду chef exec для выполнения произвольных команд оболочки с переменной среды PATH и переменными среды Ruby GEM_HOME и GEM_PATH, направленными на Chef Workstation.

Синтаксис

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

chef exec SYSTEM_COMMAND (options)

Параметры

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

-h, --help

Показать справку по команде.

-v, --version

Версия Chef Infra Client.

Примеры

Нет.

chef gem

Подкоманда chef gem — это оболочка вокруг команды gem в RubyGems и используется Chef для установки RubyGems в среду разработки Chef Workstation. Все плагины knife, драйверы для Kitchen и другие приложения Ruby, не входящие в состав Chef Workstation, будут установлены в путь .Chef Workstation в домашнем каталоге: ~/.Chef Workstation/gem/ruby/ver.si.on/bin (где ver.si.on — версия Ruby, входящая в состав Chef Workstation).

Синтаксис

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

chef gem GEM_COMMAND GEM_OPTIONS (options)

Параметры

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

-h, --help

Показать справку по команде.

-v, --version

Версия Chef Infra Client.

Примеры

Просмотр существующего gem в Chef Workstation

Для просмотра gem выполните команду, похожую на:

chef gem list cookstyle

что вернет что-то подобное:

*** LOCAL GEMS ***

cookstyle (5.20.0)

Список всех локальных gem

Для просмотра всех установленных gem в вашей среде разработки используйте команду list без аргументов:

chef gem list

Поиск локальных gem

Команда list также может использоваться для поиска установленных локально gem. Например, для просмотра всех gem с knife в названии:

chef gem list knife

что вернет следующий вывод:

*** LOCAL GEMS ***

knife-opc (0.3.2)
knife-windows (1.9.0)

Поиск удаленных gem

Используйте команду search для поиска удаленных gem, доступных для установки:

chef gem search kitchen

что вернет что-то подобное:

*** REMOTE GEMS ***

chefkitchen_cli (0.0.1)
gst-kitchen (0.9.0)
guard-kitchen (0.0.2)
jackal-kitchen (0.1.2)
jackal-kitchen-slack (0.1.2)
kitchen (0.0.3)

Установка gem

Для установки gem выполните команду, похожую на:

chef gem install knife-config

что вернет что-то подобное:

Successfully installed knife-config-1.1.0
1 gem installed

Удаление gem

Для удаления gem из среды Chef Workstation:

chef gem uninstall knife-config

что вернет что-то подобное:

Successfully uninstalled knife-config-1.1.0

Просмотр содержимого gem

Для просмотра содержимого gem выполните команду, похожую на:

chef gem content knife-config

что вернет что-то подобное:

/Users/user/.chefdk/gem/ruby/2.1.0/gems/knife-config-1.1.0/LICENSE
/Users/user/.chefdk/gem/ruby/2.1.0/gems/knife-config-1.1.0/README.md
/Users/user/.chefdk/gem/ruby/2.1.0/gems/knife-config-1.1.0/lib/chef/knife/config.rb
/Users/user/.chefdk/gem/ruby/2.1.0/gems/knife-config-1.1.0/lib/knife-config.rb

chef generate attribute

Используйте подкоманду chef generate attribute для генерации файла атрибутов в каталоге /attributes.

Синтаксис

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

chef generate attribute COOKBOOK_PATH NAME (options)

Параметры

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

-g GENERATOR_COOKBOOK_PATH, --generator-cookbook GENERATOR_COOKBOOK_PATH

Путь к кулинарной книге с именем code_generator. Эта кулинарная книга используется подкомандами chef generate для генерации кулинарных книг, файлов кулинарных книг, шаблонов, файлов атрибутов и т. д. Значение по умолчанию: lib/chef-dk/skeletons, в котором находится стандартная кулинарная книга code_generator, включённая в Chef Workstation.

-h, --help

Показать справку по команде.

-v, --version

Версия Chef Infra Client.

Примеры

Создание атрибута

Для генерации атрибута выполните команду, похожую на:

chef generate attribute /path/to/cookbook FOO

что вернёт что-то подобное:

Recipe: code_generator::attribute
  * directory[/Users/grantmc/chef-repo/cookbooks/chef-repo/attributes] action create
    - create new directory /Users/grantmc/chef-repo/cookbooks/chef-repo/attributes

  * template[/Users/grantmc/chef-repo/cookbooks/chef-repo/attributes/FOO.rb] action create
    - create new file /Users/grantmc/chef-repo/cookbooks/chef-repo/attributes/FOO.rb

chef generate cookbook

Используйте подкоманду chef generate cookbook для генерации кулинарной книги.

Примечание

Имена кулинарных книг и пользовательских ресурсов должны содержать только буквенно-цифровые символы. Дефис (-) является допустимым символом и может использоваться в именах кулинарных книг и пользовательских ресурсов, но не рекомендуется. Chef Infra Client вернёт ошибку, если дефис не преобразован в нижнее подчеркивание (_) при ссылке на имя пользовательского ресурса в рецепте, содержащем дефис.

Синтаксис

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

chef generate cookbook COOKBOOK_PATH/COOKBOOK_NAME (options)

Параметры

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

-g GENERATOR_COOKBOOK_PATH, --generator-cookbook GENERATOR_COOKBOOK_PATH

Путь к кулинарной книге с именем code_generator. Эта кулинарная книга используется подкомандами chef generate для генерации кулинарных книг, файлов кулинарных книг, шаблонов, файлов атрибутов и т. д. Значение по умолчанию: lib/chef-dk/skeletons, в котором находится стандартная кулинарная книга code_generator, включённая в Chef Workstation.

-b, --berks

Создать Berksfile в кулинарной книге. По умолчанию: отключено. Необязательно. Используется для создания berksfile путём переопределения создания Policyfile по умолчанию.

-C COPYRIGHT, --copyright COPYRIGHT

Укажите правообладателя авторских прав для авторских прав в сгенерированных файлах. Значение по умолчанию: The Authors

-d, --delivery

Сгенерировать файл конфигурации доставки и создать кулинарную книгу внутри новой кулинарной книги. Значение по умолчанию: отключено. Этот параметр отключён. Он не оказывает влияния и существует только для совместимости с предыдущими выпусками

-m EMAIL, --email EMAIL

Укажите адрес электронной почты автора. Значение по умолчанию: you@example.com.

-a KEY=VALUE, --generator-arg KEY=VALUE

Устанавливает свойство с именем KEY заданное значение VALUE на объекте контекста генератора в кулинарной книге генератора. Это позволяет пользовательским кулинарным книгам генераторов принимать необязательные пользовательские входные данные в командной строке.

-I LICENSE, --license LICENSE

Устанавливает лицензию. Допустимые значения — all_rights, apache2, mit, gplv2 или gplv3. Значение по умолчанию: all_rights.

-P, --policy

Создать Policyfile в кулинарной книге вместо Berksfile. Значение по умолчанию: включено.

-h, --help

Показать справку по команде.

-v, --version

Версия Chef Infra Client.

Примеры

Создание кулинарной книги

Для генерации кулинарной книги выполните команду, похожую на:

chef generate cookbook chefdocs

что вернет что-то подобное:

Recipe: code_generator::cookbook
  * directory[/Users/grantmc/chefdocs] action create
    - create new directory /Users/grantmc/chefdocs

  * template[/Users/grantmc/chefdocs/metadata.rb] action create
    - create new file /Users/grantmc/chefdocs/metadata.rb

  * template[/Users/grantmc/chefdocs/README.md] action create
    - create new file /Users/grantmc/chefdocs/README.md

  * cookbook_file[/Users/grantmc/chefdocs/chefignore] action create
    - create new file /Users/grantmc/chefdocs/chefignore

  * cookbook_file[/Users/grantmc/chefdocs/Berksfile] action create
    - create new file /Users/grantmc/chefdocs/Berksfile

  * template[/Users/grantmc/chefdocs/kitchen.yml] action create
    - create new file /Users/grantmc/chefdocs/kitchen.yml

  * directory[/Users/grantmc/chefdocs/recipes] action create
    - create new directory /Users/grantmc/chefdocs/recipes

  * template[/Users/grantmc/chefdocs/recipes/default.rb] action create
    - create new file /Users/grantmc/chefdocs/recipes/default.rb

  * execute[initialize-git] action run
    - execute git init .

  * cookbook_file[/Users/grantmc/chefdocs/.gitignore] action create
    - create new file /Users/grantmc/chefdocs/.gitignore

и создаст структуру каталогов, похожую на:

/chefdocs
  /.git
  .gitignore
  kitchen.yml
  Berksfile
  chefignore
  metadata.rb
  README.md
  /recipes
    default.rb

Создание кулинарной книги с использованием пользовательской кулинарной книги-шаблона

Если пользовательский шаблонный сборник рецептов расположен на рабочем столе macOS (и в этом примере сборник рецептов chef_generator — это просто копия того же сборника рецептов, что поставляется с Chef Workstation), следующая команда воспользуется шаблонным сборником рецептов в пользовательском расположении для генерации сборника рецептов в репозитории, из которого выполняется команда chef:

chef generate cookbook --generator-cookbook ~/Desktop testcookbook

Примечание

Сам сборник рецептов code_generator не указан как часть пути.

в результате чего будет возвращено что-то подобное:

Compiling Cookbooks...
Recipe: code_generator::cookbook
  * directory[/Users/grantmc/Desktop/chef-repo/test-cookbook] action create
    - create new directory /Users/grantmc/Desktop/chef-repo/test-cookbook

  * template[/Users/grantmc/Desktop/chef-repo/test-cookbook/metadata.rb] action create
    - create new file /Users/grantmc/Desktop/chef-repo/test-cookbook/metadata.rb

  * template[/Users/grantmc/Desktop/chef-repo/test-cookbook/README.md] action create
    - create new file /Users/grantmc/Desktop/chef-repo/test-cookbook/README.md

  * cookbook_file[/Users/grantmc/Desktop/chef-repo/test-cookbook/chefignore] action create
    - create new file /Users/grantmc/Desktop/chef-repo/test-cookbook/chefignore

  * cookbook_file[/Users/grantmc/Desktop/chef-repo/test-cookbook/Berksfile] action create
    - create new file /Users/grantmc/Desktop/chef-repo/test-cookbook/Berksfile

  * template[/Users/grantmc/Desktop/chef-repo/test-cookbook/kitchen.yml] action create
    - create new file /Users/grantmc/Desktop/chef-repo/test-cookbook/kitchen.yml

  * directory[/Users/grantmc/Desktop/chef-repo/test-cookbook/recipes] action create
    - create new directory /Users/grantmc/Desktop/chef-repo/test-cookbook/recipes

  * template[/Users/grantmc/Desktop/chef-repo/test-cookbook/recipes/default.rb] action create
    - create new file /Users/grantmc/Desktop/chef-repo/test-cookbook/recipes/default.rb

chef generate build-cookbook

Используйте подкоманду chef generate build-cookbook для генерации файла конфигурации доставки и сборника рецептов.

Синтаксис

Данная подкоманда имеет следующий синтаксис:

chef generate build-cookbook COOKBOOK_PATH/COOKBOOK_NAME (options)

Параметры

Данная подкоманда имеет следующие параметры:

-g GENERATOR_COOKBOOK_PATH, --generator-cookbook GENERATOR_COOKBOOK_PATH

Путь к сборнику рецептов с именем code_generator. Этот сборник используется подкомандами chef generate для генерации сборников рецептов, файлов сборников рецептов, шаблонов, файлов атрибутов и т. д. Значение по умолчанию: lib/chef-dk/skeletons, в котором находится стандартный сборник рецептов code_generator, включенный в Chef Workstation.

-C COPYRIGHT, --copyright COPYRIGHT

Укажите держателя авторских прав для уведомлений об авторских правах в сгенерированных файлах. Значение по умолчанию: The Authors

-m EMAIL, --email EMAIL

Укажите адрес электронной почты автора. Значение по умолчанию: you@example.com.

-a KEY=VALUE, --generator-arg KEY=VALUE

Устанавливает свойство с именем KEY со значением VALUE в объекте контекста генератора в сборнике рецептов генератора. Это позволяет пользовательским сборникам рецептов генераторов принимать необязательные входные данные в командной строке.

-I LICENSE, --license LICENSE

Устанавливает лицензию. Допустимые значения: all_rights, apache2, mit, gplv2 или gplv3. Значение по умолчанию: all_rights.

-h, --help

Показать справку по команде.

-v, --version

Версия Chef Infra Client.

Примеры

Нет.

chef generate file

Используйте подкоманду chef generate file для генерации файла в каталоге /files.

Синтаксис

Данная подкоманда имеет следующий синтаксис:

chef generate file COOKBOOK_PATH NAME (options)

Параметры

Данная подкоманда имеет следующие параметры:

-g GENERATOR_COOKBOOK_PATH, --generator-cookbook GENERATOR_COOKBOOK_PATH

Путь к сборнику рецептов с именем code_generator. Этот сборник используется подкомандами chef generate для генерации сборников рецептов, файлов сборников рецептов, шаблонов, файлов атрибутов и т. д. Значение по умолчанию: lib/chef-dk/skeletons, в котором находится стандартный сборник рецептов code_generator, включенный в Chef Workstation.

-h, --help

Показать справку по команде.

-s SOURCE_FILE, --source SOURCE_FILE

Скопировать содержимое из исходного файла.

-v, --version

Версия Chef Infra Client.

Примеры

Нет.

chef generate resource

Используйте подкоманду chef generate resource для генерации пользовательского ресурса в каталоге /resources.

Примечание

Имена сборников рецептов и пользовательских ресурсов должны содержать только буквенно-цифровые символы. Дефис (-) является допустимым символом и может использоваться в именах сборников рецептов и пользовательских ресурсов, но это не рекомендуется. Chef Infra Client вернёт ошибку, если дефис не будет преобразован в подчёркивание (_) при ссылке на имя пользовательского ресурса в рецепте, в котором присутствует дефис.

Синтаксис

Данная подкоманда имеет следующий синтаксис:

chef generate resource COOKBOOK_PATH NAME (options)

Параметры

Данная подкоманда имеет следующие параметры:

-g GENERATOR_COOKBOOK_PATH, --generator-cookbook GENERATOR_COOKBOOK_PATH

Путь к сборнику рецептов с именем code_generator. Этот сборник используется подкомандами chef generate для генерации сборников рецептов, файлов сборников рецептов, шаблонов, файлов атрибутов и т. д. Значение по умолчанию: lib/chef-dk/skeletons, в котором находится стандартный сборник рецептов code_generator, включенный в Chef Workstation.

-h, --help

Показать справку по команде.

-v, --version

Версия Chef Infra Client.

Примеры

Нет.

chef generate recipe

Используйте подкоманду chef generate recipe для генерации рецепта в каталоге /recipes.

Синтаксис

Данная подкоманда имеет следующий синтаксис:

chef generate recipe COOKBOOK_PATH NAME (options)

Параметры

Данная подкоманда имеет следующие параметры:

-g GENERATOR_COOKBOOK_PATH, --generator-cookbook GENERATOR_COOKBOOK_PATH

Путь к сборнику рецептов с именем code_generator. Этот сборник используется подкомандами chef generate для генерации сборников рецептов, файлов сборников рецептов, шаблонов, файлов атрибутов и т. д. Значение по умолчанию: lib/chef-dk/skeletons, в котором находится стандартный сборник рецептов code_generator, включенный в Chef Workstation.

-h, --help

Показать справку по команде.

-v, --version

Версия Chef Infra Client.

Примеры

Нет.

chef generate repo

Используйте подкоманду chef generate repo для создания chef-репозитория. По умолчанию, это репозиторий сборников рецептов с параметрами для поддержки генерации сборника рецептов, поддерживающего Policyfile.

Синтаксис

Данная подкоманда имеет следующий синтаксис:

chef generate repo REPO_NAME (options)

Параметры

Данная подкоманда имеет следующие параметры:

-h, --help

Показать справку по команде.

-p, --policy-only

Создать репозиторий, который не хранит файлы сборников рецептов, только файлы Policyfile.

-P, --policy

Использовать Policyfile вместо Berkshelf.

-r, --roles

Создать каталоги для /roles и /environments вместо создания каталогов для Policyfile.

-v, --version

Версия Chef Infra Client.

Примеры

Нет.

chef generate template

Используйте подкоманду chef generate template для генерации шаблона в каталоге /templates.

Синтаксис

Данная подкоманда имеет следующий синтаксис:

chef generate template COOKBOOK_PATH NAME (options)

Параметры

Данная подкоманда имеет следующие параметры:

-g GENERATOR_COOKBOOK_PATH, --generator-cookbook GENERATOR_COOKBOOK_PATH

Путь к сборнику рецептов с именем code_generator. Этот сборник используется подкомандами chef generate для генерации сборников рецептов, файлов сборников рецептов, шаблонов, файлов атрибутов и т. д. Значение по умолчанию: lib/chef-dk/skeletons, в котором находится стандартный сборник рецептов code_generator, включенный в Chef Workstation.

-h, --help

Показать справку по команде.

-s SOURCE_FILE, --source SOURCE_FILE

Скопировать содержимое из исходного файла.

-v, --version

Версия Chef Infra Client.

Примеры

Нет.

chef report cookbooks

Используйте подкоманду chef report cookbooks для генерации отчёта о сборниках рецептов для вашей среды Chef Infra. Этот отчёт предоставляет сведения о конфликтах совместимости обновлений и использовании сборников рецептов на узлах.

Синтаксис

Данная подкоманда имеет следующий синтаксис:

chef report cookbooks [options]

Параметры

Данная подкоманда имеет следующие параметры:

-a, --anonymize

Заменить имена сборников рецептов и узлов значениями хешей для защиты конфиденциальной информации.

-c, --credentials string

Файл с данными (по умолчанию $HOME/.chef/credentials).

-f, --format

Формат вывода: txt — читаемый человеком, csv — машиночитаемый (по умолчанию “txt”).

-F, --node-filter

Фильтр поиска, применяемый к узлам.

-h, --help

Показать справку по команде.

-k, --client-key

Ключ API-клиента Chef Infra Server.

-n, --client-name

Имя API-клиента Chef Infra Server.

-o, --ssl-no-verify

Не проверять SSL при подключении к Chef Infra Server (по умолчанию: проверять).

-p, --profile

Профиль для использования из файла с данными (по умолчанию “default”).

-s, --chef-server-url

URL API Chef Infra Server.

-u, --only-unused

Сгенерировать отчёт, содержащий только сборники рецептов, которые не включены в список задач ни одного узла.

-V, --verify-upgrade

Проверить совместимость обновлений каждого сборника рецептов.

-w, --workers

Максимальное количество параллельных задач одновременно (по умолчанию 50).

Примеры

Генерация отчёта

Для генерации отчёта о сборниках рецептов выполните команду, похожую на:

chef report cookbooks

будет возвращать что-то подобное:

Finding available cookbooks... (5 found)
Analyzing cookbooks...
5 / 5 [----------------------------------------------------------------------------------------------------------------] 100.00% 13 p/s

-- REPORT SUMMARY --

  Cookbook   Version   Policy Group   Policy   Nodes Affected
-----------+---------+--------------+--------+-----------------
  apt        2.7.0                             2
  Go         0.1.0                             3
  java       0.3.0                             4
  java                 Production     K8s      1
  K8s                  Production     K8s      1


Cookbooks report saved to .chef-workstation/reports/cookbooks-20200722120938.txt

Более подробную информацию об этом сводном отчете можно найти в текстовом файле, расположение которого указано в конце сводки.

Дополнительную информацию об обновлении Chef Infra Client см. в документации Upgrade Lab.

Отчет о узлах chef

Используйте подкоманду chef report nodes для создания отчета, ориентированного на узлы, для вашей среды chef. Этот отчет предоставляет подробную информацию о узлах, применённых политиках и кулинарных книгах, используемых во время последнего запуска chef-client.

Синтаксис

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

chef report nodes [options]

Параметры

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

-a, --anonymize

Замените имена кулинарных книг и узлов на значения хеша для защиты конфиденциальной информации.

-c, --credentials string

Файл учетных данных (по умолчанию $HOME/.chef/credentials).

-f, --format

Формат вывода: txt — читаемый человеком, csv — читаемый машиной (по умолчанию «txt»).

-F, --node-filter

Фильтр поиска для применения к узлам.

-h, --help

Показать справку по команде.

-k, --client-key

Ключ клиента API сервера Chef Infra.

-n, --client-name

Имя клиента API сервера Chef Infra.

-o, --ssl-no-verify

Не проверять SSL при подключении к серверу Chef Infra (по умолчанию: проверять).

-p, --profile

Профиль для использования из файла учетных данных (по умолчанию «default»).

-s, --chef-server-url

URL сервера Chef Infra.

Примеры

Сгенерировать отчет

Для создания отчета, ориентированного на узлы, выполните команду, аналогичную:

chef report nodes

будет возвращать что-то подобное:

Analyzing nodes...

-- REPORT SUMMARY --

      Node Name        Chef Version   Operating System   Number Cookbooks
---------------------+--------------+------------------+-------------------
  dev-server-backend   16.1.16        redhat v8.2                       3
  dev-server-web       16.1.16        redhat v8.2                       1
  production-server    16.1.16        redhat v8.2                       2
  staging-server       16.1.16        redhat v8.2                       4
  test-server          16.1.16        redhat v8.2                       3

Nodes report saved to .chef-workstation/reports/nodes-20200722130502.txt

Более подробную информацию об этом сводном отчете можно найти в текстовом файле, расположение которого указано в конце сводки.

Upgrade Lab содержит дополнительные сведения о том, как использовать эту команду в процессе обновления Chef Infra Client.

chef shell-init

Используйте подкоманду chef shell-init для установки Ruby, включённого в Chef Workstation, как системный Ruby. Chef Workstation разработан для изоляции приложений, используемых Chef Workstation, от других инструментов разработки Ruby, которые могут быть на рабочем столе. Это поддерживает Bash, fish, Windows PowerShell (posh) и zsh.

bash zsh fish PowerShell (posh)

Синтаксис

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

chef shell-init SHELL_NAME (options)

Параметры

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

-h, --help

Показать справку по команде.

-v, --version

Версия Chef Infra Client.

Примеры

Установить PowerShell

Вы можете использовать команду chef shell-init с Windows PowerShell, чтобы добавить соответствующие переменные в вашу среду.

Чтобы попробовать это в текущей сессии:

chef shell-init powershell | Invoke-Expression

Чтобы включить её постоянно:

"chef shell-init powershell | Invoke-Expression" >> $PROFILE

Установите политику выполнения на новых машинах

На новых машинах с Windows скрипты PowerShell не будут работать, пока администратор не выполнит следующую команду:

Set-ExecutionPolicy RemoteSigned

Создайте $PROFILE на новых машинах

На новых машинах с Windows команды не могут быть добавлены к $PROFILE, если папка не существует или если есть новый профиль пользователя. Это приведёт к ошибке, подобной следующей:

PS C:\Users\Stuart> "chef shell-init powershell | Invoke-Expression" >> $PROFILE
out-file : Could not find a part of the path
'C:\Users\Stuart\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1'.
At line:1 char:1
+ "chef shell-init powershell | Invoke-Expression" >> $PROFILE
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : OpenError: (:) [Out-File], DirectoryNotFoundException
    + FullyQualifiedErrorId : FileOpenFailure,Microsoft.PowerShell.Commands.OutFileCommand

В этой ситуации, выполните следующую команду chef shell-init вместо этого:

if(Test-Path $PROFILE){ chef shell-init powershell | Add-Content $PROFILE } else { New-Item -Force -ItemType File $PROFILE; chef shell-init powershell | Add-Content $PROFILE }

Команды Policyfile

Следующие команды встроены в исполняемый файл chef и поддерживают использование файлов Policyfile.

chef clean-policy-cookbooks

Используйте подкоманду chef clean-policy-cookbooks для удаления кулинарных книг, которые не используются файлами Policyfile. Кулинарные книги считаются неиспользуемыми, когда они не ссылаются на никакие ревизии политики на сервере Chef Infra.

Примечание

Кулинарные книги, на которые ссылаются оставшиеся ревизии политики, не удаляются. Используйте chef clean-policy-revisions для удаления оставшихся политик.

Синтаксис

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

chef clean-policy-cookbooks (options)

Параметры

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

-c CONFIG_FILE, --config CONFIG_FILE

Путь к файлу конфигурации knife.

-D, --debug

Включить трассировки стека и другую отладочную информацию. Значение по умолчанию: false.

-h, --help

Показать справку по команде.

-v, --version

Версия Chef Infra Client.

Примеры

Нет.

chef clean-policy-revisions

Используйте подкоманду chef clean-policy-revisions для удаления оставшихся ревизий политики для файлов Policyfile с сервера Chef Infra. Оставшаяся ревизия политики не связана с какой-либо группой политики и, следовательно, не активно используется ни одним узлом. Используйте chef show-policy --orphans для просмотра списка оставшихся ревизий политики.

Синтаксис

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

chef clean-policy-revisions (options)

Параметры

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

-c CONFIG_FILE, --config CONFIG_FILE

Путь к файлу конфигурации knife.

-D, --debug

Включить трассировки стека и другую отладочную информацию. Значение по умолчанию: false.

-h, --help

Показать справку по команде.

-v, --version

Версия Chef Infra Client.

Примеры

Нет.

chef delete-policy

Используйте подкоманду chef delete-policy для удаления всех ревизий указанной политики, которые существуют на сервере Chef Infra. (Состояние ревизии политики резервируется локально и может быть восстановлено с помощью подкоманды chef undelete).

Синтаксис

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

chef delete-policy POLICY_NAME (options)

Параметры

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

-c CONFIG_FILE, --config CONFIG_FILE

Путь к файлу конфигурации knife.

-D, --debug

Включить трассировки стека и другую отладочную информацию. Значение по умолчанию: false.

-h, --help

Показать справку по команде.

-v, --version

Версия Chef Infra Client.

Примеры

Нет.

chef delete-policy-group

Используйте подкоманду chef delete-policy-group для удаления указанной группы политики с сервера Chef Infra. Любая ревизия политики, связанная с этой группой политики, не удаляется. (Состояние группы политики резервируется локально и может быть восстановлено с помощью подкоманды chef undelete).

Синтаксис

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

chef delete-policy-group POLICY_GROUP (options)

Параметры

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

-c CONFIG_FILE, --config CONFIG_FILE

Путь к файлу конфигурации knife.

-D, --debug

Включить трассировки стека и другую отладочную информацию. Значение по умолчанию: false.

-h, --help

Показать справку по команде.

-v, --version

Версия Chef Infra Client.

Примеры

Нет.

chef diff

Используйте подкоманду chef diff для отображения детализированного сравнения двух ревизий файла Policyfile.lock.json.

Синтаксис

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

chef diff POLICY_FILE --head | --git POLICY_GROUP | POLICY_GROUP...POLICY_GROUP (options)

Параметры

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

-c CONFIG_FILE, --config CONFIG_FILE

Путь к файлу конфигурации knife.

-D, --debug

Включить трассировки стека и другую отладочную информацию. Значение по умолчанию: false.

-g GIT_REF, --git GIT_REF

Сравнить указанную ссылку git с текущей ревизией файла Policyfile.lock.json или с другой ссылкой git.

-h, --help

Показать справку по команде.

--head

Сокращение для chef diff --git HEAD. Когда не указан флаг, относящийся к git, сравнивается файл Policyfile.lock.json на диске с файлом на сервере Chef Infra или (если файл Policyfile.lock.json отсутствует на диске) сравниваются два файла Policyfile.lock.json в указанной группе политики на сервере Chef Infra.

--[no-]pager

Используйте --pager для включения постраничного вывода для файла Policyfile.lock.json. Значение по умолчанию: --pager.

-v, --version

Версия Chef Infra Client.

Примеры

Сравнить текущую блокировку с последним коммитом на последней ветке

chef diff --git HEAD

Сравнить текущую блокировку с последним коммитом на ветке master

chef diff --git master

Сравнить текущий замок с указанной ревизией

chef diff --git v1.0.0

Сравнить замок на ветке master с замком на ревизии

chef diff --git master...dev

Сравнить замок для версии с последним коммитом на ветке master

chef diff --git v1.0.0...master

Сравнить текущий замок с последним замком для группы политик

chef diff staging

Сравнить замки для двух групп политик

chef diff production...staging

chef export

Используйте подкоманду chef export для создания совместимого с chef-zero репозитория chef-repo, содержащего кулинарные книги, описанные в файле Policyfile.lock.json. После копирования совместимого с chef-zero chef-repo на узел, политику можно применить локально на этом компьютере, выполнив команду chef-client -z (локальный режим).

Синтаксис

Данная подкоманда имеет следующий синтаксис:

chef export POLICY_FILE DIRECTORY (options)

Параметры

Данная подкоманда имеет следующие параметры:

-a, --archive

Экспортировать архив как tarball, а не как каталог. Значение по умолчанию: false.

-D, --debug

Включить трассировки стека и другую отладочную информацию. Значение по умолчанию: false.

-f, --force

Удалить содержимое целевого каталога, если этот каталог не пуст. Значение по умолчанию: false.

-h, --help

Показать справку по команде.

-v, --version

Версия Chef Infra Client.

Примеры

Нет.

chef generate policyfile

Используйте подкоманду chef generate policyfile для генерации файла, который будет использоваться с Policyfile.

Синтаксис

Данная подкоманда имеет следующий синтаксис:

chef generate policyfile POLICY_NAME (options)

Параметры

Данная подкоманда имеет следующие параметры:

-h, --help

Показать справку по команде.

-v, --version

Версия Chef Infra Client.

Примеры

Нет.

chef install

Используйте подкоманду chef install для оценки файла политики, поиска совместимого набора кулинарных книг, построения списка выполнения, кэширования его локально и затем вывода файла Policyfile.lock.json, описывающего заблокированный набор политики. Файл Policyfile.lock.json может быть использован для установки заблокированного набора политики на другие машины и может быть опубликован в группе политик на Chef Infra Server для применения этой политики к группе узлов, управляемых Chef.

Синтаксис

Данная подкоманда имеет следующий синтаксис:

chef install POLICY_FILE (options)

Параметры

Данная подкоманда имеет следующие параметры:

-D, --debug

Включить трассировки стека и другую отладочную информацию.

-h, --help

Показать справку по команде.

-v, --version

Версия Chef Infra Client.

Policyfile.lock.json

Когда выполняется команда chef install, Chef Workstation кэширует необходимые кулинарные книги и выводит файл Policyfile.lock.json, который описывает:

  • Версии используемых кулинарных книг
  • Хэш содержимого кулинарных книг
  • Источник всех кулинарных книг

Файл Policyfile.lock.json связан с конкретной группой политик, т.е. связан с одним (или несколькими) узлами, использующими ту же ревизию данной политики.

Файл Policyfile.lock.json похож на:

{
  "revision_id": "288ed244f8db8bff3caf58147e840bbe079f76e0",
  "name": "jenkins",
  "run_list": [
    "recipe[java::default]",
    "recipe[jenkins::master]",
    "recipe[policyfile_demo::default]"
  ],
  "cookbook_locks": {
    "policyfile_demo": {
      "version": "0.1.0",
      "identifier": "f04cc40faf628253fe7d9566d66a1733fb1afbe9",
      "dotted_decimal_identifier": "67638399371010690.23642238397896298.25512023620585",
      "source": "cookbooks/policyfile_demo",
      "cache_key": null,
      "scm_info": null,
      "source_options": {
        "path": "cookbooks/policyfile_demo"
      }
    },
  "java": {
    "version": "1.24.0",
    "identifier": "4c24ae46a6633e424925c24e683e0f43786236a3",
    "dotted_decimal_identifier": "21432429158228798.18657774985439294.16782456927907",
    "cache_key": "java-1.24.0-supermarket.chef.io",
    "origin": "https://supermarket.chef.io/api/v1/cookbooks/java/versions/1.24.0/download",
    "source_options": {
      "artifactserver": "https://supermarket.chef.io/api/v1/cookbooks/java/versions/1.24.0/download",
      "version": "1.24.0"
    }

Примеры

Нет.

chef push

Используйте подкоманду chef push для загрузки существующего файла Policyfile.lock.json на Chef Infra Server, вместе со всеми кулинарными книгами, которые содержатся в файле. Файл Policyfile.lock.json будет применён к указанной группе политик, которая представляет собой набор узлов, которые разделяют один и тот же список выполнения и кулинарные книги.

Синтаксис

Данная подкоманда имеет следующий синтаксис:

chef push POLICY_GROUP POLICY_FILE (options)

Параметры

Данная подкоманда имеет следующие параметры:

-c CONFIG_FILE, --config CONFIG_FILE

Путь к файлу конфигурации knife.

-D, --debug

Включить трассировки стека и другую отладочную информацию.

-h, --help

Показать справку по команде.

-v, --version

Версия Chef Infra Client.

Примеры

Нет.

chef push-archive

Подкоманда chef push-archive используется для публикации файла архива политики на Chef Infra Server. (Архив политики создается с помощью подкоманды chef export.) Архив политики назначается указанной группе политик, которая представляет собой набор узлов, которые разделяют один и тот же список выполнения и кулинарные книги.

Синтаксис

Данная подкоманда имеет следующий синтаксис:

chef push-archive POLICY_GROUP ARCHIVE_FILE (options)

Параметры

Данная подкоманда имеет следующие параметры:

-c CONFIG_FILE, --config CONFIG_FILE

Путь к файлу конфигурации knife.

-D, --debug

Включить трассировки стека и другую отладочную информацию. Значение по умолчанию: false.

-h, --help

Показать справку по команде.

-v, --version

Версия Chef Infra Client.

Примеры

Нет.

chef show-policy

Используйте подкоманду chef show-policy для отображения ревизий для каждого файла Policyfile.rb, который находится на Chef Infra Server. По умолчанию отображаются только активные ревизии политики. Если указаны и политика, и группа политик, возвращается содержимое активного файла Policyfile.lock.json для группы политик.

Синтаксис

Данная подкоманда имеет следующий синтаксис:

chef show-policy POLICY_NAME POLICY_GROUP (options)

Параметры

Данная подкоманда имеет следующие параметры:

-c CONFIG_FILE, --config CONFIG_FILE

Путь к файлу конфигурации knife.

-D, --debug

Включить трассировки стека и другую отладочную информацию. Значение по умолчанию: false.

-h, --help

Показать справку по команде.

-o, --orphans

Показать ревизии политик, которые в настоящее время не назначены ни одной группе политик.

--[no-]pager

Используйте --pager для включения постраничного вывода для файла Policyfile.lock.json. Значение по умолчанию: --pager.

-v, --version

Версия Chef Infra Client.

Примеры

Нет.

chef undelete

Используйте подкоманду chef undelete для восстановления удалённой политики или группы политик. Эта команда:

  • Не обнаруживает конфликты. Если удалённый элемент был воссоздан, выполнение этой команды перезапишет его
  • Не включает кулинарные книги, которые могут быть ссылаться на файлами политики; кулинарные книги, очищенные после выполнения этой команды, могут не быть полностью восстановимыми в их предыдущем состоянии
  • Не хранит данные контроля доступа

Синтаксис

Данная подкоманда имеет следующий синтаксис:

chef undelete (options)

При выполнении без аргументов возвращает список доступных операций.

Параметры

Данная подкоманда имеет следующие параметры:

-c CONFIG_FILE, --config CONFIG_FILE

Путь к файлу конфигурации knife.

-D, --debug

Включить трассировки стека и другую отладочную информацию.

-h, --help

Показать справку по команде.

-i ID, --id ID

Отменить операцию удаления, указанную в ID.

-l, --last

Отменить последнюю операцию удаления.

--list

По умолчанию. Возвращает список доступных операций.

-v, --version

Версия Chef Infra Client.

Примеры

Нет.

chef update

Используйте подкоманду chef update для чтения файла Policyfile.rb и применения любых изменений. Это позволит разрешить зависимости и создаст файл Policyfile.lock.json. Заблокированная политика будет отражать любые изменения в списке выполнения и включит любые обновления кулинарных книг, совместимые с любыми ограничениями версий, определёнными в файле Policyfile.rb.

Синтаксис

Данная подкоманда имеет следующий синтаксис:

chef update POLICY_FILE (options)

Параметры

Данная подкоманда имеет следующие параметры:

-a, --attributes

Обновить атрибуты. Значение по умолчанию: false.

-D, --debug

Включить трассировки стека и другую отладочную информацию. Значение по умолчанию: false.

-h, --help

Показать справку по команде.

-v, --version

Версия Chef Infra Client.

Примеры

Нет.

© 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/workstation/ctl_chef/

Spec-Zone.ru

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