mirror of
https://github.com/ansible-collections/community.general.git
synced 2025-10-21 11:34:15 -07:00
Docs updates
This commit is contained in:
parent
89a00e6385
commit
12fd193450
40 changed files with 1857 additions and 1495 deletions
114
rst/index.rst
114
rst/index.rst
|
@ -5,102 +5,48 @@
|
|||
Ansible
|
||||
=======
|
||||
|
||||
Ansible is a extra-simple tool/API for doing 'parallel remote things'
|
||||
over SSH -- whether executing commands, running "modules", or
|
||||
executing larger 'playbooks' that can serve as a configuration
|
||||
management or deployment system.
|
||||
Ansible is a radically simple deployment, configuration, and command execution framework.
|
||||
Other tools in this space have been too complicated for too long, require too much bootstrapping,
|
||||
and have too much learning curve. Ansible is dead simple and painless to extend. For comparison, Puppet and Chef have about 60k lines of code. Ansible's core is a little over 1000 lines.
|
||||
|
||||
While `Func installation <http://fedorahosted.org/func>`_ which I
|
||||
co-wrote, aspired to avoid using SSH and have it's own daemon
|
||||
infrastructure, Ansible aspires to be quite different and more
|
||||
minimal, but still able to grow more modularly over time. This is
|
||||
based on talking to a lot of users of various tools and wishing to
|
||||
eliminate problems with connectivity and long running daemons, or not
|
||||
picking tool `X` because they preferred to code in `Y`. Further,
|
||||
playbooks take things a whole step further, building the config and
|
||||
deployment system I always wanted to build.
|
||||
Ansible isn't just for configuration -- it's also great for Ad-Hoc tasks,
|
||||
quickly firing off commands against nodes. Where Ansible excels though, is expressing complex multi-node deployment processes, executing complex sequences of commands on different hosts through the "playbooks" feature.
|
||||
|
||||
Why use Ansible versus something else? (Fabric, Capistrano,
|
||||
Ansible does not require programming in any particular language -- you can write modules
|
||||
as scripts or programs that return simple JSON.
|
||||
|
||||
Why use Ansible versus something else? (Puppet, Chef, Fabric, Capistrano,
|
||||
mCollective, Func, SaltStack, etc?) It will have far less code, it
|
||||
will be more correct, and it will be the easiest thing to hack on and
|
||||
use you'll ever see -- regardless of your favorite language of choice.
|
||||
Want to only code plugins in bash or clojure? Ansible doesn't care.
|
||||
The docs will fit on one page and the source will be blindingly
|
||||
obvious.
|
||||
Systems management doesn't have to be complicated. Ansible's docs will remain
|
||||
short & simple, and the source will be blindingly obvious.
|
||||
|
||||
|
||||
Design Principles
|
||||
`````````````````
|
||||
Design Goals
|
||||
````````````
|
||||
|
||||
* Dead simple setup
|
||||
* Super fast & parallel by default
|
||||
* No server or client daemons; use existing SSHd
|
||||
* No server or client daemons; use existing SSHd out of the box
|
||||
* No additional software required on client boxes
|
||||
* Modules can be written in ANY language
|
||||
* Awesome API for creating very powerful distributed scripts
|
||||
* Be usable as non-root
|
||||
* Create the easiest config management system to use, ever.
|
||||
|
||||
About the Author
|
||||
````````````````
|
||||
|
||||
Requirements
|
||||
````````````
|
||||
Michael DeHaan is a Raleigh, NC based software developer and architect. He created other
|
||||
DevOps programs such as Cobbler, the popular Linux install server.
|
||||
Cobbler is used to deploy mission critical systems all over the planet, in industries
|
||||
ranging from massively multiplayer gaming, core internet infrastructure, finance,
|
||||
chip design, and more. Michael also helped co-author of Func, which is used
|
||||
to orchestrate systems in lots of diverse places.
|
||||
|
||||
Requirements are extremely minimal.
|
||||
|
||||
If you are running python 2.6 on the **overlord** machine, you will
|
||||
need:
|
||||
|
||||
* ``paramiko``
|
||||
* ``PyYAML``
|
||||
* ``python-jinja2`` (for playbooks)
|
||||
* ``Asciidoc`` (for building documentation)
|
||||
|
||||
If you are running less than Python 2.6, you will also need:
|
||||
|
||||
* The Python 2.4 or 2.5 backport of the ``multiprocessing`` module
|
||||
|
||||
- `Installation and Testing Instructions <http://code.google.com/p/python-multiprocessing/wiki/Install>`_
|
||||
|
||||
* ``simplejson``
|
||||
|
||||
On the managed nodes, to use templating, you will need:
|
||||
|
||||
* ``python-jinja2`` (you can install this with ansible)
|
||||
|
||||
|
||||
Getting Ansible
|
||||
```````````````
|
||||
|
||||
Tagged releases are available as tar.gz files from the Ansible github
|
||||
project page:
|
||||
|
||||
* `Ansible/downloads <https://github.com/ansible/ansible/downloads>`_
|
||||
|
||||
You can also clone the git repository yourself and install Ansible in
|
||||
one of two ways:
|
||||
|
||||
|
||||
Python Distutils
|
||||
++++++++++++++++
|
||||
|
||||
You can install Ansible using Python Distutils::
|
||||
|
||||
$ git clone git://github.com/ansible/ansible.git
|
||||
$ cd ./ansible
|
||||
$ sudo make install
|
||||
|
||||
|
||||
Via RPM
|
||||
+++++++
|
||||
|
||||
In the future, pre-built RPMs may be available. Until that time you
|
||||
can use the ``make rpm`` command::
|
||||
|
||||
$ git clone git://github.com/ansible/ansible.git
|
||||
$ cd ./ansible
|
||||
$ make rpm
|
||||
$ sudo rpm -Uvh ~/rpmbuild/RPMS/noarch/ansible-1.0-1.noarch.rpm
|
||||
|
||||
Ansible is an GPLv3 licensed open source project, so see the contributions section for how to
|
||||
get involved.
|
||||
|
||||
Contents
|
||||
========
|
||||
|
@ -109,21 +55,11 @@ Contents
|
|||
:maxdepth: 3
|
||||
|
||||
gettingstarted
|
||||
YAMLScripts
|
||||
patterns
|
||||
modules
|
||||
YAMLScripts
|
||||
playbooks
|
||||
examples
|
||||
api
|
||||
communicate
|
||||
man
|
||||
|
||||
|
||||
Communicate or Get Involved
|
||||
===========================
|
||||
|
||||
* Join the `ansible-project mailing list <http://groups.google.com/group/ansible-project>`_ on Google Groups
|
||||
* Join `#ansible <irc://irc.freenode.net/#ansible>`_ on the `freenode IRC network <http://freenode.net/>`_
|
||||
* Visit the `project page <https://github.com/ansible/ansible>`_ on Github
|
||||
|
||||
- View the `issue tracker <https://github.com/ansible/ansible/issues>`_
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue