Added a dry run and fixed a lot of things

This commit is contained in:
2017-10-11 20:01:32 -04:00
parent 3a94e3faef
commit 37bdbae2df
7 changed files with 94 additions and 63 deletions

View File

@@ -3,7 +3,9 @@
docker_compose_version_to_install: 1.14.0
docker_ce_version_to_install: 17.06.0~ce-0~ubuntu
registry_location: registry.wimer.local:5000
nvm_version: v0.33.5
node_version: 8.4.0
registry_location: "registry.wimer.local:5000"
nfs_location: 10.0.0.150
home_pub_key: https://raw.githubusercontent.com/jcwimer/ubuntu-template/master/post/id_rsa.pub
standard_user: cody

13
hosts
View File

@@ -1,2 +1,13 @@
#[standard]
#wiki.wimer.local
#swarm-manager-01.wimer.local
#swarm-manager-02.wimer.local
#swarm-manager-03.wimer.local
#registry.wimer.local
#wrestlingdev-test.wimer.local
#elk.wimer.local
#guacamole.wimer.local
#fileserver.wimer.local
[developer-machines]
codydev
codydev ansible_host=10.0.0.207

View File

@@ -1,11 +1,10 @@
---
# This playbook contains plays that will run on all nodes
- name: Get docker key
apt-key:
- name: Add docker key
apt_key:
url: https://download.docker.com/linux/ubuntu/gpg
state: present
# shell: curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add -
- name: Add docker repo
apt_repository:
@@ -18,7 +17,7 @@
#- name: Upgrade APT to the lastest packages
# apt: upgrade=dist
- name: Install standard programes
- name: Install standard programs
apt: name={{ item }} state=present force=yes
with_items:
- htop
@@ -39,51 +38,39 @@
- dnsutils
- nmon
- build-essential
- linux-headers-server
- tmux
- name: Add standard_user to docker group
user:
name: {{ standard_user }}
name: "{{ standard_user }}"
groups: docker
append: yes
- name: Set authorized key took from url
become: yes
become_user: {{ standard_user }}
become_user: "{{ standard_user }}"
authorized_key:
user: {{ standard_user }}
user: "{{ standard_user }}"
state: present
key: {{ home_pub_key }}
key: "{{ home_pub_key }}"
- git_config:
name: user.name
value: 'Jacob {{ standard_user }} Wimer'
become: yes
become_user: {{ standard_user }}
name: user.name
scope: local
value: 'Jacob {{ standard_user }} Wimer'
become_user: "{{ standard_user }}"
- git_config:
name: user.email
value: 'jacob.wimer@gmail.com'
become: yes
become_user: {{ standard_user }}
name: user.email
scope: local
value: 'jacob.wimer@gmail.com'
become_user: "{{ standard_user }}"
- name: Docker compose version
shell: docker-compose --version
register: docker_compose_version
failed_when: "docker_compose_version.rc ==2 or docker_compose_version.rc == 3"
- name: Get docker compose
shell: curl -L https://github.com/docker/compose/releases/download/{{docker_compose_version_to_install}}/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
when: >-
docker_compose_version.stdout != "docker-compose version: {{docker_compose_version_to_install}}"
- name: Link docker compose
shell: chmod +x /usr/local/bin/docker-compose
when: >-
docker_compose_version.stdout != "docker-compose version: {{docker_compose_version_to_install}}"
get_url:
url: https://github.com/docker/compose/releases/download/{{docker_compose_version_to_install}}/docker-compose-`uname -s`-`uname -m`
dest: /usr/local/bin/docker-compose
mode: 755
- name: Set timezone to NewYork
timezone:
@@ -94,11 +81,13 @@
- name: Replace docker daemon file
template: src=../roles/common/templates/docker-daemon.json.j2 dest=/etc/docker/daemon.json
register: docker-daemon
register: dockerdaemon
- name: Restart docker service
shell: service docker restart
when: docker-daemon.changed
- name: Restart docker if daemon changes
service:
name: docker
state: restarted
when: dockerdaemon.changed
- name: Creates directory
file: path=/data state=directory
@@ -114,6 +103,7 @@
path: /data
src: 10.0.0.150:/volumeUSB1/usbshare/raw-files/fileserver/shares/lab-data
state: present
fstype: nfs
- name: test for swap partition
shell: swapon -s | grep -E "^/"

View File

