Update to 2020-12-07 19:00

master
Daniel Berteaud 4 years ago
parent ec107fb8b7
commit c553e01950
  1. 1
      roles/gitea/templates/app.ini.j2
  2. 31
      roles/matrix_element/defaults/main.yml
  3. 3
      roles/matrix_element/handlers/main.yml
  4. 3
      roles/matrix_element/meta/main.yml
  5. 9
      roles/matrix_element/tasks/archive_post.yml
  6. 7
      roles/matrix_element/tasks/archive_pre.yml
  7. 16
      roles/matrix_element/tasks/cleanup.yml
  8. 15
      roles/matrix_element/tasks/conf.yml
  9. 11
      roles/matrix_element/tasks/directories.yml
  10. 12
      roles/matrix_element/tasks/facts.yml
  11. 28
      roles/matrix_element/tasks/install.yml
  12. 13
      roles/matrix_element/tasks/main.yml
  13. 7
      roles/matrix_element/tasks/write_version.yml
  14. 30
      roles/matrix_element/templates/config.json.j2
  15. 14
      roles/matrix_element/templates/httpd.conf.j2
  16. 5
      roles/matrix_element/templates/perms.sh.j2

@ -47,7 +47,6 @@ LOG_SQL = false
[repository] [repository]
ROOT = {{ gitea_root_dir }}/data/repositories ROOT = {{ gitea_root_dir }}/data/repositories
ENABLE_PUSH_CREATE_USER = true
[mailer] [mailer]
ENABLED = true ENABLED = true

@ -0,0 +1,31 @@
---
# Only change several instances are deployed on the same server
# in which case you must also set a different element_root_dir
element_id: element
# Version to deploy, and expected sha1
element_version: 1.7.15
# sha1sum of the tar.gz
element_archive_sha1: 86ef08a7bc4656829fab3e39985debf84344ad28
# Where to install element
element_root_dir: /opt/matrix/element
# Default servers
# element_default_home_server: https://matrix.org
element_default_identity_server: https://vector.im
# Should ansible manage upgrades or only initial install
element_manage_upgrade: True
# Should a alilas be created, eg element to access it on /element
# element_web_alias: element
# Optional list of allowed IP address. If undefined, everyone can access it
# element_allowed_ip:
# - 12.13.14.15
# - 16.17.18.19
# Jitsi server to use
# element_jitsi_server: jitsi.example.net

@ -0,0 +1,3 @@
---
- include: ../httpd_common/handlers/main.yml
...

@ -0,0 +1,3 @@
---
dependencies:
- role: httpd_common

@ -0,0 +1,9 @@
---
- import_tasks: ../includes/webapps_compress_archive.yml
vars:
- root_dir: "{{ element_root_dir }}"
- version: "{{ element_current_version }}"
when: element_install_mode == 'upgrade'
tags: matrix

@ -0,0 +1,7 @@
---
- import_tasks: ../includes/webapps_archive.yml
vars:
- root_dir: "{{ element_root_dir }}"
- version: "{{ element_current_version }}"
tags: matrix

@ -0,0 +1,16 @@
---
- name: Remove temp files
file: path={{ element_root_dir }}/tmp/{{ item }} state=absent
loop:
- element-v{{ element_version }}.tar.gz
- element-v{{ element_version }}
tags: matrix
- name: Remove old Riot install
file: path={{ item }} state=absent
loop:
- /opt/matrix/riot
- /etc/httpd/ansible_conf.d/10-riot_riot.conf
notify: reload httpd
tags: matrix

@ -0,0 +1,15 @@
---
- name: Remove sample config file
file: path={{ element_root_dir }}/web/config.sample.json state=absent
tags: matrix
- name: Deploy configuration
template: src=config.json.j2 dest={{ element_root_dir }}/web/config.json
tags: matrix
- name: Deploy httpd configuration
template: src=httpd.conf.j2 dest=/etc/httpd/ansible_conf.d/10-element_{{ element_id }}.conf
notify: reload httpd
tags: matrix

