Ansible Navigator#

Утилита Ansible Navigator является универсальным инструментом для разработки, тестирования и применения инфраструктурного кода в виде коллекций и playbook. Для этого она предоставляет несколько команд с различными аргументами.

Вызов утилиты имеет следующий вид:

ansible-navigator {<command>} {<arguments>}

Для понимания принципов работы утилиты обратитесь к ее описанию.

Общие аргументы#

Ansible Navigator принимает аргументы, общие для всех команд, а также специфичные для утилит, которые используются для выполнения отдельных задач.

Аргументы, общие для всех команд:

-h, --help#

Вывод справочной информации о командах и аргументах Ansible Navigator.

--version#

Вывод информации о версии Ansible Navigator.

--rad, --ansible-runner-artifact-dir#

Путь к каталогу для хранения артефактов, созданных во время запуска ansible-runner.

--rac, --ansible-runner-rotate-artifacts-count#

Удаление каталогов с артефактами, кроме последних N запусков ansible-runner. При значении 0 не удаляется ни один каталог с артефактами.

--rt, --ansible-runner-timeout#

Период ожидания в секундах перед принудительным завершением выполнения ansible-runner.

--rwje, --ansible-runner-write-job-events#

Запись событий job_events в каталог артефактов:

  • true – запись включена;

  • false – запись выключена.

--cdcp, --collection-doc-cache-path#

Путь к каталогу для хранения кеша документации коллекций.

Значение по умолчанию – ~/.cache/ansible-navigator/collection_doc_cache.db.

--ce, --container-engine#

Инструмент контейнеризации:

  • auto – тип инструмента контейнеризации выбирается автоматически.

    Примечание

    Если в системе установлены Docker и Podman, будет использоваться Podman.

  • podman – Podman.

  • docker – Docker.

Значение по умолчанию – auto.

--co, --container-options#

Дополнительные параметры, передаваемые в команду запуска инструмента контейнеризации.

--dc, --display-color#

Использование цветового оформления:

  • true – включено;

  • false – выключено.

Значение по умолчанию – true.

--ecmd, --editor-command#

Команда запуска текстового редактора.

Значение по умолчанию – vi +{line_number} {filename}.

--econ, --editor-console#

Использование редактора в режиме TUI:

  • true – текстовый интерфейс;

  • false – режим работы определяется редактором.

Значение по умолчанию – true.

--ee, --execution-environment#

Использование среды исполнения:

  • true – разрешено.

  • false – запрещено. Выполнение команд происходит с использованием компонентов, доступных в ОС.

Значение по умолчанию – true.

--eei, --execution-environment-image#

Название образа среды исполнения.

Значение по умолчанию – registry.astralinux.ru/aa/aa-creator-ee:0.2.1.

--eev <volume>:<mount_point>, --execution-environment-volume-mounts <volume>:<mount_point>#

Монтирование тома <volume> в точку <mount_pount> контейнера при запуске среды исполнения.

Подробности о монтировании томов см. в документации используемой системы контейнеризации:

--la, --log-append#

Управление записью журнала сообщений в файл:

  • true – для хранения всех записей используется один файл журнала.

  • false – для каждой сессии создается отдельный файл журнала.

Значение по умолчанию – true.

--lf, --log-file#

Путь к файлу хранения журнала Ansible Navigator.

Значение по умолчанию – ~/ansible-navigator.log.

--ll, --log-level#

Минимальный уровень важности сообщения, необходимый для его записи в журнал Ansible Navigator.

Возможные значения в порядке возрастания важности:

  1. debug;

  2. info;

  3. warning;

  4. error;

  5. critical.

Значение по умолчанию – warning.

-m, --mode#

Режим работы Ansible Navigator:

  • interactive – интерактивный режим;

  • stdout – неинтерактивный режим.

Значение по умолчанию – interactive.

--osc4#

Использование в терминале цветового оформления в соответствии со стандартом OSC 4:

  • true – включено;

  • false – выключено.

Значение по умолчанию – true.

--penv, --pass-environment-variable#

Передача существующей переменной окружения в среду исполнения.

--pa=[<params>], --pull-arguments=[<params>]#

Дополнительные параметры для команды получения (pull) образа среды исполнения из реестра, например:

--pull-arguments='--tls-verify=false'
--pp, --pull-policy#

