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

143 lines
3.2 KiB
YAML

---
# This playbook contains plays that will run on all nodes
- name: Add docker key
apt_key:
url: https://download.docker.com/linux/ubuntu/gpg
state: present
- 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 programs
apt: name={{ item }} state=present force=yes
with_items:
- htop
- curl
- openssh-server
- git
- rsync
- zip
- unzip
- fail2ban
- ntp
- mysql-client
- wget
- nfs-common
- sshpass
- ack-grep
- dnsutils
- nmon
- build-essential
- tmux
- name: Install docker-ce
shell: >
apt-get install -y -qq docker-ce=$(apt-cache madison docker-ce | grep "{{ docker_ce_version_to_install }}" | awk {'print $3'})
- name: Remove un-needed programs
apt: name={{ item }} state=absent force=yes
with_items:
- sysstat
- name: Replace sudoers file
template: src=../roles/common/templates/sudoers.j2 dest=/etc/sudoers
- name: Create standard user
user:
name: "{{ standard_user }}"
groups:
- sudo
- docker
state: present
shell: /bin/bash
- name: Add standard_user to docker group
user:
name: "{{ standard_user }}"
groups: docker
append: yes
- name: Set authorized key took from url
become: yes
become_user: "{{ standard_user }}"
authorized_key:
user: "{{ standard_user }}"
state: present
key: "{{ home_pub_key }}"
- name: Docker compose version
get_url:
url: "https://github.com/docker/compose/releases/download/{{docker_compose_version_to_install}}/docker-compose-{{ ansible_system }}-{{ ansible_userspace_architecture }}"
dest: /usr/local/bin/docker-compose
validate_certs: false
mode: 0755
group: root
owner: root
- name: Set timezone to NewYork
timezone:
name: America/New_York
ignore_errors: true
- name: Create /etc/docker
file:
path: /etc/docker
group: root
owner: root
mode: 700
state: directory
- name: Replace docker daemon file
template: src=../roles/common/templates/docker-daemon.json.j2 dest=/etc/docker/daemon.json
register: dockerdaemon
- name: Restart docker if daemon changes
service:
name: docker
state: restarted
when: dockerdaemon.changed
- name: Creates directory
file: path=/data state=directory
- name: Data is mounted
stat: path=/data/swarm
register: data_mounted
- name: USB lab data in fstab
when: not data_mounted.stat.exists
lineinfile: dest=/etc/fstab
regexp=\/data
state=present
line="{{ nfs_location }}:{{ nfs_share }}/raw-files/fileserver/shares/lab-data /data nfs defaults,nolock 0 0"
- name: Mount USB lab data directory
mount:
path: /data
src: 10.0.0.150:{{ nfs_share }}/raw-files/fileserver/shares/lab-data
state: mounted
fstype: nfs
ignore_errors: true
- name: Set hostname
hostname:
name: '{{ inventory_hostname }}'
- name: Fix hosts file
replace:
path: /etc/hosts
regexp: '(\s+)ubuntu(\s+.*)?$'
replace: '\1{{ inventory_hostname }}\2'
backup: yes
- name: swap
include: swap.yml