2012-03-07 17:35:18 +01:00
2012-10-17 00:00:41 +02:00
2013-09-29 18:12:31 +02:00
Ansible Documentation
`` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ``
Welcome to the Ansible documentation.
2012-10-17 00:00:41 +02:00
2013-09-29 18:12:31 +02:00
Ansible is an IT automation tool. It can configure systems, deploy software, and orchestrate more advanced IT orchestration
such as continuous deployments or zero downtime rolling updates.
2013-06-09 19:55:58 +02:00
2013-09-29 18:12:31 +02:00
Ansibe's goals are foremost those of simplicity and ease of use. It also has a strong focus on security and reliability, featuring
a minimum of moving parts, usage of Open SSH for transport, and a language that is designed around auditability by humans -- even those
not familiar with the program.
This documentation covers the current released version of Ansible (1.3.X) and also some development version features (1.4). For recent features, in each section, the version of Ansible where the feature is added is indicated. Ansible produces a new major release approximately
every 2 months.
2013-03-19 19:46:30 +01:00
Before we dive into playbooks, configuration management, deployment, and orchestration, we'll learn how to get Ansible installed and some
2013-04-19 04:36:06 +02:00
basic information. We'll go over how to execute ad-hoc commands in parallel across your nodes using /usr/bin/ansible. We'll also see
2012-10-17 00:00:41 +02:00
what sort of modules are available in Ansible's core (though you can also write your own, which we'll also show later).
2012-03-07 17:35:18 +01:00
2013-09-29 18:12:31 +02:00
An Introduction
`` ` ` ` ` ` ` ` ` ` ` ` ``
2012-03-07 17:35:18 +01:00
.. toctree ::
2012-07-28 04:16:14 +02:00
:maxdepth: 1
2012-03-07 17:35:18 +01:00
2013-09-29 18:12:31 +02:00
intro_installation
2013-09-29 18:36:02 +02:00
intro_getting_started
2013-09-29 18:12:31 +02:00
intro_inventory
2013-09-30 01:16:59 +02:00
intro_dynamic_inventory
2013-09-29 18:12:31 +02:00
intro_patterns
intro_adhoc
2012-03-07 17:35:18 +01:00
modules
2012-10-17 00:00:41 +02:00
Overview
`` ` ` ` ` ``
2013-06-09 19:55:58 +02:00
.. image :: http://www.ansibleworks.com/wp-content/uploads/2013/06/ANSIBLE_DIAGRAM.jpg
2013-04-19 04:36:06 +02:00
:alt: ansible architecture diagram
2013-06-09 19:55:58 +02:00
:width: 788px
:height: 436px
2012-10-17 00:00:41 +02:00
2013-09-29 18:12:31 +02:00
An Introduction to Playbooks
`` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ``
2013-03-19 19:46:30 +01:00
2013-09-29 18:12:31 +02:00
Playbooks are Ansible's configuration, deployment, and orchestration language. They can describe a policy you want your remote systems
to enforce, or a set of steps in a general IT process.
2012-10-17 00:00:41 +02:00
2013-09-29 18:12:31 +02:00
At a basic level, playbooks can be used to manage configurations of and deployments to remote machines. At a more advanced level, they can sequence multi-tier rollouts involving rolling updates, and can delegate actions to other hosts, interacting with monitoring servers and load balancers along the way.
There's no need to learn everything at once. You can start small and pick up more features
over time as you need them.
Playbooks are designed to be human-readable and are developed in a basic text language. There are multiple
2012-10-17 00:00:41 +02:00
ways to organize playbooks and the files they include, and we'll offer up some suggestions on that and making the most out of Ansible.
.. toctree ::
:maxdepth: 1
2012-03-07 17:35:18 +01:00
playbooks
2013-09-29 18:12:31 +02:00
playbooks_roles
playbooks_variables
2013-09-30 01:30:10 +02:00
playbooks_conditionals
2013-09-29 18:12:31 +02:00
playbooks_loops
playbooks_best_practices
2013-03-20 17:45:41 +01:00
Example Playbooks <https://github.com/ansible/ansible-examples>
2012-10-17 00:00:41 +02:00
2013-09-29 20:54:53 +02:00
Advanced Topics In Playbooks
`` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ``
2013-09-29 18:12:31 +02:00
Here are some playbook features that not everyone may need to learn, but can be quite useful for particular applications.
Browsing these topics is recommended as you may find some useful tips here, but feel free to learn Ansible first and adopt
2013-09-29 18:39:09 +02:00
these only if they seem relevant or useful to your environment::
2013-09-29 18:12:31 +02:00
playbooks_acceleration
playbooks_check_mode
playbooks_delegation
playbooks_environment
playbooks_error_handling
playbooks_lookups
playbooks_prompts
playbooks_strategies
Detailed Guides
`` ` ` ` ` ` ` ` ` ` ` ` ``
This section is new and evolving. The idea here is explore particular use cases in greater depth and provide a more "top down" explanation
of some basic features.
2013-05-29 16:25:54 +02:00
A chance to dive into some more topics in depth:
2013-05-29 20:17:32 +02:00
.. toctree ::
:maxdepth: 1
2013-09-29 18:12:31 +02:00
guide_aws
Pending topics may include: Vagrant, Docker, Jenkins, Rackspace Cloud, Google Compute Engine, Linode/Digital Ocean, Continous Deployment,
and more.
Community Information
`` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ``
Ansible is an open source project designed to bring together developers and administrators of all kinds to collaborate on building
IT automation solutions that work well for them. Should you wish to get more involved -- whether in terms of just asking a question, helping
2013-09-29 18:39:09 +02:00
other users, introducing new people to Ansible, or helping with the software or documentation, we welcome your contributions to the project::
2013-09-29 18:12:31 +02:00
How to interact <https://github.com/ansible/ansible/blob/devel/CONTRIBUTING.md>
2013-05-29 16:25:54 +02:00
2012-10-17 00:00:41 +02:00
Developer Information
`` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ``
2013-09-29 18:12:31 +02:00
Learn how to build modules of your own in any language, and also how to extend ansible through several kinds of plugins. Explore Ansible's Python API and write Python plugins to integrate
2012-10-17 00:00:41 +02:00
with other solutions in your environment.
.. toctree ::
:maxdepth: 1
2013-09-29 18:36:02 +02:00
developing_api
developing_inventory
developing_modules
developing_plugins
2013-09-29 18:12:31 +02:00
REST API <http://ansibleworks.com/ansibleworks-awx>
2012-08-03 06:01:23 +02:00
2012-10-18 04:28:24 +02:00
Miscellaneous
`` ` ` ` ` ` ` ` ` ` ``
.. toctree ::
:maxdepth: 1
2013-04-15 01:31:47 +02:00
faq
2012-10-26 05:17:05 +02:00
contrib
2013-02-17 00:36:06 +01:00
glossary
2012-10-17 00:00:41 +02:00