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_compose_version_to_install: 1.14.0
docker_ce_version_to_install: 17.06.0~ce-0~ubuntu 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 nfs_location: 10.0.0.150
home_pub_key: https://raw.githubusercontent.com/jcwimer/ubuntu-template/master/post/id_rsa.pub home_pub_key: https://raw.githubusercontent.com/jcwimer/ubuntu-template/master/post/id_rsa.pub
standard_user: cody 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] [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 # This playbook contains plays that will run on all nodes
- name: Get docker key - name: Add docker key
apt-key: apt_key:
url: https://download.docker.com/linux/ubuntu/gpg url: https://download.docker.com/linux/ubuntu/gpg
state: present state: present
# shell: curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add -
- name: Add docker repo - name: Add docker repo
apt_repository: apt_repository:
@@ -18,7 +17,7 @@
#- name: Upgrade APT to the lastest packages #- name: Upgrade APT to the lastest packages
# apt: upgrade=dist # apt: upgrade=dist
- name: Install standard programes - name: Install standard programs
apt: name={{ item }} state=present force=yes apt: name={{ item }} state=present force=yes
with_items: with_items:
- htop - htop
@@ -39,51 +38,39 @@
- dnsutils - dnsutils
- nmon - nmon
- build-essential - build-essential
- linux-headers-server
- tmux - tmux
- name: Add standard_user to docker group - name: Add standard_user to docker group
user: user:
name: {{ standard_user }} name: "{{ standard_user }}"
groups: docker groups: docker
append: yes append: yes
- name: Set authorized key took from url - name: Set authorized key took from url
become: yes become: yes
become_user: {{ standard_user }} become_user: "{{ standard_user }}"
authorized_key: authorized_key:
user: {{ standard_user }} user: "{{ standard_user }}"
state: present state: present
key: {{ home_pub_key }} key: "{{ home_pub_key }}"
- git_config: - git_config:
name: user.name
value: 'Jacob {{ standard_user }} Wimer'
become: yes become: yes
become_user: {{ standard_user }} become_user: "{{ standard_user }}"
name: user.name
scope: local
value: 'Jacob {{ standard_user }} Wimer'
- git_config: - git_config:
name: user.email
value: 'jacob.wimer@gmail.com'
become: yes become: yes
become_user: {{ standard_user }} become_user: "{{ standard_user }}"
name: user.email
scope: local
value: 'jacob.wimer@gmail.com'
- name: Docker compose version - name: Docker compose version
shell: docker-compose --version get_url:
register: docker_compose_version url: https://github.com/docker/compose/releases/download/{{docker_compose_version_to_install}}/docker-compose-`uname -s`-`uname -m`
failed_when: "docker_compose_version.rc ==2 or docker_compose_version.rc == 3" dest: /usr/local/bin/docker-compose
mode: 755
- 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}}"
- name: Set timezone to NewYork - name: Set timezone to NewYork
timezone: timezone:
@@ -94,11 +81,13 @@
- name: Replace docker daemon file - name: Replace docker daemon file
template: src=../roles/common/templates/docker-daemon.json.j2 dest=/etc/docker/daemon.json template: src=../roles/common/templates/docker-daemon.json.j2 dest=/etc/docker/daemon.json
register: docker-daemon register: dockerdaemon
- name: Restart docker service - name: Restart docker if daemon changes
shell: service docker restart service:
when: docker-daemon.changed name: docker
state: restarted
when: dockerdaemon.changed
- name: Creates directory - name: Creates directory
file: path=/data state=directory file: path=/data state=directory
@@ -114,6 +103,7 @@
path: /data path: /data
src: 10.0.0.150:/volumeUSB1/usbshare/raw-files/fileserver/shares/lab-data src: 10.0.0.150:/volumeUSB1/usbshare/raw-files/fileserver/shares/lab-data
state: present state: present
fstype: nfs
- name: test for swap partition - name: test for swap partition
shell: swapon -s | grep -E "^/" 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 shell: gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
when: not rvm_installed.stat.exists when: not rvm_installed.stat.exists
become: true become: true
become_user: {{ standard_user }} become_user: "{{ standard_user }}"
- name: Install rvm and latest ruby - name: Install rvm and latest ruby
shell: \curl -sSL https://get.rvm.io | bash -s stable shell: \curl -sSL https://get.rvm.io | bash -s stable
when: not rvm_installed.stat.exists when: not rvm_installed.stat.exists
become: true become: true
become_user: {{ standard_user }} become_user: "{{ standard_user }}"
- name: Is heroku installed - name: install heroku apt key
shell: which heroku apt_key: url='https://toolbelt.heroku.com/apt/release.key' state=present
register: heroku_installed
failed_when: "heroku_installed.rc == 2 or heroku_installed.rc == 3"
- name: Install heroku toolbelt - name: install heroku apt repo
shell: wget -O- https://toolbelt.heroku.com/install-ubuntu.sh | sh apt_repository: >
when: heroku_installed.stdout == "" 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: apt_repository:
repo: 'ppa:tmate.io/archive' repo: 'ppa:tmate.io/archive'
state: present state: present
@@ -39,40 +56,35 @@
with_items: with_items:
- xrdp - xrdp
- tmate - tmate
- nodejs
- npm
- name: Install localtunnel
npm:
name: localtunnel
global: yes
- name: Create vim autoload directory - name: Create vim autoload directory
file: path=/home/{{ standard_user }}/.vim/autoload state=directory file: path=/home/{{ standard_user }}/.vim/autoload state=directory
become: yes become: yes
become_user: {{ standard_user }} become_user: "{{ standard_user }}"
- name: Create vim bundle directory - name: Create vim bundle directory
file: path=/home/{{ standard_user }}/.vim/bundle state=directory file: path=/home/{{ standard_user }}/.vim/bundle state=directory
become: yes become: yes
become_user: {{ standard_user }} become_user: "{{ standard_user }}"
- name: Install pathogen - name: Install pathogen
become: yes become: yes
become_user: {{ standard_user }} become_user: "{{ standard_user }}"
git: repo=https://github.com/tpope/vim-pathogen.git git:
dest=/home/{{ standard_user }}/.vim/autoload/pathogen.vim repo: https://github.com/tpope/vim-pathogen.git
dest: /home/{{ standard_user }}/.vim/autoload/pathogen.vim
- name: Install nerdtree - name: Install nerdtree
git: repo=https://github.com/scrooloose/nerdtree.git git:
dest=/home/{{ standard_user }}/.vim/bundle/nerdtree repo: https://github.com/scrooloose/nerdtree.git
dest: /home/{{ standard_user }}/.vim/bundle/nerdtree
become: yes become: yes
become_user: {{ standard_user }} become_user: "{{ standard_user }}"
- name: Replace .vimrc - name: Replace .vimrc
template: src=../roles/developer-machine/templates/vimrc.j2 dest=/home/{{ standard_user }}/.vimrc template: src=../roles/developer-machine/templates/vimrc.j2 dest=/home/{{ standard_user }}/.vimrc
become: yes become: yes
become_user: {{ standard_user }} become_user: "{{ standard_user }}"
- name: Creates directory - name: Creates directory
file: path=/data state=directory file: path=/data state=directory
@@ -88,5 +100,12 @@
path: /data path: /data
src: 10.0.0.150:/volumeUSB1/usbshare/raw-files src: 10.0.0.150:/volumeUSB1/usbshare/raw-files
state: present 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