summaryrefslogtreecommitdiff
path: root/test/integration/targets/subversion/tasks/setup.yml
blob: 1ec5b5fc240bd8313531047ab40ec96e9effb02b (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
---
- name: load OS specific vars
  include_vars: '{{ item }}'
  with_first_found:
  - files:
    - '{{ ansible_distribution }}-{{ ansible_distribution_major_version }}.yml'
    - '{{ ansible_os_family }}.yml'
    paths: '../vars'

- name: install SVN pre-reqs
  package:
    name: '{{ subversion_packages }}'
    state: present

- name: upgrade SVN pre-reqs
  package:
    name: '{{ upgrade_packages }}'
    state: latest
  when:
    - upgrade_packages | default([])

- name: create SVN home folder
  file:
    path: '{{ subversion_server_dir }}'
    state: directory

- name: set SELinux security context for SVN folder
  sefcontext:
    target: '{{ subversion_server_dir }}(/.*)?'
    setype: '{{ item }}'
    state: present
  when: ansible_selinux.status == "enabled"
  with_items:
  - httpd_sys_content_t
  - httpd_sys_rw_content_t

- name: apply new SELinux context to filesystem
  command: restorecon -irv {{ subversion_server_dir | quote }}
  when: ansible_selinux.status == "enabled"

- name: template out configuration file
  template:
    src: subversion.conf.j2
    dest: '{{ subversion_server_dir }}/subversion.conf'

- name: create a test repository
  script: create_repo.sh {{ subversion_repo_name }}
  args:
    chdir: '{{ subversion_server_dir }}'
    creates: '{{ subversion_server_dir }}/{{ subversion_repo_name }}'

- name: apply ownership for all SVN directories
  file:
    path: '{{ subversion_server_dir }}'
    owner: '{{ apache_user }}'
    group: '{{ apache_group }}'
    recurse: True

- name: add test user to htpasswd for Subversion site
  htpasswd:
    path: '{{ subversion_server_dir }}/svn-auth-users'
    name: '{{ subversion_username }}'
    password: '{{ subversion_password }}'
    state: present

- name: start test Apache SVN site - non Red Hat
  command: apachectl -k start -f {{ subversion_server_dir }}/subversion.conf
  when: not ansible_os_family == 'RedHat'

# On Red Hat based OS', we can't use apachectl to start up own instance, just use the raw httpd
- name: start test Apache SVN site - Red Hat
  command: httpd -k start -f {{ subversion_server_dir }}/subversion.conf
  when: ansible_os_family == 'RedHat'