@@ -1,3 +1,3 @@
{
"insecure-registries" : ["{{ regitstry_location }}"]
"insecure-registries" : ["{{ registry_location }}"]
}

View File

@@ -9,24 +9,41 @@
shell: gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
when: not rvm_installed.stat.exists
become: true
become_user: {{ standard_user }}
become_user: "{{ standard_user }}"
- name: Install rvm and latest ruby
shell: \curl -sSL https://get.rvm.io | bash -s stable
when: not rvm_installed.stat.exists
become: true
become_user: {{ standard_user }}
become_user: "{{ standard_user }}"
- name: Is heroku installed
shell: which heroku
register: heroku_installed
failed_when: "heroku_installed.rc == 2 or heroku_installed.rc == 3"
- name: install heroku apt key
apt_key: url='https://toolbelt.heroku.com/apt/release.key' state=present
- name: Install heroku toolbelt
shell: wget -O- https://toolbelt.heroku.com/install-ubuntu.sh | sh
when: heroku_installed.stdout == ""
- name: install heroku apt repo
apt_repository: >
repo='deb http://toolbelt.heroku.com/ubuntu ./'
state=present
update_cache=yes
- name: Add docker repo
- name: install heroku-toolbelt
apt: name=heroku-toolbelt state=present
- name: Install nvm
become: yes
become_user: "{{ standard_user }}"
shell: >
curl https://raw.githubusercontent.com/creationix/nvm/{{ nvm_version }}/install.sh | sh
creates=/home/{{ standard_user }}/.nvm/nvm.sh
- name: Install node and set version
become: yes
become_user: "{{ standard_user }}"
shell: >
/bin/bash -c "source ~/.nvm/nvm.sh && nvm install {{ node_version }} && nvm alias default {{ node_version }}"
creates=/home/{{ standard_user }}/.nvm/alias
- name: Add tmate repo
apt_repository:
repo: 'ppa:tmate.io/archive'
state: present
@@ -39,40 +56,35 @@
with_items:
- xrdp
- tmate
- nodejs
- npm
- name: Install localtunnel
npm:
name: localtunnel
global: yes
- name: Create vim autoload directory
file: path=/home/{{ standard_user }}/.vim/autoload state=directory
become: yes
become_user: {{ standard_user }}
become_user: "{{ standard_user }}"
- name: Create vim bundle directory
file: path=/home/{{ standard_user }}/.vim/bundle state=directory
become: yes
become_user: {{ standard_user }}
become_user: "{{ standard_user }}"
- name: Install pathogen
become: yes
become_user: {{ standard_user }}
git: repo=https://github.com/tpope/vim-pathogen.git
dest=/home/{{ standard_user }}/.vim/autoload/pathogen.vim
become_user: "{{ standard_user }}"
git:
repo: https://github.com/tpope/vim-pathogen.git
dest: /home/{{ standard_user }}/.vim/autoload/pathogen.vim
- name: Install nerdtree
git: repo=https://github.com/scrooloose/nerdtree.git
dest=/home/{{ standard_user }}/.vim/bundle/nerdtree
git:
repo: https://github.com/scrooloose/nerdtree.git
dest: /home/{{ standard_user }}/.vim/bundle/nerdtree
become: yes
become_user: {{ standard_user }}
become_user: "{{ standard_user }}"
- name: Replace .vimrc
template: src=../roles/developer-machine/templates/vimrc.j2 dest=/home/{{ standard_user }}/.vimrc
become: yes
become_user: {{ standard_user }}
become_user: "{{ standard_user }}"
- name: Creates directory
file: path=/data state=directory
@@ -88,5 +100,12 @@
path: /data
src: 10.0.0.150:/volumeUSB1/usbshare/raw-files
state: present
fstype: nfs
- name: Install localtunnel
npm:
name: localtunnel
global: yes
executable: /home/{{ standard_user }}/.nvm/versions/node/v{{ node_version }}/bin/npm

View File

@@ -0,0 +1,2 @@
#!/bin/bash
ANSIBLE_HOST_KEY_CHECKING=False ansible-playbook -i hosts playbooks/site.yml --check --diff

View File

@@ -0,0 +1,7 @@
#!/bin/bash
sudo apt-get update
sudo apt-get install software-properties-common
sudo apt-add-repository ppa:ansible/ansible
sudo apt-get update
sudo apt-get install ansible