Merge pull request #312 from thedanbob/refactor-setup-server-base
Refactor setup server base
This commit is contained in:
commit
d64e4ed452
@ -42,6 +42,14 @@ matrix_docker_network: "matrix"
|
|||||||
# matrix domain (`matrix_server_fqn_matrix`).
|
# matrix domain (`matrix_server_fqn_matrix`).
|
||||||
matrix_well_known_matrix_server_enabled: true
|
matrix_well_known_matrix_server_enabled: true
|
||||||
|
|
||||||
|
# Controls whether Docker is automatically installed.
|
||||||
|
# If you change this to false you must install and update Docker manually.
|
||||||
|
matrix_docker_installation_enabled: true
|
||||||
|
|
||||||
|
# Controls the Docker package that is installed.
|
||||||
|
# Possible values are "docker-ce" (default) and "docker.io" (Debian).
|
||||||
|
matrix_docker_package_name: docker-ce
|
||||||
|
|
||||||
# Variables to Control which parts of our roles run.
|
# Variables to Control which parts of our roles run.
|
||||||
run_postgres_import: true
|
run_postgres_import: true
|
||||||
run_postgres_upgrade: true
|
run_postgres_upgrade: true
|
||||||
|
@ -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
|
||||||
|
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
|
35
roles/matrix-base/tasks/server_base/setup_centos.yml
Normal file
35
roles/matrix-base/tasks/server_base/setup_centos.yml
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
---
|
||||||
|
|
||||||
|
- 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
|
||||||
|
when: matrix_docker_installation_enabled|bool and matrix_docker_package_name == 'docker-ce'
|
||||||
|
|
||||||
|
- name: Ensure Docker's RPM key is trusted
|
||||||
|
rpm_key:
|
||||||
|
state: present
|
||||||
|
key: https://download.docker.com/linux/centos/gpg
|
||||||
|
when: matrix_docker_installation_enabled|bool and matrix_docker_package_name == 'docker-ce'
|
||||||
|
|
||||||
|
- name: Ensure yum packages are installed
|
||||||
|
yum:
|
||||||
|
name:
|
||||||
|
- bash-completion
|
||||||
|
- docker-python
|
||||||
|
- ntp
|
||||||
|
- fuse
|
||||||
|
state: latest
|
||||||
|
update_cache: yes
|
||||||
|
|
||||||
|
- name: Ensure Docker is installed
|
||||||
|
yum:
|
||||||
|
name:
|
||||||
|
- "{{ matrix_docker_package_name }}"
|
||||||
|
state: latest
|
||||||
|
when: matrix_docker_installation_enabled|bool
|
42
roles/matrix-base/tasks/server_base/setup_debian.yml
Normal file
42
roles/matrix-base/tasks/server_base/setup_debian.yml
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
---
|
||||||
|
|
||||||
|
- 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
|
||||||
|
when: matrix_docker_installation_enabled|bool and matrix_docker_package_name == 'docker-ce'
|
||||||
|
|
||||||
|
- 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
|
||||||
|
when: matrix_docker_installation_enabled|bool and matrix_docker_package_name == 'docker-ce'
|
||||||
|
|
||||||
|
- name: Ensure APT packages are installed
|
||||||
|
apt:
|
||||||
|
name:
|
||||||
|
- bash-completion
|
||||||
|
- python-docker
|
||||||
|
- ntp
|
||||||
|
- fuse
|
||||||
|
state: latest
|
||||||
|
update_cache: yes
|
||||||
|
|
||||||
|
- name: Ensure Docker is installed
|
||||||
|
apt:
|
||||||
|
name:
|
||||||
|
- "{{ matrix_docker_package_name }}"
|
||||||
|
state: latest
|
||||||
|
when: matrix_docker_installation_enabled|bool
|
@ -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