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. https://docs.ansible.com/ansible/
Find a file
Matt Martz 34809f2b02 [stable-2.7] Ensure that the src file contents is converted to unicode in diff info (#45744)
* Ensure that the src file contents is converted to unicode in diff info. Fixes #45717

* Fix up and cleanup

* The diff functionality in the callback plugins should have the
  to_text() calls removed since we're now doing it in ActionBase
* catching of UnicodeError and warnings in the callback diff
  functionality from 61d01f549f haven't been
  needed since we switched to to_text so remove them.
* Add a note to ActionBase's diff function giving an example of when the
  diff function will be inaccurate and how to fix it

* Fix callback get_diff() tests

I believe the unittests of callback's get_diff() were wrong.  They were
sending in a list where strings were expected.  Because previous code
was transforming the lists into strings via their repr, the previous
tests did not fail but they would have formatted the test cases output
in an odd way if we had looked at it.
(cherry picked from commit 95e77ac)

Co-authored-by: Matt Martz <matt@sivel.net>
2019-01-09 14:47:42 -08:00
.github (Backport) ec2_instance, ebs_optimized not sub-option of network (#48467) 2018-11-12 19:23:31 -08:00
bin [2.7] Don't fail if a remote_addr with a '/' hits ansible_connection (#49781) (#50037) 2019-01-07 09:32:55 -08:00
changelogs [stable-2.7] Ensure that the src file contents is converted to unicode in diff info (#45744) 2019-01-09 14:47:42 -08:00
contrib Misc typo fixes (#45969) (#45978) 2018-09-21 13:56:35 -05:00
docs link to KB article -certified modules (#50050) (#50052) 2018-12-18 12:16:30 -06:00
examples Add 'auto' to documented default enabled inventory plugins (#46621) (#46637) 2018-10-08 15:22:03 -05:00
hacking Make ansible-test available in the bin directory. (#45876) 2018-10-09 18:25:24 -07:00
lib/ansible [stable-2.7] Ensure that the src file contents is converted to unicode in diff info (#45744) 2019-01-09 14:47:42 -08:00
licenses
packaging [stable-2.7] Fix the changelog links to porting guide to be anonymous 2018-11-15 13:43:13 -08:00
test [stable-2.7] Ensure that the src file contents is converted to unicode in diff info (#45744) 2019-01-09 14:47:42 -08:00
.cherry_picker.toml 🚸 🐍 🍒 ⛏ Integrate cherry picker (#41403) 2018-07-12 19:34:02 +03:00
.coveragerc AnsiballZ improvements 2018-07-26 20:07:25 -07:00
.gitattributes
.gitignore removes docs/api dir from .gitignore and Makefile (#47366) 2018-11-05 15:10:52 -08:00
.mailmap
CODING_GUIDELINES.md [stable-2.7] bulk docs update (#47828) 2018-10-30 14:45:41 -05:00
COPYING
docsite_requirements.txt
Makefile removes docs/api dir from .gitignore and Makefile (#47366) 2018-11-05 15:10:52 -08:00
MANIFEST.in powershell - add bootstrap wrapper to packaging manifest 2018-11-30 08:48:24 -08:00
MODULE_GUIDELINES.md [stable-2.7] bulk docs update (#47828) 2018-10-30 14:45:41 -05:00
README.rst [stable-2.7] bulk docs update (#47828) 2018-10-30 14:45:41 -05:00
requirements.txt
setup.py powershell - add bootstrap wrapper to packaging manifest 2018-11-30 08:48:24 -08:00
shippable.yml ansible-test - swap Fedora 25 for 29 (#49634) 2018-12-10 10:11:18 -08:00
tox.ini Fix ansible-test unit test execution. (#45772) 2018-10-09 18:25:24 -07:00

|PyPI version| |Docs badge| |Chat badge| |Build Status|

*******
Ansible
*******

Ansible is a radically simple IT automation system. It handles
configuration-management, application deployment, cloud provisioning,
ad-hoc task-execution, and multinode orchestration -- including
trivializing things like zero-downtime rolling updates with load
balancers.

Read the documentation and more at https://ansible.com/

You can find installation instructions
`here <https://docs.ansible.com/ansible/latest/installation_guide/intro_installation.html>`_ for a
variety of platforms.

Most users should probably install a released version of Ansible from ``pip``, a package manager or
our `release repository <https://releases.ansible.com/ansible/>`_. `Officially supported
<https://www.ansible.com/ansible-engine>`_ builds of Ansible are also available. Some power users
run directly from the development branch - while significant efforts are made to ensure that
``devel`` is reasonably stable, you're more likely to encounter breaking changes when running
Ansible this way.

Design Principles
=================

*  Have a dead simple setup process and a minimal learning curve.
*  Manage machines very quickly and in parallel.
*  Avoid custom-agents and additional open ports, be agentless by
   leveraging the existing SSH daemon.
*  Describe infrastructure in a language that is both machine and human
   friendly.
*  Focus on security and easy auditability/review/rewriting of content.
*  Manage new remote machines instantly, without bootstrapping any
   software.
*  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 `Community
   Information <https://docs.ansible.com/ansible/latest/community>`_ 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 to the ``devel`` branch.
*  Feel free to talk to us before making larger changes
   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.
*  Users list:
   `ansible-project <https://groups.google.com/group/ansible-project>`_
*  Development list:
   `ansible-devel <https://groups.google.com/group/ansible-devel>`_
*  Announcement list:
   `ansible-announce <https://groups.google.com/group/ansible-announce>`_
   -- read only
*  irc.freenode.net: #ansible
*  For the full list of Email Lists, IRC channels see the
   `Communication page <https://docs.ansible.com/ansible/latest/community/communication.html>`_

Branch Info
===========

*  Releases are named after Led Zeppelin songs. (Releases prior to 2.0
   were named after Van Halen songs.)
*  The ``devel`` branch corresponds to the release actively under
   development.
*  The ``stable-2.x`` branches exist for current releases.
*  Various release-X.Y branches exist for previous releases.
*  For information about the active branches see the
   `Ansible release and maintenance <https://docs.ansible.com/ansible/latest/reference_appendices/release_and_maintenance.html>`_ page.
*  We'd love to have your contributions, read the `Community
   Guide <https://docs.ansible.com/ansible/latest/community>`_ for notes on
   how to get started.

Roadmap
=======

Based on team and community feedback, an initial roadmap will be published for a major or minor version (ex: 2.0, 2.1).
Subminor versions will generally not have roadmaps published.

The `Ansible Roadmap page <https://docs.ansible.com/ansible/devel/roadmap/>`_ details what is planned and how to influence the roadmap.

Authors
=======

Ansible was created by `Michael DeHaan <https://github.com/mpdehaan>`_
(michael.dehaan/gmail/com) and has contributions from over 3700 users
(and growing). Thanks everyone!

`Ansible <https://www.ansible.com>`_ is sponsored by `Red Hat, Inc.
<https://www.redhat.com>`_

License
=======

GNU General Public License v3.0

See `COPYING <COPYING>`_ to see the full text.

.. |PyPI version| image:: https://img.shields.io/pypi/v/ansible.svg
   :target: https://pypi.org/project/ansible
.. |Docs badge| image:: https://img.shields.io/badge/docs-latest-brightgreen.svg
   :target: https://docs.ansible.com/ansible/latest/
.. |Build Status| image:: https://api.shippable.com/projects/573f79d02a8192902e20e34b/badge?branch=devel
   :target: https://app.shippable.com/projects/573f79d02a8192902e20e34b
.. |Chat badge| image:: https://img.shields.io/badge/chat-IRC-brightgreen.svg
   :target: https://docs.ansible.com/ansible/latest/community/communication.html