A role for deploying and configuring $ROLE and extensions on unix hosts using Ansible.
It can additionally be used as a playbook for quickly provisioning hosts.
Vagrant machines are provided to produce a boxed install of $ROLE or a VM for integration testing.
Supported $ROLE versions:
- $ROLE 1.0
- ...
Supported targets:
- Ubuntu 12.04 "Precise Pangolin"
- ...
Installation methods:
- Binary packages from the official repositories at $application
- Official sources from $application
Available extensions (under a switch):
- Extension -
$role_extension
- ...
Callable tasks:
task
: ...
Clone this repo into your roles directory:
$ git clone https://github.com/$user/ansible-$role.git roles/$role
And add it to your play's roles:
- hosts: ...
roles:
- $role
- ...
This roles comes preloaded with almost every available default. You can override each one in your hosts/group vars, in your inventory, or in your play. See the annotated defaults in defaults/main.yml
for help in configuration. All provided variables start with $role_
.
You can also use the role as a playbook. You will be asked which hosts to provision, and you can further configure the play by using --extra-vars
.
$ ansible-playbook -i inventory --extra-vars='{...}' main.yml
To provision a standalone $ROLE box, start the boxed
VM, which is a Ubuntu 12.04 box:
$ vagrant up boxed
You will find $ROLE listening on the VM's $port
port on address 192.168.33.20
in the private network. You can then connect to it as any user. Please note that this is highly insecure, so if you're going to publish this VM you'll want to provide actual authentication.
Run the tests by provisioning the appropriate VM:
$ vagrant up test-ubuntu-precise
At the moment, ubuntu-precise
is the only test VM available.
- Write the role itself, for one
Initial version.