Политика получения образа среды исполнения:

  • always – всегда загружать образ из реестра.

  • missing – загрузить образ из реестра только в том случае, когда нет его локальной копии.

  • never – никогда не загружать образ из реестра.

  • tag – если значение тега равно latest, образ будет загружен из реестра. Если значение тега отличается от latest, образ будет загружен из реестра только при отсутствии локальной копии.

Значение по умолчанию – tag.

--senv <variable>=<value>, --set-environment-variable <variable>=<value>#

Передача в среду исполнения переменной окружения <varibable> со значением <value>.

--tz, --time-zone#

Используемый часовой пояс:

  • название часового пояса в формате IANA;

  • local.

Значение по умолчанию – utc.

Команды#

Здесь представлено описание команд Ansible Navigator. Для получения справочной информации об использовании связанных команд Ansible, Podman и Docker обратитесь к их документации.

builder#

Синтаксис вызова команды builder:

ansible-navigator builder [arguments] <action>

Аргументы:

--hb, --help-builder#

Вывод в stdout справочной информации по использованию команды ansible-builder:

  • true – включен;

  • false – выключен.

Значение по умолчанию – false.

--bwd, --workdir#

Путь к каталогу, содержащему файл с манифестом образа среды исполнения.

Значение по умолчанию – текущий каталог.

collections#

Синтаксис вызова команды collection:

ansible-navigator collections [arguments]

Аргументы:

--fmt, --format#

Формат вывода сведений о коллекциях:

  • json;

  • yaml.

Значение по умолчанию – yaml.

config#

Синтаксис вызова команды config:

ansible-navigator config [arguments]

Аргументы:

-c, --config#

Путь к файлу с настройками Ansible.

--hc, --help-config#

Вывод в stdout справочной информации по использованию команды ansible-config:

  • true – включен;

  • false – выключен.

Значение по умолчанию – false.

doc#

Синтаксис вызова команды doc:

ansible-navigator doc {<plugin>} [arguments]

Аргументы:

--hd, --help-doc#

Вывод в stdout справочной информации по использованию команды ansible-doc:

  • true – включен;

  • false – выключен.

Значение по умолчанию – false.

<plugin>#

Название расширения.

-t, --type#

Тип расширения:

  • become;

  • cache;

  • callback;

  • cliconf;

  • connection;

  • filter;

  • httpapi;

  • inventory;

  • keyword;

  • lookup;

  • module;

  • netconf;

  • role;

  • shell;

  • strategy;

  • test;

  • vars.

Значение по умолчанию – module.

exec#

Синтаксис вызова команды exec:

ansible-navigator exec {<command>} [options]

Аргументы:

<command>#

Запускаемая команда.

Значение по умолчанию – /bin/bash.

--exshell, --exec-shell#

Запуск команды в оболочке командной строки.

Значение по умолчанию – true.

images#

Сиктаксис вызова команды images:

ansible-navigator images [options]

Аргументы:

--fmt, --format#

Формат вывода сообщений:

  • json;

  • yaml.

Значение по умолчанию – yaml.

-d, --details#

Вывод подробных сведений о компонентах среды исполнения по умолчанию:

  • ansible_collections – сведения о коллекциях;

  • ansible_version – версии компонентов Ansible;

  • everything – сведения обо всех компонентах образа среды исполнения;

  • os_release – версия ОС;

  • python_packages – версии пакетов Python;

  • python_version – версия интерпретатора Python;

  • system_packages – версии системных пакетов.

Значение по умолчанию – everything.

inventory#

Синтаксис вызова команды inventory:

ansible-navigator inventory [options]

Аргументы:

--hi, --help-inventory#

Вывод в stdout справочной информации по использованию команды ansible-inventory:

  • true – включен;

  • false – выключен.

Значение по умолчанию – false.

-i, --inventory#

Путь к файлу инвентаря или список узлов.

При передаче списка узлов их названия разделяются запятыми, например:

ansible-navigator inventory node1.example.com,node2.example.com
--ic <column>, --inventory-column <column>#

Отображение в таблице сведений об управляемых узлах дополнительной колонки со значением указанного атрибута, например:

ansible-navigator inventory -i inventory.ini --ic ansible_user

При запуске Ansible Navigator можно передать несколько значений аргумента, например:

ansible-navigator inventory -i inventory.ini \
   --ic ansible_user \
   --ic ansible_host

lint#

Синтаксис вызова команды lint:

ansible-navigator lint [options] [<lintables>]

Аргументы:

--lic, --lint-config#

Путь к файлу с настройками ansible-lint.

[<lintables>]#

Путь к файлам, которые должны быть проверены с помощью ansible-lint.

