| @@ -44,3 +44,10 @@ | |||||
| - "{{ matrix_server_fqn_matrix }}" | - "{{ matrix_server_fqn_matrix }}" | ||||
| - "{{ matrix_server_fqn_riot }}" | - "{{ matrix_server_fqn_riot }}" | ||||
| when: "item != item|lower" | 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 | |||||
| @@ -9,6 +9,9 @@ | |||||
| - include_tasks: "{{ role_path }}/tasks/server_base/setup_raspbian.yml" | - 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') and (ansible_lsb.id == 'Raspbian') | ||||
| - include_tasks: "{{ role_path }}/tasks/server_base/setup_archlinux.yml" | |||||
| when: ansible_distribution == 'Archlinux' | |||||
| - name: Ensure Docker is started and autoruns | - name: Ensure Docker is started and autoruns | ||||
| service: | service: | ||||
| name: docker | name: docker | ||||
| @@ -17,6 +20,6 @@ | |||||
| - name: Ensure ntpd is started and autoruns | - name: Ensure ntpd is started and autoruns | ||||
| service: | service: | ||||
| name: "{{ 'ntpd' if ansible_os_family == 'RedHat' else 'ntp' }}" | |||||
| name: "{{ 'ntpd' if ansible_os_family == 'RedHat' or ansible_distribution == 'Archlinux' else 'ntp' }}" | |||||
| state: started | state: started | ||||
| enabled: yes | enabled: yes | ||||
| @@ -0,0 +1,21 @@ | |||||
| --- | |||||
| - name: Install host dependencies | |||||
| pacman: | |||||
| name: | |||||
| - bash-completion | |||||
| - python-docker | |||||
| - ntp | |||||
| # TODO This needs to be verified. Which version do we need? | |||||
| - fuse3 | |||||
| - cronie | |||||
| - python-dnspython | |||||
| state: latest | |||||
| update_cache: yes | |||||
| - name: Ensure Docker is installed | |||||
| apt: | |||||
| name: | |||||
| - docker | |||||
| state: latest | |||||
| when: matrix_docker_installation_enabled|bool | |||||
| @@ -39,6 +39,14 @@ | |||||
| msg: "Installing gradle on CentOS is currently not supported, so self-building mxisd cannot happen at this time" | msg: "Installing gradle on CentOS is currently not supported, so self-building mxisd cannot happen at this time" | ||||
| when: ansible_distribution == 'CentOS' | when: ansible_distribution == 'CentOS' | ||||
| - name: Ensure gradle is installed for self-building (Archlinux) | |||||
| pacman: | |||||
| name: | |||||
| - gradle | |||||
| state: latest | |||||
| update_cache: yes | |||||
| when: ansible_distribution == 'Archlinux' | |||||
| - name: Ensure mxisd repository is present on self-build | - name: Ensure mxisd repository is present on self-build | ||||
| git: | git: | ||||
| repo: https://github.com/kamax-matrix/mxisd.git | repo: https://github.com/kamax-matrix/mxisd.git | ||||
| @@ -16,6 +16,14 @@ | |||||
| update_cache: no | update_cache: no | ||||
| when: "matrix_ssl_retrieval_method == 'self-signed' and ansible_os_family == 'Debian'" | when: "matrix_ssl_retrieval_method == 'self-signed' and ansible_os_family == 'Debian'" | ||||
| - name: Ensure OpenSSL installed (Archlinux) | |||||
| pacman: | |||||
| name: | |||||
| - openssl | |||||
| state: latest | |||||
| update_cache: no | |||||
| when: "matrix_ssl_retrieval_method == 'self-signed' and ansible_distribution == 'Archlinux' | |||||
| - name: Generate self-signed certificates | - name: Generate self-signed certificates | ||||
| include_tasks: "{{ role_path }}/tasks/ssl/setup_ssl_self_signed_obtain_for_domain.yml" | include_tasks: "{{ role_path }}/tasks/ssl/setup_ssl_self_signed_obtain_for_domain.yml" | ||||
| with_items: "{{ matrix_ssl_domains_to_obtain_certificates_for }}" | with_items: "{{ matrix_ssl_domains_to_obtain_certificates_for }}" | ||||
| @@ -21,6 +21,14 @@ | |||||
| update_cache: no | update_cache: no | ||||
| when: "ansible_os_family == 'Debian'" | when: "ansible_os_family == 'Debian'" | ||||
| - name: Ensure git installed (Archlinux) | |||||
| pacman | |||||
| name: | |||||
| - git | |||||
| state: present | |||||
| update_cache: no | |||||
| when: "ansible_distribution == 'Archlinux'" | |||||
| - name: Clone synapse-simple-antispam git repository | - name: Clone synapse-simple-antispam git repository | ||||
| git: | git: | ||||
| repo: "{{ matrix_synapse_ext_spam_checker_synapse_simple_antispam_git_repository_url }}" | repo: "{{ matrix_synapse_ext_spam_checker_synapse_simple_antispam_git_repository_url }}" | ||||