Spec-Zone.ru › Chef 17

Ресурс os_env

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

Используйте ресурс аудита Chef InSpec, чтобы проверить переменные среды для платформы, на которой работает система.

Доступность

Установка

Этот ресурс распространяется вместе с самим Chef InSpec. Вы можете использовать его автоматически.

Версия

Этот ресурс стал доступен в версии v1.0.0 InSpec.

Синтаксис

Блок ресурса os_env объявляет переменную среды и её значение:

describe os_env('VARIABLE') do
  its('property') { should eq 1 }
end

где

  • ('VARIABLE') должен указать переменную среды, например, PATH
  • matcher является допустимым соответствием для этого ресурса

Примеры

Следующие примеры демонстрируют использование этого ресурса аудита Chef InSpec.

Проверка переменной среды PATH

describe os_env('PATH') do
  its('split') { should_not include('') }
  its('split') { should_not include('.') }
end

Проверка переменной среды Path, указав целевую среду (Windows)

В Windows переменная среды пользователя может скрывать переменную среды локальной машины (системы). Правильная переменная среды может быть проверена следующим образом:

describe os_env('PATH', 'target') do
  its('split') { should_not include('') }
  its('split') { should_not include('.') }
end

где

  • 'target' может быть либо system , либо user

Проверка переменных среды Chef Habitat

Chef Habitat использует ресурс os_env для проверки переменных среды. Переменные среды сначала определяются в массиве с пробелами, после чего каждая переменная среды проверяется:

hab_env_vars = %w(HAB_AUTH_TOKEN
                  HAB_CACHE_KEY_PATH
                  HAB_DEPOT_URL
                  HAB_ORG
                  HAB_ORIGIN
                  HAB_ORIGIN_KEYS
                  HAB_RING
                  HAB_RING_KEY
                  HAB_STUDIOS_HOME
                  HAB_STUDIO_ROOT
                  HAB_USER)

hab_env_vars.each do |e|
  describe os_env(e) do
    its('content') { should eq nil }
  end
end

Сопоставители

Полный список доступных сопоставителей вы найдете на нашей странице сопоставителей.

content

Сопоставитель content возвращает значение переменной среды:

its('content') { should eq '/usr/local/bin:/usr/local/sbin:/usr/sbin:/usr/bin:/sbin' }

split

Сопоставитель split разделяет значение переменной среды по разделителю : (используйте разделитель ; для Windows):

its('split') { should include ('/usr/bin') }

Примечание: сопоставитель split возвращает массив, включающий "" в случаях, когда есть заключительный двоеточие (:), например, dir1::dir2:

© 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/resources/os_env/

Spec-Zone.ru

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