По умолчанию поиск файла с настройками ansible-lint и проверяемых файлов выполняется в текущем каталоге.

replay#

Синтаксис вызова команды:

ansible-navigator replay [<playbook_artifact>]

Аргументы:

<playbook_artifact>#

Путь к файлу с артефактами, собранными при выполнении playbook.

run#

Синтаксис вызова команды:

ansible-navigator run <playbook> [options]

Аргументы:

--ep, --enable-prompts#

Интерактивный ввод пароля при выполнении playbook:

  • true – разрешен;

  • false – запрещен.

Значение по умолчанию – true.

Примечание

Использование этого аргумента перенаправляет вывод в stdout и запрещает создание артефактов.

--hp, --help-playbook#

Вывод в stdout справочной информации по использованию команды ansible-playbook:

  • true – включен;

  • false – выключен.

Значение по умолчанию – false.

-i, --inventory#

Путь к файлу инвентаря или список узлов.

При передаче списка узлов их названия разделяются запятыми, например:

ansible-navigator run playbook.yml -i node1.example.com,node2.example.com
<playbook>#

Путь к файлу playbook.

--pae, --playbook-artifact-enable#

Создание артефактов для выполненного playbook:

  • true – разрешено;

  • false – запрещено.

Значение по умолчанию – true.

Примечание

Если playbook использует интерактивный ввод данных пользователем, использование этого аргумента несовместимо со значением stdout для аргумента --mode.

--pas, --playbook-artifact-save-as#

Шаблоны имен файлов для хранения артефактов, созданных при выполнении playbook.

При формировании имен файлов можно использовать следующие подстановочные блоки:

  • {playbook_dir} – путь к каталогу с playbook;

  • {playbook_name} – название playbook;

  • {playbook_status} – статус выполнения playbook;

  • {time_stamp} – время завершения выполнения playbook.

Значение по умолчанию – {playbook_dir}/{playbook_name}-artifact-{time_stamp}.json.

settings#

Синтаксис вызова команды:

ansible-navigator settings [options]

Аргументы:

--se, --effective#

Вывод сведений о действующих значениях настроек.

Действующий значения определяются путем комбинирования значений по умолчанию, аргументов командной строки, переменных окружения и значений, заданных в конфигурационном файле.

--gs, --sample#

Создание примера файла настроек.

--ss json, --schema json#

Создание примера схемы для файла настроек.

Значение по умолчанию – json.

--so, --sources#

Вывод сведений об источнике, из которого получено значение каждой настройки.

welcome#

Синтаксис вызова команды:

ansible-navigator welcome [options]

Настройки#

Настройки Ansible Navigator делятся на две категории:

  • основные – управляют работой самого Ansible Navigator;

  • настройки субкоманд – управляют поведением других утилит, запускаемых с помощью Ansible Navigator.

