Модуль containers.podman.podman_quadlet – установка или удаление квадлетов Podman
Примечание
Этот модуль входит в коллекцию containers.podman (версия 1.20.1).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.
Чтобы установить её, используйте: ansible-galaxy collection install containers.podman. Для использования этого модуля требуются дополнительные компоненты; подробности см. в разделе Требования.
Чтобы использовать модуль в плейбуке, укажите: containers.podman.podman_quadlet.
Краткое описание
- Установка или удаление квадлетов Podman с помощью
podman quadlet installиpodman quadlet rm. - Создание файлов квадлетов выполняется модулями ресурсов с параметром state=quadlet.
- Обновление выполняется удалением существующего квадлета и установкой нового.
- Идемпотентность для локальных источников обеспечивается с помощью файлов манифеста Podman .app/.asset и прямого сравнения содержимого.
- Для удалённых URL-адресов модуль всегда выполняет повторную установку, чтобы привести узел в соответствие с настроенным источником (возвращает changed=true).
- Поддерживаются файлы
.quadlets, содержащие несколько секций квадлетов, разделённых разделителем---(требуется Podman 6.0+). - Каждая секция в файле
.quadletsдолжна содержать комментарий# FileName=<name>с указанием имени выходного файла.
Требования
На узле, выполняющем этот модуль, необходимы следующие компоненты.
- podman
Параметры
Параметр | Комментарии |
|---|---|
all логический | Удалить все установленные квадлеты, если state=absent (соответствует Варианты:
|
cmd_args список / элементы=строка | Дополнительные глобальные аргументы, передаваемые команде Они указываются после исполняемого файла и перед подкомандой. |
debug логический | Возвращать дополнительную информацию, полезную для анализа. Варианты:
|
executable строка | Путь к исполняемому файлу По умолчанию: |
files список / элементы=строка | Дополнительные файлы, не являющиеся квадлетами, или URL-адреса для установки вместе с основным источником src (сценарий использования приложения квадлетов). Передаются позиционно команде Для локальных файлов обеспечивается полная идемпотентность. Если хотя бы один файл является URL-адресом, установка всегда возвращает |
force логический | Принудительное удаление, если state=absent (соответствует Варианты:
|
name список / элементы=строка | Имя (имя файла без пути) установленного квадлета, который нужно удалить, если state=absent. Если имя не содержит суффикс типа (например, |
quadlet_dir путь | Переопределение целевого каталога квадлетов, используемого для проверки идемпотентности. По умолчанию используются настройки Podman. Для root используется Обратите внимание: этот параметр используется только для сравнения содержимого и не передаётся Podman. |
reload_systemd логический | Управление перезагрузкой systemd в Podman. Если значение true, передаётся Если значение false, передаётся Варианты:
|
src строка | Путь к файлу квадлета, каталогу с приложением квадлетов или URL-адрес для установки, если state=present. Для локальных файлов и каталогов обеспечивается полная идемпотентность (сравнение содержимого). Для удалённых URL-адресов модуль всегда выполняет новую установку и возвращает При установке каталогов поддерживаются только файлы верхнего уровня; наличие вложенных подкаталогов приводит к ошибке. |
state строка | Требуемое состояние квадлета (или квадлетов). Варианты:
|
Примеры
- name: Install a simple quadlet file
containers.podman.podman_quadlet:
state: present
src: /tmp/myapp.container
- name: Install a quadlet application with additional config files
containers.podman.podman_quadlet:
state: present
src: /tmp/myapp.container
files:
- /tmp/myapp.conf
- /tmp/secrets.env
- name: Install quadlet application from a directory
containers.podman.podman_quadlet:
state: present
src: /tmp/myapp_dir/
- name: Install with custom quadlet directory (e.g. for system-wide install)
containers.podman.podman_quadlet:
state: present
src: /tmp/myapp.container
quadlet_dir: /etc/containers/systemd
become: true
- name: Remove a specific quadlet
containers.podman.podman_quadlet:
state: absent
name:
- myapp.container
- name: Remove multiple quadlets
containers.podman.podman_quadlet:
state: absent
name:
- myapp.container
- database.container
- cache.container
- name: Remove quadlet without suffix (module resolves to .container, .pod, etc.)
containers.podman.podman_quadlet:
state: absent
name:
- myapp
- name: Remove all quadlets (use with caution)
containers.podman.podman_quadlet:
state: absent
all: true
- name: Install quadlet from a URL (always reports changed=true)
containers.podman.podman_quadlet:
state: present
src: https://example.com/myapp.container
- name: Install multi-quadlet application from .quadlets file (Podman 6.0+)
containers.podman.podman_quadlet:
state: present
src: /tmp/webapp.quadlets
Возвращаемые значения
Общие возвращаемые значения описаны здесь; ниже приведены поля, уникальные для этого модуля:
Ключ | Описание |
|---|---|
_debug_installed_files список / элементы=строка | Список текущих установленных файлов, обнаруженных по манифестам Podman Возвращается: если debug=true, state=present и режим не удалённый |
_debug_spec словарь | Внутренняя спецификация, используемая для определения идемпотентности Возвращается: если debug=true и state=present |
|
desired_files список / элементы=строка |
Список имён файлов, которые следует установить Возвращается: при успешном выполнении |
|
marker_name строка |
Имя файла-маркера .app или .asset, используемого Podman Возвращается: при успешном выполнении |
|
mode строка |
Режим установки (dir_app, quadlets_app, single_file или remote) Возвращается: при успешном выполнении |
|
removal_target строка |
Аргумент, передаваемый команде ‘podman quadlet rm’ при обновлении Возвращается: при успешном выполнении |
actions список / элементы=строка | Выполненные действия в удобочитаемом виде Возвращается: всегда |
changed логический | Указывает, были ли внесены изменения Возвращается: всегда |
podman_actions список / элементы=строка | Выполненные командные строки podman Возвращается: всегда |
quadlets список / элементы=строка | Список затронутых квадлетов с указанием имени, пути и области действия Возвращается: всегда |
stderr строка | Поток stderr podman Возвращается: если debug=true |
stdout строка | Поток stdout podman Возвращается: если debug=true |
Ссылки на коллекцию
© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/containers/podman/podman_quadlet_module.html