Skip to content
/ aspects Public

Aspects aims to provide a set of Ansible roles that will allow you to build a server by only editing the variable files.

Notifications You must be signed in to change notification settings

jerrac/aspects

Repository files navigation

Aspects

What is this?

Aspects is a test and example project for the various aspects_ roles.

A set of vagrant vm's is configured with example configuration.

You should be familiar with the official Ansible documentation at http://docs.ansible.com/ prior to using Aspects.

Roles

Aspects expects all aspects_ roles to live in a configured role_path location. The default is /etc/ansible/roles.

Make sure you clone all needed roles to that path.

To find the roles, search for "aspects_" on the following organization and user accounts:

Setup

Basic Architechture

Aspects has several vm's configured:

  • vm.ubuntu.lab (192.168.88.2) running Ubuntu 12.04.
  • vm.centos.lab (192.168.88.3) running CentOS 6.5.
  • vm.sles.lab (192.168.88.4) running SLES 11 SP1.
  • vm.oracle59.lab (192.168.88.5) running Oracle 5.9.
  • vm.ubuntutrusty.lab (192.168.88.6) running Ubuntu 14.04.
  • vm.wheezy.lab (192.168.88.7) running Debian Wheezy.

See the various group_vars and host_vars files for detailed examples.

Ansible Vault

ansible-vault is a handy tool that lets you encrypt variable files. This is especially handy for avoiding having to enter your sudo password all the time.

For demonstration purposes, I have created the group_vars/all/local.user to tell ansible what user to run as. The file is encrypted with the password password.

I also have stored that password in .vaultpassword.txt.

To view it, just run:

ansible-vault --vault-password-file .vaultpassword.txt view group_vars/all/local.user

To edit, replace view with edit. See ansible docs for more detailed information.

Remember that all vault encrypted files must be encrypted with the same password if they are to be used together.

Running

Run everything

ansible-playbook -i aspects.hosts.ini --ansible-vault-file .vaultpassword.txt aspects.play.all.yml

Run everything on a single host

ansible-playbook -i aspects.hosts.ini --ansible-vault-file .vaultpassword.txt --limit="<hostname from hosts file>" aspects.play.all.yml

Run a specific role on everything

ansible-playbook -i aspects.hosts.ini --ansible-vault-file .vaultpassword.txt --tags="<role name>" aspects.play.all.yml

Run a specific role on a specific host

ansible-playbook -i aspects.hosts.ini --ansible-vault-file .vaultpassword.txt --tags="<role name>" --limit="<hostname from hosts file>" aspects.play.all.yml

Other options

See Ansible's official documentation.

About

Aspects aims to provide a set of Ansible roles that will allow you to build a server by only editing the variable files.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages