Merge branch 'master' of github.com:mpdehaan/ansible

pull/3/head
Michael DeHaan 12 years ago
commit 4a3a5fb685

@ -24,28 +24,28 @@ and the source will be blindingly obvious.
Design Principles
=================
* Dead simple setup
* Super fast & parallel by default
* No server or client daemons; use existing SSHd
* 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.
* Dead simple setup
* Super fast & parallel by default
* No server or client daemons; use existing SSHd
* 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.
Requirements
============
For the server the tool is running from, *only*:
* paramiko
* python 2.6 (or the 2.4/2.5 backport of the multiprocessing module)
* PyYAML (only if using playbooks)
* paramiko
* python 2.6 (or the 2.4/2.5 backport of the multiprocessing module)
* PyYAML (only if using playbooks)
Optional -- If you want to push templates, the nodes need a template library,
which for bonus points you can install with ansible! Easy enough.
* python-jinja2
* python-jinja2
Inventory file
==============
@ -67,9 +67,9 @@ Massive Parallelism, Pattern Matching, and a Usage Example
Reboot all web servers in Atlanta, 10 at a time:
* ssh-agent bash
* ssh-add ~/.ssh/id_rsa.pub
* ansible -p "atlanta-web*" -f 10 -n command -a "/sbin/reboot"
ssh-agent bash
ssh-add ~/.ssh/id_rsa.pub
ansible -p "atlanta-web*" -f 10 -n command -a "/sbin/reboot"
Other than the comamnd module, though, ansible modules are not scripts. They make
the remote system look like you state, and run the commands neccessary to get it
@ -80,7 +80,7 @@ File Transfer
Ansible can SCP lots of files to lots of places in parallel.
* ansible -p "web-*.acme.net" -f 10 -n copy -a "/etc/hosts /tmp/hosts"
ansible -p "web-*.acme.net" -f 10 -n copy -a "/etc/hosts /tmp/hosts"
Templating
==========
@ -88,9 +88,9 @@ Templating
JSON files can be placed for template metadata using Jinja2. Variables
placed by 'setup' can be reused between ansible runs.
* ansible -p "*" -n setup -a "ntp_server=192.168.1.1"
* ansible -p "*" -n template /srv/motd.j2 /etc/motd
* ansible -p "*" -n template /srv/foo.j2 /etc/foo
ansible -p "*" -n setup -a "favcolor=red ntp_server=192.168.1.1"
ansible -p "*" -n template /srv/motd.j2 /etc/motd
ansible -p "*" -n template /srv/ntp.j2 /etc/ntp.conf
Very soon, templates will be able to also include facter and ohai
variables.
@ -100,7 +100,7 @@ Git Deployments
Deploy your webapp straight from git
* ansible -p "web*" -n git -a "repo=git://foo dest=/srv/myapp version=HEAD"
ansible -p "web*" -n git -a "repo=git://foo dest=/srv/myapp version=HEAD"
Take Inventory
==============
@ -108,8 +108,8 @@ Take Inventory
Run popular open-source data discovery tools across a wide number of hosts.
This is best used from API scripts that want to learn about remote systems.
* ansible -p "dbserver*" -n facter
* ansible -p "dbserver"" -n ohai
ansible -p "dbserver*" -n facter
ansible -p "dbserver"" -n ohai
Other Modules
=============
@ -126,29 +126,29 @@ together, and can even fire off triggers when certain commands report changes.
They are the basis for a really simple configuration management system, unlike
any that already exist. Powerful, concise, but dead simple.
See examples/playbook.yml for what the syntax looks like.
See examples/playbook.yml for what the syntax looks like, and the manpage -- ansible-playbook(5) for more details.
To run a playbook:
ansible -r playbook.yml
ansible -r playbook.yml
Read ansible-playbook(5) for more details.
Future plans
============
* see github's issue tracker for what we're thinking about
See github's issue tracker for what we're thinking about
License
=======
* MIT
MIT
Mailing List
============
* Join the mailing list to talk about Ansible!
* [ansible-project](http://groups.google.com/group/ansible-project)
Join the mailing list to talk about Ansible!
[ansible-project](http://groups.google.com/group/ansible-project)
Author
======

Loading…
Cancel
Save