Spec-Zone.ru › Chef 17

Файл конфигурации InSpec

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

Данный документ описывает формат файла конфигурации Chef InSpec, введённый в версии 3.5 InSpec и расширенный в последующих версиях.

Расположение файла конфигурации

По умолчанию, Chef InSpec ищет файл конфигурации в ~/.inspec/config.json. Для работы Chef InSpec не требуется файл конфигурации.

Вы также можете указать расположение, используя --config. Например, для запуска оболочки с файлом конфигурации в /etc/inspec, используйте inspec shell --config /etc/inspec/config.json.

Версии формата файла конфигурации

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

Версия 1.1

Полный пример

{
  "version": "1.1",
  "cli_options":{
    "color": "true"
  },
  "credentials": {
    "ssh": {
      "my-target": {
        "host":"somewhere.there.com",
        "user":"bob"
      }
    }
  },
  "reporter": {
    "automate" : {
      "stdout" : false,
      "url" : "https://YOUR_A2_URL/data-collector/v0/",
      "token" : "YOUR_A2_API_TOKEN",
      "insecure" : true,
      "node_name" : "inspec_test_node",
      "environment" : "prod"
    }
  }
}
version
Должно иметь значение ‘1.1’.
cli_options
Любой параметр командной строки в длинной форме, без ведущих дефисов.
credentials
Параметры, специфичные для транспортных средств. Храните параметры, используя в качестве ключа сначала имя транспортного средства, а затем имя, которое вы будете использовать позже. Сочетание имени транспортного средства и выбранного вами имени может быть использовано в параметре --target для inspec exec, как --target transport-name://connection-name.

Например, если файл конфигурации содержит:

{
  "credentials": {
    "winrm": {
      "myconn": {
        "user": "Administrator",
        "host": "prod01.east.example.com",
        "disable_sspi": true,
        "connection_retries": 10
      }
    }
  }
}

Тогда используйте -t winrm://myconn для подключения к хосту с указанными дополнительными параметрами.

Каждый транспорт Train предлагает различные параметры. Используя механизм набора данных, вы можете легко задать параметры, недоступные через URI Train.

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

Если вы используете целевой URI, и часть после :// не может быть сопоставлена с именем набора данных, Chef InSpec отправит URI в Train для анализа как URI Train. Таким образом, вы всё ещё можете ssh://someuser@myhost.com.

Вы можете использовать набор данных и затем переопределять отдельные параметры с помощью параметров командной строки.

Наборы данных предназначены для работы в сочетании с базовым механизмом хранения данных для транспорта. Например, если у вас есть файл ~/.ssh/config, указывающий, что файл sally-key.pem должен использоваться с хостом somehost.com, и у вас есть набор данных, который указывает на этот хост, тогда при попытке подключения Train к этому хосту библиотека SSH автоматически будет использовать файл конфигурации SSH для использования указанного ключа.

reporter

Вы также можете задать параметры вывода (reporter) в файле конфигурации. Подробности см. на странице Reporters Page.

Версия 1.2

Версия 1.2 добавляет поле верхнего уровня “plugins”.

plugins

Используйте поле конфигурации верхнего уровня plugins для предоставления параметров конфигурации плагинам, которые вы используете с Chef InSpec. Сведения о доступных параметрах см. в документации используемого плагина.

Чтобы использовать эту новую функцию, добавьте новое ключевое слово верхнего уровня в ваш файл конфигурации под названием plugins. Затем создайте подключаемое ключевое слово для каждого плагина, который вы хотите настроить. Каждый плагин будет иметь пары ключ-значение, которые он может использовать по своему усмотрению — Chef InSpec не задаёт структуру. Вот пример, использующий вымышленные плагины:

{
  "version":"1.2",
  "plugins": {
    "inspec-training-wheels": {
      "diameter": "4 inches"
    },
    "inspec-input-secrets": {
      "security-tokens: [
        "123456789".
        "abcdef252875"
      ]
    }
  }
}

© 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/inspec/config/

Spec-Zone.ru

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