|
|
|
---
|
|
|
|
- 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'
|