aboutsummaryrefslogtreecommitdiffstats
path: root/roles/sabredav/tasks/main.yml
blob: 36b83269278973e698e7b7cb1a5f771bad7477b7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
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