diff --git a/roles/matrix-base/files/yum.repos.d/docker-ce.repo b/roles/matrix-base/files/yum.repos.d/docker-ce.repo deleted file mode 100644 index 1abdbe36..00000000 --- a/roles/matrix-base/files/yum.repos.d/docker-ce.repo +++ /dev/null @@ -1,62 +0,0 @@ -[docker-ce-stable] -name=Docker CE Stable - $basearch -baseurl=https://download.docker.com/linux/centos/$releasever/$basearch/stable -enabled=1 -gpgcheck=1 -gpgkey=https://download.docker.com/linux/centos/gpg - -[docker-ce-stable-debuginfo] -name=Docker CE Stable - Debuginfo $basearch -baseurl=https://download.docker.com/linux/centos/$releasever/debug-$basearch/stable -enabled=0 -gpgcheck=1 -gpgkey=https://download.docker.com/linux/centos/gpg - -[docker-ce-stable-source] -name=Docker CE Stable - Sources -baseurl=https://download.docker.com/linux/centos/$releasever/source/stable -enabled=0 -gpgcheck=1 -gpgkey=https://download.docker.com/linux/centos/gpg - -[docker-ce-test] -name=Docker CE Test - $basearch -baseurl=https://download.docker.com/linux/centos/$releasever/$basearch/test -enabled=0 -gpgcheck=1 -gpgkey=https://download.docker.com/linux/centos/gpg - -[docker-ce-test-debuginfo] -name=Docker CE Test - Debuginfo $basearch -baseurl=https://download.docker.com/linux/centos/$releasever/debug-$basearch/test -enabled=0 -gpgcheck=1 -gpgkey=https://download.docker.com/linux/centos/gpg - -[docker-ce-test-source] -name=Docker CE Test - Sources -baseurl=https://download.docker.com/linux/centos/$releasever/source/test -enabled=0 -gpgcheck=1 -gpgkey=https://download.docker.com/linux/centos/gpg - -[docker-ce-nightly] -name=Docker CE Nightly - $basearch -baseurl=https://download.docker.com/linux/centos/$releasever/$basearch/nightly -enabled=0 -gpgcheck=1 -gpgkey=https://download.docker.com/linux/centos/gpg - -[docker-ce-nightly-debuginfo] -name=Docker CE Nightly - Debuginfo $basearch -baseurl=https://download.docker.com/linux/centos/$releasever/debug-$basearch/nightly -enabled=0 -gpgcheck=1 -gpgkey=https://download.docker.com/linux/centos/gpg - -[docker-ce-nightly-source] -name=Docker CE Nightly - Sources -baseurl=https://download.docker.com/linux/centos/$releasever/source/nightly -enabled=0 -gpgcheck=1 -gpgkey=https://download.docker.com/linux/centos/gpg diff --git a/roles/matrix-base/tasks/sanity_check.yml b/roles/matrix-base/tasks/sanity_check.yml index 265dc282..4153c94b 100644 --- a/roles/matrix-base/tasks/sanity_check.yml +++ b/roles/matrix-base/tasks/sanity_check.yml @@ -1,33 +1,5 @@ --- -# We generally support Ansible 2.7.1 and above. -- name: Fail if running on Ansible < 2.7.1 - fail: - msg: "You are running on Ansible {{ ansible_version.string }}, which is not supported. See our guide about Ansible: https://github.com/spantaleev/matrix-docker-ansible-deploy/blob/master/docs/ansible.md" - when: - - "(ansible_version.major < 2) or (ansible_version.major == 2 and ansible_version.minor < 7) or (ansible_version.major == 2 and ansible_version.minor == 7 and ansible_version.revision < 1)" - -# Though we do not support Ansible 2.9.6 which is buggy -- name: Fail if running on Ansible 2.9.6 on Ubuntu - fail: - msg: "You are running on Ansible {{ ansible_version.string }}, which is not supported. See our guide about Ansible: https://github.com/spantaleev/matrix-docker-ansible-deploy/blob/master/docs/ansible.md" - when: - - ansible_distribution == 'Ubuntu' - - "ansible_version.major == 2 and ansible_version.minor == 9 and ansible_version.revision == 6" - -- name: (Deprecation) Catch and report renamed settings - fail: - msg: >- - Your configuration contains a variable, which now has a different name. - Please change your configuration to rename the variable (`{{ item.old }}` -> `{{ item.new }}`). - when: "item.old in vars" - with_items: - - {'old': 'host_specific_hostname_identity', 'new': 'matrix_domain'} - - {'old': 'hostname_identity', 'new': 'matrix_domain'} - - {'old': 'hostname_matrix', 'new': 'matrix_server_fqn_matrix'} - - {'old': 'hostname_riot', 'new': 'matrix_server_fqn_element'} - - {'old': 'matrix_server_fqn_riot', 'new': 'matrix_server_fqn_element'} - - name: Fail if required variables are undefined fail: msg: "The `{{ item }}` variable must be defined and have a non-null value" @@ -46,13 +18,6 @@ - "{{ matrix_server_fqn_element }}" when: "item != item|lower" -- name: Fail if using python2 on Archlinux - fail: - msg: "Detected that you're using python2 when installing onto Archlinux. Archlinux by default only supports python3." - when: - - ansible_distribution == 'Archlinux' - - ansible_python.version.major != 3 - - name: Fail if architecture is set incorrectly fail: msg: "Detected that variable matrix_architecture {{ matrix_architecture }} appears to be set incorrectly. See docs/alternative-architectures.md. Server appears to be {{ ansible_architecture }}." diff --git a/roles/matrix-base/tasks/server_base/setup.yml b/roles/matrix-base/tasks/server_base/setup.yml index 0869e501..15d7d6bf 100644 --- a/roles/matrix-base/tasks/server_base/setup.yml +++ b/roles/matrix-base/tasks/server_base/setup.yml @@ -1,34 +1,21 @@ --- -- include_tasks: "{{ role_path }}/tasks/server_base/setup_centos.yml" - when: ansible_distribution == 'CentOS' and ansible_distribution_major_version < '8' +- name: Install host dependencies + pacman: + name: + - python-docker + # TODO This needs to be verified. Which version do we need? + - fuse3 + - python-dnspython + state: latest + update_cache: yes -- include_tasks: "{{ role_path }}/tasks/server_base/setup_centos8.yml" - when: ansible_distribution == 'CentOS' and ansible_distribution_major_version > '7' - -- block: - # ansible_lsb is only available if lsb-release is installed. - - name: Ensure lsb-release installed - apt: - name: - - lsb-release - state: present - update_cache: yes - register: lsb_release_installation_result - - - name: Reread ansible_lsb facts if lsb-release got installed - setup: filter=ansible_lsb* - when: lsb_release_installation_result.changed - - - include_tasks: "{{ role_path }}/tasks/server_base/setup_debian.yml" - when: (ansible_os_family == 'Debian') and (ansible_lsb.id != 'Raspbian') - - - include_tasks: "{{ role_path }}/tasks/server_base/setup_raspbian.yml" - when: (ansible_os_family == 'Debian') and (ansible_lsb.id == 'Raspbian') - when: ansible_os_family == 'Debian' - -- include_tasks: "{{ role_path }}/tasks/server_base/setup_archlinux.yml" - when: ansible_distribution == 'Archlinux' +- name: Ensure Docker is installed + pacman: + name: + - docker + state: latest + when: matrix_docker_installation_enabled|bool - name: Ensure Docker is started and autoruns service: diff --git a/roles/matrix-base/tasks/server_base/setup_archlinux.yml b/roles/matrix-base/tasks/server_base/setup_archlinux.yml deleted file mode 100644 index d08cafc0..00000000 --- a/roles/matrix-base/tasks/server_base/setup_archlinux.yml +++ /dev/null @@ -1,18 +0,0 @@ ---- - -- name: Install host dependencies - pacman: - name: - - python-docker - # TODO This needs to be verified. Which version do we need? - - fuse3 - - python-dnspython - state: latest - update_cache: yes - -- name: Ensure Docker is installed - pacman: - name: - - docker - state: latest - when: matrix_docker_installation_enabled|bool diff --git a/roles/matrix-base/tasks/server_base/setup_centos.yml b/roles/matrix-base/tasks/server_base/setup_centos.yml deleted file mode 100644 index 07776d7f..00000000 --- a/roles/matrix-base/tasks/server_base/setup_centos.yml +++ /dev/null @@ -1,34 +0,0 @@ ---- - -- 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: - - "{{ matrix_ntpd_package }}" - - fuse - state: latest - update_cache: yes - -- name: Ensure Docker is installed - yum: - name: - - "{{ matrix_docker_package_name }}" - - docker-python - state: latest - when: matrix_docker_installation_enabled|bool diff --git a/roles/matrix-base/tasks/server_base/setup_centos8.yml b/roles/matrix-base/tasks/server_base/setup_centos8.yml deleted file mode 100644 index 01666197..00000000 --- a/roles/matrix-base/tasks/server_base/setup_centos8.yml +++ /dev/null @@ -1,47 +0,0 @@ ---- - -- 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 EPEL is installed - yum: - name: - - epel-release - state: latest - update_cache: yes - -- name: Ensure yum packages are installed - yum: - name: - - "{{ matrix_ntpd_package }}" - - fuse - state: latest - update_cache: yes - -- name: Ensure Docker is installed - yum: - name: - - "{{ matrix_docker_package_name }}" - - python3-pip - state: latest - when: matrix_docker_installation_enabled|bool - -- name: Ensure Docker-Py is installed - pip: - name: docker-py - state: latest - when: matrix_docker_installation_enabled|bool \ No newline at end of file diff --git a/roles/matrix-base/tasks/server_base/setup_debian.yml b/roles/matrix-base/tasks/server_base/setup_debian.yml deleted file mode 100644 index 37706d1f..00000000 --- a/roles/matrix-base/tasks/server_base/setup_debian.yml +++ /dev/null @@ -1,42 +0,0 @@ ---- - -- name: Ensure APT usage dependencies are installed - apt: - name: - - apt-transport-https - - ca-certificates - - gnupg - state: present - update_cache: yes - -- name: Ensure Docker's APT key is trusted - apt_key: - url: "https://download.docker.com/linux/{{ ansible_distribution|lower }}/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={{ matrix_debian_arch }}] 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: - - "{{ matrix_ntpd_package }}" - - fuse - state: latest - update_cache: yes - -- name: Ensure Docker is installed - apt: - name: - - "{{ matrix_docker_package_name }}" - - "python{{'3' if ansible_python.version.major == 3 else ''}}-docker" - state: latest - when: matrix_docker_installation_enabled|bool diff --git a/roles/matrix-base/tasks/server_base/setup_raspbian.yml b/roles/matrix-base/tasks/server_base/setup_raspbian.yml deleted file mode 100644 index 421905a0..00000000 --- a/roles/matrix-base/tasks/server_base/setup_raspbian.yml +++ /dev/null @@ -1,42 +0,0 @@ ---- - -- name: Ensure APT usage dependencies are installed - apt: - name: - - apt-transport-https - - ca-certificates - - gnupg - state: present - update_cache: yes - -- name: Ensure Docker's APT key is trusted - apt_key: - url: https://download.docker.com/linux/raspbian/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={{ matrix_debian_arch }}] https://download.docker.com/linux/raspbian {{ 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: - - "{{ matrix_ntpd_package }}" - - fuse - state: latest - update_cache: yes - -- name: Ensure Docker is installed - apt: - name: - - "{{ matrix_docker_package_name }}" - - "python{{'3' if ansible_python.version.major == 3 else ''}}-docker" - state: latest - when: matrix_docker_installation_enabled|bool