ansible-roles/roles/seafile/tasks/facts.yml

122 lines
3.7 KiB
YAML

---
- include_vars: "{{ item }}"
with_first_found:
- vars/{{ ansible_distribution }}-{{ ansible_distribution_major_version }}.yml
- vars/{{ ansible_os_family }}-{{ ansible_distribution_major_version }}.yml
- vars/{{ ansible_distribution }}.yml
- vars/{{ ansible_os_family }}.yml
tags: seafile
- set_fact: seafile_edition='pro'
when: seafile_licence is defined
tags: seafile
- set_fact: seafile_edition='community'
when: seafile_licence is not defined
tags: seafile
- name: Set default install mode
set_fact: seafile_install_mode='none'
tags: seafile
# Makes sur we do not have a trailing / on the public url
- set_fact: seafile_public_url={{ seafile_public_url | regex_replace('/$','') }}
tags: seafile
- name: Check if seafile is installed
stat: path={{ seafile_root_dir }}/meta/ansible_version
register: seafile_version_file
tags: seafile
- name: Check installed version
command: cat {{ seafile_root_dir }}/meta/ansible_version
register: seafile_current_version
when: seafile_version_file.stat.exists
changed_when: False
tags: seafile
- name: Set install mode to install
set_fact: seafile_install_mode='install'
when: not seafile_version_file.stat.exists
tags: seafile
- name: Set install mode to upgrade
block:
- set_fact: seafile_install_mode='upgrade'
- set_fact: seafile_current_major_version={{ seafile_current_version.stdout | regex_replace('^(\d+)\..*','\1') }}
- set_fact: seafile_new_major_version={{ seafile_version | regex_replace('^(\d+)\..*','\1') }}
when:
- seafile_version_file.stat.exists
- seafile_current_version is defined
- seafile_current_version.stdout != seafile_version
tags: seafile
# Needed to have consistent behaviour with the various components
# which do not all support unix socket
- name: Set DB server to 127.0.0.1
set_fact: seafile_db_server="127.0.0.1"
when: seafile_db_server == 'localhost'
tags: seafile
- name: Generate an ID for seahub
shell: date | sha1sum | awk '{ print $1 }' > {{ seafile_root_dir }}/meta/ansible_ccnet_id
args:
creates: "{{ seafile_root_dir }}/meta/ansible_ccnet_id"
when: seafile_ccnet_id is not defined
tags: seafile
- name: Read seahub ID
command: cat {{ seafile_root_dir }}/meta/ansible_ccnet_id
register: seafile_seahub_rand_id
when: seafile_ccnet_id is not defined
changed_when: False
tags: seafile
- name: Set seahub ID
set_fact: seafile_ccnet_id={{ seafile_seahub_rand_id.stdout }}
when: seafile_ccnet_id is not defined
tags: seafile
- name: Generate a password for the database
block:
- import_tasks: ../includes/get_rand_pass.yml
vars:
- pass_file: "{{ seafile_root_dir }}/meta/ansible_dbpass"
- complex: False
- set_fact: seafile_db_pass={{ rand_pass }}
when: seafile_db_pass is not defined
tags: seafile
- name: Generate a JWT private key
block:
- import_tasks: ../includes/get_rand_pass.yml
vars:
- pass_file: "{{ seafile_root_dir }}/meta/ansible_jwt_key"
- size: 45
- complex: False
- set_fact: seafile_jwt_key={{ rand_pass }}
when: seafile_jwt_key is not defined
tags: seafile
- name: Set seafile ports
set_fact:
seafile_ports: "{{ [ seafile_seafile_port ] + [ seafile_notification_port ] + [ seafile_seahub_port ] }}"
tags: seafile
- name: Add webdav port
set_fact:
seafile_ports: "{{ seafile_ports + [ seafile_webdav_port ] }}"
when: seafile_webdav == True
tags: seafile
- name: Check if seafile-gc timer exists
stat: path=/etc/systemd/system/seafile-gc.timer
register: seafile_gc_timer
tags: seafile
- name: Check if seafile-clean-db timer exists
stat: path=/etc/systemd/system/seafile-clean-db.timer
register: seafile_clean_db_timer
tags: seafile