В Puppet все среды имеют файл environment.conf . Этот файл может переопределить несколько настроек по умолчанию, когда мастер обслуживает любой из узлов или все узлы, назначенные для этой конкретной среды.
Место нахождения
В Puppet для всех определенных сред среда file.conf находится на верхнем уровне домашней среды, рядом с директорами манифеста и модулей. Рассматривая пример, если ваша среда находится в каталогах по умолчанию (Vipin / testing / environment) , то файл конфигурации тестовой среды находится в Vipin / testing / environment / test / environment.conf .
пример
# /etc/testingdir/code/environments/test/environment.conf # Puppet Enterprise требует $ basemodulepath; см. примечание ниже под modulepath ". modulepath = site: dist: modules: $ basemodulepath # Используйте наш пользовательский скрипт, чтобы получить git commit для текущего состояния кода: config_version = get_environment_commit.sh
Формат
Все файлы конфигурации в Puppet одинаково используют один и тот же INI-подобный формат. Файл environment.conf имеет тот же INI-подобный формат, что и другие, например, файл puppet.conf. Единственная разница между environment.conf и puppet.conf в том, что файл environment.conf не может содержать раздел [main]. Все настройки в файле environment.conf должны быть вне любого раздела конфигурации.
Относительный путь в ценностях
Большинство разрешенных настроек принимают путь к файлу или список путей в качестве значения. Если какой-либо из путей является релевантным путем, они начинаются без косой черты или буквы диска — они будут в основном разрешены относительно основного каталога этой среды.
Интерполяция в ценностях
Файл настроек Environment.conf может использовать значения других настроек в качестве переменных. Существует несколько полезных переменных, которые можно вставить в файл environment.conf. Вот список нескольких важных переменных —
-
$ basemodulepath — полезно для включения каталогов в настройки пути модуля. Пользователь Puppet Enterprise обычно должен включать это значение modulepath, поскольку ядро Puppet использует модуль в базовом модуле path .
-
$ environment — Используется в качестве аргумента командной строки для вашего скрипта config_version. Вы можете интерполировать эту переменную только в настройке config_version.
-
$ codedir — Полезно для поиска файлов.
$ basemodulepath — полезно для включения каталогов в настройки пути модуля. Пользователь Puppet Enterprise обычно должен включать это значение modulepath, поскольку ядро Puppet использует модуль в базовом модуле path .
$ environment — Используется в качестве аргумента командной строки для вашего скрипта config_version. Вы можете интерполировать эту переменную только в настройке config_version.
$ codedir — Полезно для поиска файлов.
Разрешенные настройки
По умолчанию в файле Puppet environment.conf разрешено переопределять только четыре параметра в конфигурации, как указано в списке.
- ModulePath
- манифест
- Config_version
- Environment_timeout
ModulePath
Это один из ключевых параметров в файле environment.conf. Все директора, определенные в modulepath, по умолчанию загружаются Puppet. Это путь, откуда Puppet загружает свои модули. Нужно явно настроить это. Если этот параметр не установлен, путь модуля по умолчанию для любой среды в Puppet будет —
<СПРАВОЧНИК МОДУЛЕЙ ИЗ ОКРУЖАЮЩЕЙ СРЕДЫ>: $ basemodulepath
манифест
Это используется для определения основного файла манифеста, который мастер Puppet будет использовать при загрузке и компиляции каталога из определенного манифеста, который будет использоваться для настройки среды. В этом мы можем определить один файл, список файлов или даже каталог, состоящий из нескольких файлов манифеста, который должен быть оценен и скомпилирован в определенной алфавитной последовательности.
Необходимо явно определить этот параметр в файле environment.conf. Если нет, то Puppet будет использовать каталог манифеста по умолчанию в качестве основного манифеста.
Config_version
Config_version может быть определена как определенная версия, используемая для идентификации каталогов и событий. Когда Puppet компилирует любой файл манифеста по умолчанию, он добавляет версию конфигурации в сгенерированные каталоги, а также в отчеты, которые генерируются, когда мастер Puppet применяет любой определенный каталог к узлам Puppet. Puppet запускает скрипт для выполнения всех вышеперечисленных шагов и использует весь сгенерированный вывод как Config_version.
Тайм-аут среды
Он используется для получения подробной информации о количестве времени, которое Puppet должен использовать для загрузки данных для данной среды. Если значение определено в файле puppet.conf, то эти значения переопределят значение тайм-аута по умолчанию.
Образец файла environment.conf
[мастер] manifest = $ confdir / environment / $ environment / manifts / site.pp modulepath = $ confdir / environment / $ environment / modules
В приведенном выше коде $ confdir — это путь к каталогу, в котором находятся файлы конфигурации среды. $ environment — это имя среды, для которой выполняется конфигурация.