@ -0,0 +1,11 @@
---
- name: Create directory structure
file: path={{ element_root_dir }}/{{ item.dir }} state=directory owner={{ item.owner | default(omit) }} group={{ item.group | default(omit) }} mode={{ item.mode | default(omit) }}
with_items:
- dir: tmp
- dir: archives
mode: 700
- dir: meta
mode: 700
tags: matrix

@ -0,0 +1,12 @@
---
- import_tasks: ../includes/webapps_set_install_mode.yml
vars:
- root_dir: "{{ element_root_dir }}"
- version: "{{ element_version }}"
tags: matrix
- set_fact: element_install_mode={{ (install_mode == 'upgrade' and not element_manage_upgrade) | ternary('none',install_mode) }}
tags: matrix
- set_fact: element_current_version={{ current_version | default('') }}
tags: matrix

@ -0,0 +1,28 @@
---
- name: Download Riot
get_url:
url: "https://github.com/vector-im/element-web/releases/download/v{{ element_version }}/element-v{{ element_version }}.tar.gz"
dest: "{{ element_root_dir }}/tmp/"
checksum: "sha1:{{ element_archive_sha1 }}"
when: element_install_mode != 'none'
tags: matrix
- name: Extract element archive
unarchive:
src: "{{ element_root_dir }}/tmp/element-v{{ element_version }}.tar.gz"
dest: "{{ element_root_dir }}/tmp/"
remote_src: True
when: element_install_mode != 'none'
tags: matrix
- name: Move the content of element to the correct top directory
synchronize:
src: "{{ element_root_dir }}/tmp/element-v{{ element_version }}/"
dest: "{{ element_root_dir }}/web/"
recursive: True
delete: True
delegate_to: "{{ inventory_hostname }}"
when: element_install_mode != 'none'
tags: matrix

@ -0,0 +1,13 @@
---
- include: facts.yml
- include: directories.yml
- include: archive_pre.yml
when: element_install_mode == 'upgrade'
- include: install.yml
- include: conf.yml
- include: archive_post.yml
when: element_install_mode == 'upgrade'
- include: write_version.yml
- include: cleanup.yml

@ -0,0 +1,7 @@
---
- import_tasks: ../includes/webapps_post.yml
vars:
- root_dir: "{{ element_root_dir }}"
- version: "{{ element_version }}"
tags: matrix

@ -0,0 +1,30 @@
{
"default_hs_url": "{{ element_default_home_server | default('https://' + synapse_server_name) | default('https://matrix.org') }}",
"default_is_url": "{{ element_default_identity_server }}",
"brand": "Riot",
"integrations_ui_url": "https://scalar.vector.im/",
"integrations_rest_url": "https://scalar.vector.im/api",
"integrations_widgets_urls": [
"https://scalar.vector.im/_matrix/integrations/v1",
"https://scalar.vector.im/api",
"https://scalar-staging.vector.im/_matrix/integrations/v1",
"https://scalar-staging.vector.im/api",
"https://scalar-staging.element.im/scalar/api"
],
"bug_report_endpoint_url": "https://element.im/bugreports/submit",
"enableLabs": true,
"roomDirectory": {
"servers": [
"matrix.org"
]
},
"welcomeUserId": "@riot-bot:matrix.org",
"piwik": {
},
{% if element_jitsi_server is defined %}
"jitsi": {
"preferredDomain": "{{ element_jitsi_server }}"
},
{% endif %}
"happyJson": true
}

@ -0,0 +1,14 @@
{% if element_web_alias is defined %}
Alias /{{ element_web_alias }} {{ element_root_dir }}/web
{% else %}
# No alias defined, create a vhost to access it
{% endif %}
<Directory {{ element_root_dir }}/web>
AllowOverride None
Options None
{% if element_allowed_ip is defined %}
Require ip {{ element_allowed_ip | join(' ') }}
{% else %}
Require all granted
{% endif %}
</Directory>

@ -0,0 +1,5 @@
#!/bin/sh
chown -R root:root {{ element_root_dir }}
find {{ element_root_dir }}/web -type f -exec chmod 644 "{}" \;
find {{ element_root_dir }}/web -type d -exec chmod 755 "{}" \;
Loading…
Cancel
Save