Основные настройки#

  • ansible-runner-artifact-dir

    Default: not set

    CLI: --rad or --ansible-runner-artifact-dir

    ENV: ANSIBLE_NAVIGATOR_ANSIBLE_RUNNER_ARTIFACT_DIR

  • ansible-runner-rotate-artifacts-count

    Default: not set

    CLI: --rac or --ansible-runner-rotate-artifacts-count

    ENV: ANSIBLE_NAVIGATOR_ANSIBLE_RUNNER_ROTATE_ARTIFACTS_COUNT

  • ansible-runner-timeout

    Default: not set

    CLI: --rt or --ansible-runner-timeout

    ENV: ANSIBLE_NAVIGATOR_ANSIBLE_RUNNER_TIMEOUT

  • ansible-runner-write-job-events

    Availiable values:

    • True

    • False

    Default: False

    CLI: --rwje or --ansible-runner-write-job-events

    ENV: ANSIBLE_NAVIGATOR_ANSIBLE_RUNNER_WRITE_JOB_EVENTS

  • app

    Availiable values:

    • builder

    • collections

    • config

    • doc

    • exec

    • images

    • inventory

    • lint

    • replay

    • run

    • settings

    • welcome

    Default: welcome

    CLI: positional

    ENV: ANSIBLE_NAVIGATOR_APP

  • cmdline

    Default: not set

    CLI: positional

    ENV: ANSIBLE_NAVIGATOR_CMDLINE

  • collection-doc-cache-path

    Default: ~/.cache/ansible-navigator/collection_doc_cache.db

    CLI: --cdcp or --collection-doc-cache-path

    ENV: ANSIBLE_NAVIGATOR_COLLECTION_DOC_CACHE_PATH

  • container-engine

    Availiable values:

    • auto

    • podman

    • docker

    Default: auto

    CLI: --ce or --container-engine

    ENV: ANSIBLE_NAVIGATOR_CONTAINER_ENGINE

  • container-options

    Default: not set

    CLI: --co or --container-options

    ENV: ANSIBLE_NAVIGATOR_CONTAINER_OPTIONS

  • display-color

    Availiable values:

    • True

    • False

    Default: True

    CLI: --dc or --display-color

    ENV: NO_COLOR

  • editor-command

    Default: vi +{line_number} {filename}

    CLI: --ecmd or --editor-command

    ENV: ANSIBLE_NAVIGATOR_EDITOR_COMMAND

  • editor-console

    Availiable values:

    • True

    • False

    Default: True

    CLI: --econ or --editor-console

    ENV: ANSIBLE_NAVIGATOR_EDITOR_CONSOLE

  • execution-environment

    Availiable values:

    • True

    • False

    Default: True

    CLI: --ee or --execution-environment

    ENV: ANSIBLE_NAVIGATOR_EXECUTION_ENVIRONMENT

  • execution-environment-image

    Default: None

    CLI: --eei or --execution-environment-image

    ENV: ANSIBLE_NAVIGATOR_EXECUTION_ENVIRONMENT_IMAGE

  • execution-environment-volume-mounts

    Default: not set

    CLI: --eev or --execution-environment-volume-mounts

    ENV: ANSIBLE_NAVIGATOR_EXECUTION_ENVIRONMENT_VOLUME_MOUNTS

  • log-append

    Availiable values:

    • True

    • False

    Default: True

    CLI: --la or --log-append

    ENV: ANSIBLE_NAVIGATOR_LOG_APPEND

  • log-file

    Default: ./ansible-navigator.log

    CLI: --lf or --log-file

    ENV: ANSIBLE_NAVIGATOR_LOG_FILE

  • log-level

    Availiable values:

    • debug

    • info

    • warning

    • error

    • critical

    Default: warning

    CLI: --ll or --log-level

    ENV: ANSIBLE_NAVIGATOR_LOG_LEVEL

  • mode

    Availiable values:

    • stdout

    • interactive

    Default: interactive

    CLI: -m or --mode

    ENV: ANSIBLE_NAVIGATOR_MODE

  • osc4

    Availiable values:

    • True

    • False

    Default: True

    CLI: --osc4 or --osc4

    ENV: ANSIBLE_NAVIGATOR_OSC4

  • pass-environment-variable

    Default: not set

    CLI: --penv or --pass-environment-variable

    ENV: ANSIBLE_NAVIGATOR_PASS_ENVIRONMENT_VARIABLES

  • pull-arguments

    Default: not set

    CLI: --pa or --pull-arguments

    ENV: ANSIBLE_NAVIGATOR_PULL_ARGUMENTS

  • pull-policy

    Availiable values:

    • always

    • missing

    • never

    • tag

    Default: tag

    CLI: --pp or --pull-policy

    ENV: ANSIBLE_NAVIGATOR_PULL_POLICY

  • set-environment-variable

    Default: not set

    CLI: --senv or --set-environment-variable

    ENV: ANSIBLE_NAVIGATOR_SET_ENVIRONMENT_VARIABLES

  • time-zone

    Default: UTC

    CLI: --tz or --time-zone

    ENV: TZ

Subcommand builder#

  • help-builder

    Availiable values:

    • True

    • False

    Default: False

    CLI: --hb or --help-builder

    ENV: ANSIBLE_NAVIGATOR_HELP_BUILDER

  • workdir

    Default: .

    CLI: --bwd or --workdir

    ENV: ANSIBLE_NAVIGATOR_WORKDIR

Subcommand collections#

  • format

    Availiable values:

    • json

    • yaml

    Default: yaml

    CLI: --fmt or --format

    ENV: ANSIBLE_NAVIGATOR_FORMAT

Subcommand config#

  • config

    Default: not set

    CLI: -c or --config

    ENV: ANSIBLE_CONFIG

  • help-config

    Availiable values:

    • True

    • False

    Default: False

    CLI: --hc or --help-config

    ENV: ANSIBLE_NAVIGATOR_HELP_CONFIG

Subcommand doc#

  • help-doc

    Availiable values:

    • True

    • False

    Default: False

    CLI: --hd or --help-doc

    ENV: ANSIBLE_NAVIGATOR_HELP_DOC

  • plugin-name

    Default: not set

    CLI: positional

    ENV: ANSIBLE_NAVIGATOR_PLUGIN_NAME

  • plugin-type

    Availiable values:

    • become

    • cache

    • callback

    • cliconf

    • connection

    • filter

    • httpapi

    • inventory

    • keyword

    • lookup

    • module

    • netconf

    • role

    • shell

    • strategy

    • test

    • vars

    Default: module

    CLI: -t or --type

    ENV: ANSIBLE_NAVIGATOR_PLUGIN_TYPE

Subcommand exec#

  • exec-command

    Default: /bin/bash

    CLI: positional

    ENV: ANSIBLE_NAVIGATOR_EXEC_COMMAND

  • exec-shell

    Availiable values:

    • True

    • False

    Default: True

    CLI: --exshell or --exec-shell

    ENV: ANSIBLE_NAVIGATOR_EXEC_SHELL

Subcommand images#

  • format

    Availiable values:

    • json

    • yaml

    Default: yaml

    CLI: --fmt or --format

    ENV: ANSIBLE_NAVIGATOR_FORMAT

  • images-details

    Availiable values:

    • ansible_collections

    • ansible_version

    • everything

    • os_release

    • python_packages

    • python_version

    • system_packages

    Default: ['everything']

    CLI: -d or --details

    ENV: ANSIBLE_NAVIGATOR_IMAGES_DETAILS

Subcommand inventory#

  • help-inventory

    Availiable values:

    • True

    • False

    Default: False

    CLI: --hi or --help-inventory

    ENV: ANSIBLE_NAVIGATOR_HELP_INVENTORY

  • inventory

    Default: not set

    CLI: -i or --inventory

    ENV: ANSIBLE_INVENTORY

  • inventory-column

    Default: not set

    CLI: --ic or --inventory-column

    ENV: ANSIBLE_NAVIGATOR_INVENTORY_COLUMNS

Subcommand lint#

  • lint-config

    Default: not set

    CLI: --lic or --lint-config

    ENV: ANSIBLE_LINT_CONFIG

  • lintables

    Default: not set

    CLI: positional

    ENV: ANSIBLE_NAVIGATOR_LINTABLES

Subcommand replay#

  • playbook-artifact-replay

    Default: not set

    CLI: positional

    ENV: ANSIBLE_NAVIGATOR_PLAYBOOK_ARTIFACT_REPLAY

Subcommand run#

  • enable-prompts

    Availiable values:

    • True

    • False

    Default: False

    CLI: --ep or --enable-prompts

    ENV: ANSIBLE_NAVIGATOR_ENABLE_PROMPTS

  • help-playbook

    Availiable values:

    • True

    • False

    Default: False

    CLI: --hp or --help-playbook

    ENV: ANSIBLE_NAVIGATOR_HELP_PLAYBOOK

  • inventory

    Default: not set

    CLI: -i or --inventory

    ENV: ANSIBLE_INVENTORY

  • inventory-column

    Default: not set

    CLI: --ic or --inventory-column

    ENV: ANSIBLE_NAVIGATOR_INVENTORY_COLUMNS

  • playbook

    Default: not set

    CLI: positional

    ENV: ANSIBLE_NAVIGATOR_PLAYBOOK

  • playbook-artifact-enable

    Availiable values:

    • True

    • False

    Default: True

    CLI: --pae or --playbook-artifact-enable

    ENV: ANSIBLE_NAVIGATOR_PLAYBOOK_ARTIFACT_ENABLE

  • playbook-artifact-save-as

    Default: {playbook_dir}/{playbook_name}-artifact-{time_stamp}.json

    CLI: --pas or --playbook-artifact-save-as

    ENV: ANSIBLE_NAVIGATOR_PLAYBOOK_ARTIFACT_SAVE_AS

Subcommand settings#

  • settings-effective

    Default: False

    CLI: --se or --effective

    ENV: ANSIBLE_NAVIGATOR_SETTINGS_EFFECTIVE

  • settings-sample

    Default: False

    CLI: --gs or --sample

    ENV: ANSIBLE_NAVIGATOR_SETTINGS_SAMPLE

  • settings-schema

    Availiable values:

    • json

    Default: json

    CLI: --ss or --schema

    ENV: ANSIBLE_NAVIGATOR_SETTINGS_SCHEMA

  • settings-sources

    Default: False

    CLI: --so or --sources

    ENV: ANSIBLE_NAVIGATOR_SETTINGS_SOURCES