Spec-Zone.ru › Chef 16

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

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

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

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

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

Вы также можете указать расположение с помощью --config. Например, чтобы запустить shell с файлом конфигурации в /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 предлагает различные параметры. Использование механизма наборов данных credentials позволяет легко устанавливать параметры, которые недоступны через URI Train.

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

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

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

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

reporter

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

Версия 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