ansible / ansible-navigator

A text-based user interface (TUI) for Ansible.
https://ansible.readthedocs.io/projects/navigator/
Apache License 2.0
366 stars 97 forks source link
ansible ansible-commands ansible-dev-tools ansible-devtools curses inventory network network-automation pep-621 playbook python tui

ansible-navigator

A text-based user interface (TUI) for Ansible.

A demo of the interface can be found on YouTube.

Contributing

Any kind of contribution to this project is very welcome and appreciated, whether it is a documentation improvement, bug report, pull request review, or a patch.

See the [Contributing guidelines][contributing guidelines] for details.

[contributing guidelines]: https://ansible.readthedocs.io/projects/navigator/contributing/guidelines/

Quick start

Installing

Getting started with ansible-navigator is as simple as:

pip3 install 'ansible-navigator[ansible-core]'
ansible-navigator --help

(Users wishing to install within a virtual environment might find the relevant Python documentation useful.)

By default, ansible-navigator uses a container runtime (podman or docker, whichever it finds first) and runs Ansible within an execution environment (a pre-built container image which includes ansible-core along with a set of Ansible collections.)

This default behavior can be disabled by starting ansible-navigator with --execution-environment false. In this case, Ansible and any collections needed must be installed manually on the system.

Additional Linux, macOS and Windows with WSL2 installation instructions are available in the [Installation guide].

[Installation guide]: https://ansible-navigator.readthedocs.io/installation/

Welcome

When running ansible-navigator with no arguments, you will be presented with the welcome page. From this page, you can run playbooks, browse collections, explore inventories, read Ansible documentation, and more.

A full list of key bindings can be viewed by typing :help.

Output modes

There are two modes in which ansible-navigator can be run:

The interactive mode is the default and this default can be overwritten by passing --mode stdout (-m stdout) or setting mode in configuration.

Example commands

All of ansible-navigator's features can be accessed from the welcome page described above, but as a shortcut, commands can also be provided directly as command-line arguments.

Some examples:

Or using the stdout mode described above:

... and so on. A full list of subcommands and their relation to Ansible commands can be found in the [subcommand documentation].

[subcommand documentation]: https://ansible-navigator.readthedocs.io/subcommands/

Configuring ansible-navigator

There are several ways to configure ansible-navigator and users and projects are free to choose the most convenient method for them. The full hierarchy of how various configuration sources are applied can be found in the FAQ mentioned below.

Of note, projects making use of ansible-navigator can include a project-wide configuration file with the project. If one is not found, ansible-navigator will look for a user-specific configuration file in the user's home directory. Details about this can be found in the settings documentation.

Frequently Asked Questions (FAQ)

We maintain a list of common questions which provides a good resource to check if something is tripping you up. We also encourage additions to this document for the greater community!

License

ansible-navigator is released under the Apache License version 2. See the LICENSE file for more details.