Ansible playbooks for charlesreid1.com infrastructure. https://charlesreid1-docker.github.io/charlesreid1-ansible
Charles Reid 2cdda89d56 fix d-nginx-charlesreid1 config installation 3 weeks ago
docs update readme/index 4 weeks ago
group_vars/all update vault secret 3 weeks ago
mkdocs-material @ b0c6890853 add mkdocs-material submodule 1 month ago
roles fix d-nginx-charlesreid1 config installation 3 weeks ago
.gitignore ignore .retry files 1 month ago
.gitmodules add mkdocs-material submodule 1 month ago
LICENSE add mit license 2 months ago
Readme.md update readme 4 weeks ago
Vagrantfile add support files for vagrant boxes 2 months ago
base.yml update all tags, and tags documentation 1 month ago
do.cfg letsencrypt still broken... snakeoil certs problem... 1 month ago
dohosts new host who dis 1 month ago
mkdocs.yml add ansible cowsay page to docs 1 month ago
podcharlesreid1.yml update pod-charlesreid1 3 weeks ago
provision.yml add bunch of fixes, working pod-charlesreid1 on DO 1 month ago
vagrant.cfg letsencrypt still broken... snakeoil certs problem... 1 month ago
vagranthosts [WORKING ON VAGRANT] Update and fix all roles 2 months ago

Readme.md

charlesreid1-ansible

Ansible playbooks for charlesreid1.com infrastructure.

Table of Contents

Docker Pods

These docker pods are collections of related charlesreid1.com services. The Ansible playbooks prepare remote nodes so they are ready to run these docker pods.

Pod Link
pod-charlesreid1 https://git.charlesreid1.com/docker/pod-charlesreid1
pod-webhooks https://git.charlesreid1.com/docker/pod-webhooks
pod-bots https://git.charlesreid1.com/docker/pod-bots

Playbooks

There is one playbook per docker pod, plus a base playbook and a provision playbook.

Playbook Description
podcharlesreid1.yml Playbook to install and run the charlesreid1.com docker pod (https://git.charlesreid1.com/docker/pod-charlesreid1)
podwebhooks.yml (TBA) Playbook to install and run the webhooks pod (https://git.charlesreid1.com/docker/pod-webhooks)
podbots.yml (TBA) Playbook to install and run the bot pod (https://git.charlesreid1.com/docker/pod-bots)
base.yml Base playbook run by all of the pod playbooks above.
provision.yml Playbook to provision new Ubuntu machines with /usr/bin/python.

Roles

Base Playbook Roles

The following roles carry out groups of tasks for setting up the base machine to run charlesreid1.com infrastructure.

Role Name Description
init-root Prepare root user account
init-nonroot Prepare nonroot user account(s)
install-stuff Install stuff with aptitude
pyenv Install pyenv for nonroot user
goenv Install goenv for nonroot user
sshkeys Set up ssh keys for all users
vim Set up vim for nonroot user
dotfiles Install and configure dotfiles for nonroot user

Pod-Specific Roles

The following roles are run by playbooks specific to the respective docker pod.

Role Name Description
pod-charlesreid1 Role specific to the charlesreid1.com docker pod
pod-webhooks Role specific to {hooks,pages}.charlesreid1.com docker pod
pod-bots Role specific to bots docker pod

Getting Started with Playbooks

Documentation Page Description
docs/index.md Documentation index
docs/quickstart.md Quick start for the impatient (uses Vagrant)
docs/ansible_do.md Guide for running charlesreid1.com playbooks on Digital Ocean
docs/ansible_vagrant.md Guide for running charlesreid1.com playbooks on Vagrant

See docs/ansible_playbooks.md for a list of all playbooks in this directory and how to run them, as well as a list of all tags.