Skip to content
This repository

Ansible is a radically simple IT automation platform that makes your applications and systems easier to deploy. Avoid writing scripts or custom code to deploy and update your applications— automate in a language that approaches plain English, using SSH, with no agents to install on remote systems.

Octocat-spinner-32 bin Merge pull request #6585 from eggsby/patch-3 April 04, 2014
Octocat-spinner-32 docs Fix typos in ansible-playbook man page source April 14, 2014
Octocat-spinner-32 docsite Add note about with_fileglob to "Looping over Fileglobs" April 23, 2014
Octocat-spinner-32 examples Documentation/examples updates for new 1.6 accelerate options March 25, 2014
Octocat-spinner-32 hacking Make test-module interpret --args='{...' as yaml April 10, 2014
Octocat-spinner-32 legacy Various tests using datafiles are being moved into the integration te… February 20, 2014
Octocat-spinner-32 lib Fixing a bug in the new fetch_url username/password logic April 24, 2014
Octocat-spinner-32 library Add parameters to get_url for the url username/password April 24, 2014
Octocat-spinner-32 packaging Fix date in changelog for RPM builds off devel branch. April 18, 2014
Octocat-spinner-32 plugins Merge pull request #7025 from angstwad/docker_inv April 23, 2014
Octocat-spinner-32 test This test appears OS specific, so disabling for now. April 15, 2014
Octocat-spinner-32 .gitignore Ignore Vagrant April 23, 2014
Octocat-spinner-32 Add parameters to get_url for the url username/password April 24, 2014
Octocat-spinner-32 Update March 14, 2014
Octocat-spinner-32 Update March 31, 2014
Octocat-spinner-32 COPYING license file should be in source tree March 15, 2012
Octocat-spinner-32 Add some docs/examples August 14, 2012
Octocat-spinner-32 Makefile Adding a man page for ansible-vault March 17, 2014
Octocat-spinner-32 Update April 03, 2014
Octocat-spinner-32 RELEASES.txt Updating changelog/releases/packaging for 1.5.5 release April 18, 2014
Octocat-spinner-32 VERSION Set version to 1.6 March 03, 2014
Octocat-spinner-32 Added ansible-vault to the installer February 21, 2014

PyPI version PyPI downloads


Ansible is a radically simple configuration-management, application deployment, task-execution, and multinode orchestration engine.

Read the documentation and more at

Many users run straight from the development branch (it's generally fine to do so), but you might also wish to consume a release. You can find instructions here for a variety of platforms. If you want a tarball of the last release, go to and you can also install with pip.

Design Principles

  • Have a dead simple setup process and a minimal learning curve
  • Be super fast & parallel by default
  • Require no server or client daemons; use existing SSHd
  • Use a language that is both machine and human friendly
  • Focus on security and easy auditability/review/rewriting of content
  • Manage remote machines instantly, without bootstrapping
  • Allow module development in any dynamic language, not just Python
  • Be usable as non-root
  • Be the easiest IT automation system to use, ever.

Get Involved

  • Read for all kinds of ways to contribute to and interact with the project, including mailing list information and how to submit bug reports and code to Ansible.
  • All code submissions are done through pull requests. Take care to make sure no merge commits are in the submission, and use "git rebase" vs "git merge" for this reason. If submitting a large code change (other than modules), it's probably a good idea to join ansible-devel and talk about what you would like to do or add first and to avoid duplicate efforts. This not only helps everyone know what's going on, it also helps save time and effort if we decide some changes are needed.
  • #ansible

Branch Info

  • Releases are named after Van Halen songs.
  • The devel branch corresponds to the release actively under development.
  • Various release-X.Y branches exist for previous releases
  • We'd love to have your contributions, read "" for process notes.


Michael DeHaan --

Ansible, Inc

Something went wrong with that request. Please try again.