Spec-Zone.ru › Ansible

Модуль 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 (соответствует podman quadlet rm --all).

Варианты:

  • false ← (по умолчанию)
  • true

cmd_args

список / элементы=строка

Дополнительные глобальные аргументы, передаваемые команде podman (например, --log-level=debug).

Они указываются после исполняемого файла и перед подкомандой.

debug

логический

Возвращать дополнительную информацию, полезную для анализа.

Варианты:

  • false ← (по умолчанию)
  • true

executable

строка

Путь к исполняемому файлу podman, если он отсутствует в $PATH на машине, выполняющей podman

По умолчанию: "podman"

files

список / элементы=строка

Дополнительные файлы, не являющиеся квадлетами, или URL-адреса для установки вместе с основным источником src (сценарий использования приложения квадлетов).

Передаются позиционно команде podman quadlet install после src.

Для локальных файлов обеспечивается полная идемпотентность.

Если хотя бы один файл является URL-адресом, установка всегда возвращает changed=true, поскольку удалённое содержимое невозможно проверить.

force

логический

Принудительное удаление, если state=absent (соответствует podman quadlet rm --force).

Варианты:

  • false
  • true ← (по умолчанию)

name

список / элементы=строка

Имя (имя файла без пути) установленного квадлета, который нужно удалить, если state=absent.

Если имя не содержит суффикс типа (например, .container), модуль попытается найти соответствующий файл квадлета.

quadlet_dir

путь

Переопределение целевого каталога квадлетов, используемого для проверки идемпотентности.

По умолчанию используются настройки Podman.

Для root используется /etc/containers/systemd/, для пользователя без прав root — ~/.config/containers/systemd/.

Обратите внимание: этот параметр используется только для сравнения содержимого и не передаётся Podman.

reload_systemd

логический

Управление перезагрузкой systemd в Podman. Если значение true, передаётся --reload-systemd.

Если значение false, передаётся --reload-systemd=false.

Варианты:

  • false
  • true ← (по умолчанию)

src

строка

Путь к файлу квадлета, каталогу с приложением квадлетов или URL-адрес для установки, если state=present.

Для локальных файлов и каталогов обеспечивается полная идемпотентность (сравнение содержимого).

Для удалённых URL-адресов модуль всегда выполняет новую установку и возвращает changed=true, поскольку содержимое невозможно проверить.

При установке каталогов поддерживаются только файлы верхнего уровня; наличие вложенных подкаталогов приводит к ошибке.

state

строка

Требуемое состояние квадлета (или квадлетов).

Варианты:

  • "present" ← (по умолчанию)
  • "absent"

Примеры

- 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

Авторы

  • Sagi Shnaidman (@sshnaidm)

Ссылки на коллекцию

  • Отслеживание проблем
  • Репозиторий (исходный код)

© 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

Spec-Zone.ru

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