Files
convert-images-for-web/roles/common/tasks/main.yml

165 lines
4.2 KiB
YAML

---
# This playbook contains plays that will run on all nodes
- name: Get 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:
repo: deb [arch=amd64] https://download.docker.com/linux/ubuntu {{ ansible_distribution_release }} stable
state: present
- name: Update apt
apt: update_cache=yes
#- name: Upgrade APT to the lastest packages
# apt: upgrade=dist
- name: Install standard programes
apt: name={{ item }} state=present force=yes
with_items:
- htop
- curl
- openssh-server
- git
- rsync
- zip
- unzip
- fail2ban
- ntp
- mysql-client
- wget
- nfs-common
- docker-ce={{docker_ce_version_to_install}}
- sshpass
- ack-grep
- dnsutils
- nmon
- build-essential
- linux-headers-server
- tmux
- name: Set authorized key took from url
become: yes
become_user: cody
authorized_key:
user: cody
state: present
key: {{ home_pub_key }}
- git_config:
become: yes
become_user: cody
name: user.name
scope: local
value: 'Jacob Cody Wimer'
- git_config:
become: yes
become_user: cody
name: user.email
scope: local
value: 'jacob.wimer@gmail.com'
- 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}}"
- name: Set timezone to NewYork
timezone:
name: America/New_York
- name: Replace sudoers file
template: src=../roles/common/templates/sudoers.j2 dest=/etc/sudoers
- name: Replace fstab file
lineinfile: dest=/etc/fstab
regexp="^{{ nfs_location }}"
state=present
line="{{ nfs_location }}:/volumeUSB1/usbshare/raw-files/fileserver/shares/lab-data /data nfs defaults 0 0"
- name: Replace docker daemon file
template: src=../roles/common/templates/docker-daemon.json.j2 dest=/etc/docker/daemon.json
register: docker-daemon
- name: Restart docker service
shell: service docker restart
when: docker-daemon.changed
- name: Creates directory
file: path=/data state=directory
- name: Mount data directory
mount:
path: /data
src: 10.0.0.150:/volumeUSB1/usbshare/raw-files/fileserver/shares/lab-data
state: present
- name: test for swap partition
shell: swapon -s | grep -E "^/"
register: swapfile
ignore_errors: yes
- name: create swapfile
when: swapfile|failed
shell: fallocate -l 4G /swapfile
- name: set swapfile permissions
when: swapfile|failed
file: path=/swapfile
owner=root
group=root
mode=0600
- name: prepare swapfile
when: swapfile|failed
shell: mkswap /swapfile
- name: enable swap
when: swapfile|failed
shell: swapon /swapfile
- name: add swapfile
when: swapfile|failed
lineinfile: dest=/etc/fstab
regexp="^/swapfile"
state=present
line="/swapfile none swap sw 0 0"
- name: set swappiness (temporarily)
when: swapfile|failed
shell: echo 10 | tee /proc/sys/vm/swappiness
- name: set swappiness (permanent)
when: swapfile|failed
lineinfile: dest=/etc/sysctl.conf
regexp="^vm.swappiness"
state=present
line="vm.swappiness = 10"
- name: set cache pressure (temporarily)
when: swapfile|failed
shell: echo 50 | tee /proc/sys/vm/vfs_cache_pressure
- name: set cache pressure (permanent)
when: swapfile|failed
lineinfile: dest=/etc/sysctl.conf
regexp="^vm.vfs_cache_pressure"
state=present
line="vm.vfs_cache_pressure = 50"