Отчётчики Chef InSpec
Введено в Chef InSpec 1.51.6
Отчётчик — это средство для форматирования и предоставления результатов выполнения аудита Chef InSpec.
Chef InSpec позволяет выводить результаты ваших тестов одному или нескольким отчётчикам. Настройте отчётчик(и) с помощью опции --reporter или в файле конфигурации общего назначения с помощью опции --config (или --json-config, до версии 3.6). Хотя вы можете настроить несколько отчётчиков для записи в разные файлы, только один отчётчик может выводить на экран (stdout).
Синтаксис
Вы можете указать один или несколько отчётчиков, используя флаг командной строки --reporter. Вы также можете указать вывод, добавив путь, разделённый двоеточием.
Вывод json на экран.
inspec exec example_profile --reporter json
# or explicitly specifying output to STDOUT:
inspec exec example_profile --reporter json:-
Вывод yaml на экран
inspec exec example_profile --reporter yaml
# or
inspec exec example_profile --reporter yaml:-
Вывод cli на экран и запись json в файл.
inspec exec example_profile --reporter cli json:/tmp/output.json
Не выводить ничего на экран и записать junit и html в файл.
inspec exec example_profile --reporter junit2:/tmp/junit.xml html:www/index.html
Вывод json на экран и запись в файл. Запись junit в файл.
inspec exec example_profile --reporter json junit2:/tmp/junit.xml | tee out.json
Если вы хотите передать профили непосредственно после указания отчётчиков, вам необходимо использовать флаг завершения опций --.
inspec exec --reporter json junit2:/tmp/junit.xml -- profile1 profile2
Если вы используете опцию командной строки --config, вы также можете задать отчётчики.
Вывод cli на экран.
{
"reporter": {
"cli" : {
"stdout" : true
}
}
}
Вывод cli на экран и запись json в файл.
{
"reporter": {
"cli" : {
"stdout" : true
},
"json" : {
"file" : "/tmp/output.json",
"stdout" : false
}
}
}
Поддерживаемые отчётчики
Ниже приведены текущие поддерживаемые отчётчики:
cli
Это базовый текстовый отчёт. Он включает в себя подробности о пройденных и проваленных тестах и итоговый сводный отчёт в конце.
json
Этот отчётчик содержит всю информацию о профилях и результатах тестов в стандартном формате json.
json-min
Этот отчётчик — сокращённая версия json, содержащая только результаты тестов.
yaml
Этот отчётчик содержит всю информацию о профилях и результатах тестов в стандартном формате yaml.
documentation
Этот отчётчик — очень минимальный текстовый отчёт. Он показывает, какие тесты прошли по имени и имеет небольшой сводный отчёт в конце.
junit2
Этот отчётчик выводит стандартный JUnit-спецификацию в формате XML и рекомендуется для всех новых пользователей JUnit.
junit
Этот устаревший отчётчик выводит нестандартный JUnit XML и предоставляется только для обратной совместимости.
progress
Этот отчётчик очень компактен и предоставляет символ . (проход), f (неудачу) или * (пропуск) за каждый тест и небольшой сводный отчёт в конце.
json-rspec
Этот отчётчик содержит всю информацию из исполнителя rspec. В отличие от отчётчика json, он включает в себя специфичные для rspec детали.
html
Этот отчётчик — устаревший HTML-отчётчик RSpec, который сохраняется для обратной совместимости. Сгенерированный отчёт не учитывает профили или управления и содержит только несгруппированную информацию о тестах. Большинству пользователей следует перейти к отчётчику html2 для получения более полной информации.
html2
Этот отчётчик — улучшенный HTML-отчётчик, содержащий полные данные о структуре профиля, управления и тестов. Сгенерированный отчёт отображает код HTML для просмотра ваших тестов в браузере.
Для работы с отчётчиком html2 никакой конфигурации не требуется. Однако доступны две опции — alternate_css_file и alternate_js_file. Опции задаются в файле конфигурации в формате JSON, который потребляет Chef InSpec. Подробности см. в нашем руководстве по файлам конфигурации.
Например:
{
"version": "1.2",
"plugins": {
"inspec-reporter-html2": {
"alternate_js_file":"/var/www/js/my-javascript.js",
"alternate_css_file":"/var/www/css/my-style.css"
}
}
}
alternate_css_file
Указывает полный путь к файлу CSS, который будет прочитан и встроен в HTML-отчёт. Стандартный CSS не будет включён.
alternate_js_file
Указывает полный путь к файлу JavaScript, который будет прочитан и встроен в HTML-отчёт. Стандартный JavaScript не будет включён. Файл JavaScript должен реализовывать по крайней мере функцию pageLoaded(), которая будет вызываться событием onload элемента HTML body.
Автоматический отчётчик
Тип отчётчика automate — специальный отчётчик, используемый с Chef Automate. Чтобы использовать этот отчётчик, вы должны передать правильную конфигурацию через json-конфигурацию --config.
Пример конфигурации:
{
"reporter": {
"automate" : {
"stdout" : false,
"url" : "https://YOUR_A2_URL/data-collector/v0/",
"token" : "YOUR_A2_ADMIN_TOKEN",
"insecure" : true,
"node_name" : "inspec_test_node",
"environment" : "prod"
}
}
}
Обязательные поля
stdout
Это позволит либо скрыть, либо отобразить отчёт automate в консоли CLI по завершении.
url
Это ваш URL Automate 2. В конце добавьте data-collector/v0/.
token
Это ваш токен Automate 2. Вы можете сгенерировать этот токен, перейдя во вкладку «Администрирование» A2, а затем в «Ключи API».
Дополнительные поля
insecure
Это отключит или включит проверку SSL при доступе к экземпляру Automate 2.
node_name
Это имя узла, которое отображается в Automate.
node_uuid
Это UUID узла, который отображается в Chef Automate. Используйте один статический UUID на узел для всех ваших отчётов. Вы должны указать node_uuid в файле конфигурации Chef InSpec, если вы запускаете Chef InSpec вне кулинарной книги аудита или другой среды, где chef_guid или node_uuid уже известны Chef InSpec.
environment
Это задаст метаданные среды для Automate.
© 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/reporters/