aboutsummaryrefslogtreecommitdiffstats
path: root/roles/sabredav/tasks/main.yml
diff options
context:
space:
mode:
Diffstat (limited to 'roles/sabredav/tasks/main.yml')
-rw-r--r--roles/sabredav/tasks/main.yml77
1 files changed, 77 insertions, 0 deletions
diff --git a/roles/sabredav/tasks/main.yml b/roles/sabredav/tasks/main.yml
new file mode 100644
index 0000000..36b8326
--- /dev/null
+++ b/roles/sabredav/tasks/main.yml
@@ -0,0 +1,77 @@
+- name: install packages
+ dnf:
+ name: '{{ sabredav_packages }}'
+ state: present
+
+- name: create webroot
+ file:
+ path: '{{ sabredav_home }}'
+ state: directory
+
+- name: clone git repository
+ git:
+ repo: '{{ sabredav_git_repo }}'
+ dest: '{{ sabredav_home }}'
+ version: '{{ sabredav_version }}'
+
+- name: set permissions on writeable directories
+ file:
+ path: '{{ sabredav_home }}/{{ item }}'
+ state: directory
+ mode: 0770
+ owner: apache
+ group: apache
+ setype: httpd_sys_rw_content_t
+ loop: '{{ sabredav_writable_dirs }}'
+
+- name: set selinux context on writeable directories
+ sefcontext:
+ target: '{{ sabredav_home }}/{{ item }}(/.*)?'
+ setype: httpd_sys_rw_content_t
+ state: present
+ loop: '{{ sabredav_writable_dirs }}'
+ register: sabredav_writeable_sefcontext
+ tags: selinux
+
+- name: apply selinux context to writeable directories
+ command: 'restorecon -R {{ sabredav_home }}/{{ item }}'
+ when: sabredav_writeable_sefcontext.results[index].changed
+ loop: '{{ sabredav_writable_dirs }}'
+ loop_control:
+ index_var: index
+ tags: selinux
+
+- import_tasks: freeipa.yml
+ tags: freeipa
+
+- name: configure gssproxy for kerberized postgres
+ include_role:
+ name: gssproxy_client
+ vars:
+ gssproxy_name: sabredav
+ gssproxy_section: service/php-fpm
+ gssproxy_client_keytab: '{{ sabredav_keytab }}'
+ gssproxy_cred_usage: initiate
+ gssproxy_euid: apache
+
+- name: check if composer is installed
+ stat:
+ path: /usr/local/bin/composer
+ register: stat_composer
+
+- name: install composer
+ include_tasks: composer.yml
+ when: not stat_composer.stat.exists
+
+- name: install dependencies using composer
+ composer:
+ command: install
+ working_dir: '{{ sabredav_home }}'
+
+- name: generate sabredav configuration
+ template:
+ src: '{{ sabredav_home[1:] }}/server.php.j2'
+ dest: '{{ sabredav_home }}/server.php'
+
+- import_tasks: database.yml
+ tags: database