mirror of
https://github.com/spantaleev/matrix-docker-ansible-deploy.git
synced 2024-11-14 10:04:46 +08:00
Refactor base server setup tasks
This commit is contained in:
parent
334596436d
commit
3cec6947ed
@ -7,7 +7,7 @@
|
||||
tags:
|
||||
- setup-all
|
||||
|
||||
- import_tasks: "{{ role_path }}/tasks/setup_server_base.yml"
|
||||
- import_tasks: "{{ role_path }}/tasks/server_base/setup.yml"
|
||||
when: run_setup|bool
|
||||
tags:
|
||||
- setup-all
|
||||
|
19
roles/matrix-base/tasks/server_base/setup.yml
Normal file
19
roles/matrix-base/tasks/server_base/setup.yml
Normal 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
|
33
roles/matrix-base/tasks/server_base/setup_centos.yml
Normal file
33
roles/matrix-base/tasks/server_base/setup_centos.yml
Normal 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
|
40
roles/matrix-base/tasks/server_base/setup_debian.yml
Normal file
40
roles/matrix-base/tasks/server_base/setup_debian.yml
Normal 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
|
@ -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
|
Loading…
Reference in New Issue
Block a user