Getting shell set up

This commit is contained in:
2016-01-14 08:46:55 -05:00
parent 64979e15a5
commit 1771165636
8 changed files with 237 additions and 0 deletions

View File

@@ -0,0 +1,71 @@
---
# This playbook contains playhs that will run on all nodes
- name: Update apt
apt: update_cache=yes
- name: Upgrade APT to the lastest packages
apt: upgrade=safe
- name: Install htop
apt: name=htop state=present
- name: Install curl
apt: name=curl state=present
- name: Install openssh-server
apt: name=openssh-server state=present
- name: Install git
apt: name=git state=present
- name: Install tmux
apt: name=tmux state=prsent
- name: Install zip
apt: name=zip state=present
- name: Install unzip
apt: name=unzip state=present
- name: Install fail2ban
apt: name=fail2ban state=present
- name: Install ntp
apt: name=ntp state=present
- name: Install mysql-client
apt: name=mysql-client state=present
- name: Install wget
apt: name=wget state=present
- name: Set git username
shell: git config --global user.name "Jacob Cody Wimer"
- name: Set git email
shell: git config --global user.email "jacob.wimer@gmail.com"
- name: Get docker
shell: curl -sSL https://get.docker.com/ | sh
- name: Get docker compose
shell: curl -L https://github.com/docker/compose/releases/download/1.5.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
- name: Link docker compose
shell: chmod +x /usr/local/bin/docker-compose
- name: Set timezone to NewYork
shell: timedatectl set-timezone America/New_York
- name: Install heroku toolbelt
shell: wget -O- https://toolbelt.heroku.com/install-ubuntu.sh | sh
- name: Create update script
shell: touch /etc/cron.daily/update.sh
- name: Set update script as executable
shell: chmod +x /etc/cron.daily/update.sh
- name: Add update line to update script
shell: echo apt-get update && apt-get upgrade -y && apt-get clean && apt-get autoclean && apt-get autoremove -y && apt-get update >> /etc/cron.daily/update.sh

51
roles/web/tasks/main.yml Normal file
View File

@@ -0,0 +1,51 @@
---
# These tasks are responsible for copying the latest dev/production code from
# # the version control system.
#
- name: Copy the code from repository
git: repo={{ repository }} dest=/var/www/html/
- name: Create prod.env
shell: touch /var/www/html/prod.env
- name: Declare env file
shell: echo export WRESTLINGDEV_ENV_FILE=/var/www/html/prod.env
- name: Set env file permanently
shell: echo export WRESTLINGDEV_ENV_FILE=/var/www/html/prod.env >> /etc/environment
- name: Set DB Name
shell: echo export WRESTLINGDEV_DB_NAME={{ lookup('env', 'WRESTLINGDEV_DB_NAME') }} >> /var/www/html/prod.env
- name: Set db password
shell: echo export WRESTLINGDEV_DB_PWD={{ lookup('env', 'WRESTLINGDEV_DB_PWD') }} >> /var/www/html/prod.env
- name: Set db host
shell: echo export WRESTLINGDEV_DB_HOST={{ lookup('env', 'WRESTLINGDEV_DB_HOST') }} >> /var/www/html/prod.env
- name: Set db port
shell: echo export WRESTLINGDEV_DB_PORT={{ lookup('env', 'WRESTLINGDEV_DB_PORT') }} >> /var/www/html/prod.env
- name: Set devise secret key
shell: echo export WRESTLINGDEV_DEVISE_SECRET_KEY={{ lookup('env', 'WRESTLINGDEV_DEVISE_SECRET_KEY') }} >> /var/www/html/prod.env
- name: Set secret key base
shell: echo export WRESTLINGDEV_SECRET_KEY_BASE={{ lookup('env', 'WRESTLINGDEV_SECRET_KEY_BASE') }} >> /var/www/html/prod.env
- name: Set new relic license
shell: echo export WRESTLINGDEV_NEW_RELIC_LICENSE_KEY={{ lookup('env', 'WRESTLINGDEV_NEW_RELIC_LICENSE_KEY') }} >> /var/www/html/prod.env
- name: Set memcached username
shell: echo export MEMCACHIER_USERNAME={{ lookup('env', 'MEMCACHIER_USERNAME') }} >> /var/www/html/prod.env
- name: Set memcached password
shell: echo export MEMCACHIER_PASSWORD={{ lookup('env', 'MEMCACHIER_PASSWORD') }} >> /var/www/html/prod.env
- name: Set memcached servers
shell: echo export MEMCACHIER_SERVERS={{ lookup('env', 'MEMCACHIER_SERVERS') }} >> /var/www/html/prod.env
- name: Create and start apache docker image
shell: cd /var/www/html/ && bash rails-prod.sh wrestlingdev-web
- name: Create and run delayed job worker
shell: cd /var/www/html/ && bash rails-worker-prod.sh wrestlingdev-worker