ansible/docsite/rst/contrib.rst

135 lines
5.3 KiB
ReStructuredText
Raw Normal View History

Ansible Resources
=================
User contributed playbooks, modules, and articles. This is a small
curated list, but growing. Everyone is encouraged to add to this
document, just send in a pull request!
Ansible Modules
===============
Ansible modules are a way of adding new client-side logic to ansible.
They can be written in any language.
- `Official "core" ansible
modules <http://ansible.cc/docs/modules.html>`_ - various
- `mercurial <https://github.com/bradobro/ansible-module-mercurial>`_ -
bradobro
- `zypper (bash module
example) <https://github.com/jpmens/ansible-zypp>`_ - jp\_mens
- `homebrew <https://gist.github.com/3170079>`_ - swehack
- `network\_facts <https://github.com/dagwieers/ansible-network-facts>`_
- dagwieers
- `vsphere\_boot <https://github.com/dagwieers/ansible-vsphere-boot>`_
- dagwieers
Python modules using 0.6 and later can use the common "AnsibleModule"
class to dramatically reduce the amount of boilerplate code required.
Not all modules above yet take advantage of this feature. See the
official documentation for more details.
Selected Playbooks
==================
`Playbooks <http://ansible.cc/docs/playbooks.html>`_ are Ansible's
configuration management language. It should be easy to write your own
from scratch for most applications, but it's always helpful to look at
what others have done for reference.
- `Hadoop <https://github.com/jkleint/ansible-hadoop>`_ - jkleint
- `LAMP <https://github.com/fourkitchens/server-playbooks>`_ - `Four
Kitchens <http://fourkitchens.com>`_
- `Ganglia (demo) <https://github.com/mpdehaan/ansible-examples>`_ -
mpdehaan
- `Nginx <http://www.capsunlock.net/2012/04/ansible-nginx-playbook.html>`_
- cocoy
- `OpenStack <http://github.com/lorin/openstack-ansible>`_ - lorin
- `Systems
Configuration <https://github.com/cegeddin/ansible-contrib>`_ -
cegeddin
- `Fedora
Infrastructure <http://infrastructure.fedoraproject.org/cgit/ansible.git/tree/>`_
- `Fedora <http://fedoraproject.org>`_
Callbacks and Plugins
=====================
The Ansible project has a whole repo devoted to extending ansible with
new connection types, logging/event callbacks, and inventory data
storage. Talk to Cobbler and EC2, tweak the way things are logged, or
even add sound effects.
- `Ansible-Plugins <https://github.com/ansible/ansible/tree/devel/plugins>`_
Scripts And Misc
================
Ansible isn't just a program, it's also an API. Here's some examples of
some clever integrations with the "Runner" and also Playbook APIs, and
integrations with other interesting pieces of software.
- `Ansible Vagrant
plugin <https://github.com/dsander/vagrant-ansible>`_ - dsander
- `Ansible+Vagrant
Tutorial <https://github.com/mattupstate/vagrant-ansible-tutorial>`_
- mattupstate -
- `virt-install <http://fedorapeople.org/cgit/skvidal/public_git/scripts.git/tree/ansible/start-prov-boot.py>`_
- skvidal
- `rebooting
hosts <http://fedorapeople.org/cgit/skvidal/public_git/scripts.git/tree/ansible/host-reboot>`_
- skvidal
- `uptime (API
demo) <https://github.com/ansible/ansible/blob/devel/examples/scripts/uptime.py>`_
- mpdehaan
Blogs & Articles
================
- `HighScalability.com <http://highscalability.com/blog/2012/4/18/ansible-a-simple-model-driven-configuration-management-and-c.html>`_
- mpdehaan
- `ColoAndCloud.com
interview <http://www.coloandcloud.com/editorial/an-interview-with-ansible-author-michael-dehaan/>`_
- mpdehaan
- `dzone <http://server.dzone.com/articles/ansible-cm-deployment-and-ad>`_
- Mitch Pronschinske
- `Configuration Management With
Ansible <http://jpmens.net/2012/06/06/configuration-management-with-ansible/>`_
- jp\_mens
- `Shell Scripts As Ansible
Modules <http://jpmens.net/2012/07/05/shell-scripts-as-ansible-modules/>`_
- jp\_mens
- `Ansible Facts <http://jpmens.net/2012/07/15/ansible-it-s-a-fact/>`_
- jp\_mens
- `Infrastructure as
Data <http://www.capsunlock.net/2012/04/ansible-infrastructure-as-data-not-infrastructure-as-code.html>`_
- cocoy
- `Ansible Pull
Mode <http://www.capsunlock.net/2012/05/using-ansible-pull-and-user-data-to-setup-ec2-or-openstack-servers.html>`_
- cocoy
- `Exploring Configuration Management With
Ansible <http://palominodb.com/blog/2012/08/01/exploring-configuration-management-ansible>`_
- Palamino DB
- `You Should Consider Using SSH Based Configuration
Management <http://www.lshift.net/blog/2012/07/30/you-should-consider-using-ssh-based-configuration-management>`_
- LShift Ltd
- `Deploying Flask/uWSGI, Nginx, and
Supervisorctl <http://mattupstate.github.com/python/devops/2012/08/07/flask-wsgi-application-deployment-with-ubuntu-ansible-nginx-supervisor-and-uwsgi.html>`_
- mattupstate
- `Infracoders
Presentation <http://www.danielhall.me/2012/10/ansible-talk-infra-coders/>`_
- Daniel Hall
Disclaimer
==========
Modules and playbooks here may not be using the latest in Ansible
features. When in doubt to the features of a particular version of
Ansbile, always consult `ansible.cc <http://ansible.cc>`_ and in
particular see `Best
Practices <http://ansible.cc/docs/bestpractices.html>`_ for some tips
and tricks that may be useful.
Ansible is (C) 2012, `Michael DeHaan <http://twitter.com/laserllama>`_
and others and is available under the GPLv3 license. Content here is as
specified by individual contributors.