Ansible playbooks for charlesreid1.com infrastructure. https://charlesreid1-docker.github.io/charlesreid1-ansible
Charles Reid 35615d2c06 fixing filename extension 2 days ago
docs update documentation with fixes 1 week ago
group_vars/all use variables to set IP addresses of pod servers 1 week ago
mkdocs-material @ b0c6890853 add mkdocs-material submodule 4 months ago
roles fixing filename extension 2 days ago
.gitignore ignore .retry files 4 months ago
.gitmodules add mkdocs-material submodule 4 months ago
LICENSE add mit license 5 months ago
Readme.md update readme 3 months ago
Vagrantfile add support files for vagrant boxes 5 months ago
base.yml update all tags, and tags documentation 4 months ago
do.cfg letsencrypt still broken... snakeoil certs problem... 4 months ago
dohosts new host who dis 4 months ago
linode.cfg add linode hosts file and config file 2 days ago
linodehosts add linode hosts file and config file 2 days ago
mkdocs.yml add ansible cowsay page to docs 4 months ago
podcharlesreid1.yml update variable name in pod-charlesreid1 playbook 1 week ago
podwebhooks.yml update server_name_default variable name in pod-webhooks playbook 1 week ago
provision.yml add bunch of fixes, working pod-charlesreid1 on DO 4 months ago
vagrant.cfg letsencrypt still broken... snakeoil certs problem... 4 months ago
vagranthosts [WORKING ON VAGRANT] Update and fix all roles 5 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.