assemble - Собирает конфигурационный файл из фрагментов
Описание
- Собирает конфигурационный файл из фрагментов. Часто конкретная программа использует один конфигурационный файл и не поддерживает структуру типа
conf.d, где легко собрать конфигурацию из нескольких источников.assembleбудет принимать директорию файлов, которые могут быть локальными или уже переданы в систему, и конкатенировать их, чтобы создать целевой файл. Файлы собираются в порядке сортировки строк. Puppet называет эту идею *фрагментами*.
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| attributes (добавлено в 2.3) | Значение по умолчанию: Нет | Атрибуты, которые должен иметь файл или директория. Для получения поддерживаемых флагов обратитесь к странице справки для chattr на целевой системе. Эта строка должна содержать атрибуты в том же порядке, что и отображается командой lsattr. псевдонимы: attr |
| backup |
| Создать резервный файл (если yes), включая информацию о времени создания, чтобы вы могли вернуть исходный файл, если вы каким-то образом его неправильно перезаписали. |
| decrypt (добавлено в 2.4) |
Да | Этот параметр контролирует автоматическое расшифрование исходных файлов с использованием vault. |
| delimiter (добавлено в 1.4) | Разделитель для разделения содержимого файла. | |
| dest обязательно | Файл, который будет создан путем конкатенации всех исходных файлов. | |
| group | Значение по умолчанию: Нет | Имя группы, которая должна владеть файлом/директорией, как это будет передано в chown. |
| ignore_hidden (добавлено в 2.0) |
| Логический параметр, который контролирует, будут ли включаться файлы, начинающиеся с точки ('.') или нет. |
| mode | Значение по умолчанию: Нет | Режим файла или директории. Для тех, кто знаком с /usr/bin/chmod, помните, что режимы фактически являются восьмеричными числами (например, 0644 или 01777). Опускание ведущего нуля может привести к непредвиденным результатам. Начиная с версии 1.8, режим может быть задан как символический режим (например, u+rwx или u=rw,g=r,o=r). |
| owner | Значение по умолчанию: Нет | Имя пользователя, который должен владеть файлом/директорией, как это будет передано в chown. |
| regexp | Собрать файлы только если regex совпадает с именем файла. Если не задано, собираются все файлы. Все "\" (обратные слэши) должны быть экранированы как "\\", чтобы соответствовать синтаксису YAML. Используются регулярные выражения Python; см. http://docs.python.org/2/library/re.html. | |
| remote_src (добавлено в 1.4) |
| Если ложно, будет поиск src на исходной/главной машине, если истинно, то он будет искать src на удаленной/целевой машине. По умолчанию истинно. |
| selevel | Значение по умолчанию: s0 | Часть контекста файла SELinux. Это атрибут MLS/MCS, иногда известный как range. Функция _default работает так же, как и для seuser. |
| serole | Значение по умолчанию: Нет | Часть контекста файла SELinux, _default функция работает так же, как и для seuser. |
| setype | Значение по умолчанию: Нет | Тип части контекста файла SELinux, _default функция работает так же, как и для seuser. |
| seuser | Значение по умолчанию: Нет | Пользовательская часть контекста файла SELinux. Будет использовать политику системы по умолчанию, если применимо. Если установлено значение _default, будет использоваться user часть политики, если она доступна. |
| src обязательно | Уже существующая директория, полная исходных файлов. | |
| unsafe_writes (добавлено в 2.2) |
| Обычно этот модуль использует атомарные операции, чтобы предотвратить повреждение данных или несогласованные чтения из целевых файлов, но иногда системы настраиваются или ломаются таким образом, что это предотвращает их использование. Один из примеров — файлы, смонтированные в Docker, их нельзя обновлять атомарно, и это можно сделать только нестандартным способом. Этот логический параметр позволяет Ansible перейти к небезопасным методам обновления файлов в тех случаях, когда у вас нет другого выбора. Имейте в виду, что это подвержено гонкам и может привести к повреждению данных. |
| validate (добавлено в 2.0) | Команда проверки, которая выполняется перед копированием в целевое место. Путь к файлу для проверки передается через '%s', который должен быть присутствовать, как в примере sshd ниже. Команда передается безопасно, так что такие возможности оболочки, как расширение и использование труб, не сработают. |
Примеры
# Example from Ansible Playbooks
- assemble:
src: /etc/someapp/fragments
dest: /etc/someapp/someapp.conf
# When a delimiter is specified, it will be inserted in between each fragment
- assemble:
src: /etc/someapp/fragments
dest: /etc/someapp/someapp.conf
delimiter: '### START FRAGMENT ###'
# Copy a new "sshd_config" file into place, after passing validation with sshd
- assemble:
src: /etc/ssh/conf.d/
dest: /etc/ssh/sshd_config
validate: '/usr/sbin/sshd -t -f %s'
Статус
Этот модуль помечен как stableinterface, что означает, что разработчики этого модуля гарантируют, что не будут вносить обратные изменения в интерфейс.
Поддержка
Дополнительную информацию о поддержке этого модуля компанией Red Hat вы можете найти в этой статье базы знаний
Автор
- Stephen Fromm (@sfromm)
Подсказка
Если вы заметите какие-либо проблемы в этой документации, вы можете отредактировать этот документ, чтобы улучшить его.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.5/modules/assemble_module.html