Refactor base server setup tasks

This commit is contained in:
Dan Arnfield 2019-11-18 11:11:56 -06:00
parent 334596436d
commit 3cec6947ed
5 changed files with 93 additions and 91 deletions

View File

@ -7,7 +7,7 @@
tags: tags:
- setup-all - setup-all
- import_tasks: "{{ role_path }}/tasks/setup_server_base.yml" - import_tasks: "{{ role_path }}/tasks/server_base/setup.yml"
when: run_setup|bool when: run_setup|bool
tags: tags:
- setup-all - setup-all

View File

@ -0,0 +1,19 @@
---
- include_tasks: "{{ role_path }}/tasks/server_base/setup_centos.yml"
when: ansible_distribution == 'CentOS'
- include_tasks: "{{ role_path }}/tasks/server_base/setup_debian.yml"
when: ansible_os_family == 'Debian'
- name: Ensure Docker is started and autoruns
service:
name: docker
state: started
enabled: yes
- name: Ensure ntpd is started and autoruns
service:
name: "{{ 'ntpd' if ansible_os_family == 'RedHat' else 'ntp' }}"
state: started
enabled: yes

View File

@ -0,0 +1,33 @@
---
- name: Ensure Docker repository is enabled
template:
src: "{{ role_path }}/files/yum.repos.d/{{ item }}"
dest: "/etc/yum.repos.d/{{ item }}"
owner: "root"
group: "root"
mode: 0644
with_items:
- docker-ce.repo
- name: Ensure Docker's RPM key is trusted
rpm_key:
state: present
key: https://download.docker.com/linux/centos/gpg
- name: Ensure yum packages are installed
yum:
name:
- bash-completion
- docker-python
- ntp
- fuse
state: latest
update_cache: yes
- name: Ensure docker-ce is installed
yum:
name:
- docker-ce
state: latest
update_cache: yes

View File

@ -0,0 +1,40 @@
---
- name: Ensure APT usage dependencies are installed
apt:
name:
- apt-transport-https
- ca-certificates
state: present
update_cache: yes
- name: Ensure Docker's APT key is trusted
apt_key:
url: https://download.docker.com/linux/ubuntu/gpg
id: 9DC858229FC7DD38854AE2D88D81803C0EBFCD88
state: present
register: add_repository_key
ignore_errors: true
- name: Ensure Docker repository is enabled
apt_repository:
repo: "deb [arch=amd64] https://download.docker.com/linux/{{ ansible_distribution|lower }} {{ ansible_distribution_release }} stable"
state: present
update_cache: yes
- name: Ensure APT packages are installed
apt:
name:
- bash-completion
- python-docker
- ntp
- fuse
state: latest
update_cache: yes
- name: Ensure docker-ce is installed
apt:
name:
- docker-ce
state: latest
update_cache: yes

View File

@ -1,90 +0,0 @@
---
- name: Ensure Docker repository is enabled (CentOS)
template:
src: "{{ role_path }}/files/yum.repos.d/{{ item }}"
dest: "/etc/yum.repos.d/{{ item }}"
owner: "root"
group: "root"
mode: 0644
with_items:
- docker-ce.repo
when: ansible_distribution == 'CentOS'
- name: Ensure Docker's RPM key is trusted
rpm_key:
state: present
key: https://download.docker.com/linux/centos/gpg
when: ansible_distribution == 'CentOS'
- name: Ensure yum packages are installed (CentOS)
yum:
name:
- bash-completion
- docker-ce
- docker-python
- ntp
- fuse
state: latest
update_cache: yes
when: ansible_distribution == 'CentOS'
- name: Ensure APT usage dependencies are installed (Debian)
apt:
name:
- apt-transport-https
- ca-certificates
state: present
update_cache: yes
when: ansible_os_family == 'Debian'
- name: Gather package facts (Debian)
package_facts:
when: ansible_os_family == 'Debian'
- name: Ensure Docker's APT key is trusted (Debian)
apt_key:
url: https://download.docker.com/linux/ubuntu/gpg
id: 9DC858229FC7DD38854AE2D88D81803C0EBFCD88
state: present
register: add_repository_key
ignore_errors: true
when: ansible_os_family == 'Debian' and 'docker.io' not in ansible_facts.packages
- name: Ensure Docker repository is enabled (Debian)
apt_repository:
repo: "deb [arch=amd64] https://download.docker.com/linux/{{ ansible_distribution|lower }} {{ ansible_distribution_release }} stable"
state: present
update_cache: yes
when: ansible_os_family == 'Debian' and 'docker.io' not in ansible_facts.packages
- name: Ensure APT packages are installed (Debian)
apt:
name:
- bash-completion
- python-docker
- ntp
- fuse
state: latest
update_cache: yes
when: ansible_os_family == 'Debian'
- name: Ensure docker-ce is installed (Debian)
apt:
name:
- docker-ce
state: latest
update_cache: yes
when: ansible_os_family == 'Debian' and 'docker.io' not in ansible_facts.packages
- name: Ensure Docker is started and autoruns
service:
name: docker
state: started
enabled: yes
- name: Ensure ntpd is started and autoruns
service:
name: "{{ 'ntpd' if ansible_os_family == 'RedHat' else 'ntp' }}"
state: started
enabled: yes