Просмотр исходного кода

Merge pull request #312 from thedanbob/refactor-setup-server-base

Refactor setup server base
pull/315/head
Slavi Pantaleev 6 лет назад
committed by GitHub
Родитель
Сommit
d64e4ed452
Не найден GPG ключ соответствующий данной подписи Идентификатор GPG ключа: 4AEE18F83AFDEB23
6 измененных файлов: 105 добавлений и 91 удалений
  1. +8
    -0
      roles/matrix-base/defaults/main.yml
  2. +1
    -1
      roles/matrix-base/tasks/main.yml
  3. +19
    -0
      roles/matrix-base/tasks/server_base/setup.yml
  4. +35
    -0
      roles/matrix-base/tasks/server_base/setup_centos.yml
  5. +42
    -0
      roles/matrix-base/tasks/server_base/setup_debian.yml
  6. +0
    -90
      roles/matrix-base/tasks/setup_server_base.yml

+ 8
- 0
roles/matrix-base/defaults/main.yml Просмотреть файл

@@ -42,6 +42,14 @@ matrix_docker_network: "matrix"
# matrix domain (`matrix_server_fqn_matrix`).
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.
run_postgres_import: true
run_postgres_upgrade: true


+ 1
- 1
roles/matrix-base/tasks/main.yml Просмотреть файл

@@ -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
- 0
roles/matrix-base/tasks/server_base/setup.yml Просмотреть файл

@@ -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
- 0
roles/matrix-base/tasks/server_base/setup_centos.yml Просмотреть файл

@@ -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
- 0
roles/matrix-base/tasks/server_base/setup_debian.yml Просмотреть файл

@@ -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

+ 0
- 90
roles/matrix-base/tasks/setup_server_base.yml Просмотреть файл

@@ -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

Загрузка…
Отмена
Сохранить