Skip to content
Snippets Groups Projects
Commit ce7dfb88 authored by jurgenhaas's avatar jurgenhaas
Browse files

ansible-playbooks/general#85 Linting

parent d0d25ec8
No related branches found
No related tags found
No related merge requests found
......@@ -8,8 +8,8 @@ svnserver_slave: false
svnserver_cron_sync:
active: true
month: '*'
day: '*'
weekday: '*'
hour: '5,17'
minute: '0'
month: *
day: *
weekday: *
hour: 5,17
minute: 0
---
# file: roles/svnserver/handlers/main.yml
- name: 'Subversion | Include Svnserve to Boot-List'
- name: Subversion | Include Svnserve to Boot-List
command: update-rc.d svnserve defaults
- name: 'Subversion | Restart Subversion'
- name: Subversion | Restart Subversion
service: name=svnserve state=restarted
- name: 'Subversion | Lock the main tunnel user'
- name: Subversion | Lock the main tunnel user
command: usermod --lock sshsvn
......@@ -3,150 +3,163 @@
#
# see: http://zeroset.mnim.org/2012/08/14/svn-over-ssh-with-multiple-svn-users-and-a-single-unix-account-without-shell-access/
- name: "SVN-Server Role"
set_fact: role_svnserver_started=true
tags: 'always'
- name: SVN-Server Role
set_fact:
role_svnserver_started: yes
tags:
- always
- block:
- name: 'Subversion | Install packages'
- name: Subversion | Install packages
apt: pkg={{ packages }} state=present update_cache=yes
tags: 'UpdateSVN'
tags:
- UpdateSVN
vars:
packages:
- subversion
- name: 'Subversion | Create main tunnel user'
- name: Subversion | Create main tunnel user
user: name=sshsvn
group=root
home=/home/sshsvn
shell=/bin/bash
generate_ssh_key=yes
ssh_key_bits=2048
tags: 'UpdateSVN'
tags:
- UpdateSVN
notify:
- 'Subversion | Lock the main tunnel user'
- Subversion | Lock the main tunnel user
- name: 'Subversion | Create directory'
- name: Subversion | Create directory
file: dest={{item}}
state=directory
owner=sshsvn
group=root
mode='775'
tags: 'UpdateSVN'
tags:
- UpdateSVN
with_items:
- '/var/svn'
- '/etc/ansible/facts.d'
- /var/svn
- /etc/ansible/facts.d
- name: 'Subversion | Copy Ansible Facts Script'
- name: Subversion | Copy Ansible Facts Script
template: src=revision_deployment_fact
dest=/etc/ansible/facts.d/revision_deployment.fact
owner=root
group=root
mode='755'
tags: 'UpdateSVN'
tags:
- UpdateSVN
- name: 'Subversion | Copy SVN Hook Config'
- name: Subversion | Copy SVN Hook Config
template: src=hooks_conf
dest=/var/svn/hooks.conf
owner=root
group=root
mode='644'
tags: 'UpdateSVN'
tags:
- UpdateSVN
- name: 'Subversion | Copy init script'
- name: Subversion | Copy init script
copy: src=etc_init_d_svnserve
dest=/etc/init.d/svnserve
owner=root
group=root
mode='755'
tags: 'UpdateSVN'
tags:
- UpdateSVN
notify:
- 'Subversion | Include Svnserve to Boot-List'
- 'Subversion | Restart Subversion'
- Subversion | Include Svnserve to Boot-List
- Subversion | Restart Subversion
- name: 'Subversion | Copy svnserve script'
- name: Subversion | Copy svnserve script
copy: src=usr_local_bin_svnserve
dest=/usr/local/bin/svnserve
owner=root
group=root
mode='755'
tags: 'UpdateSVN'
tags:
- UpdateSVN
- name: 'Subversion | Copy Svnserve Config File'
- name: Subversion | Copy Svnserve Config File
template: src=svnserve_conf
dest=/etc/subversion/svnserve.conf
owner=root
group=root
mode='644'
tags: 'UpdateSVN'
tags:
- UpdateSVN
- name: 'Subversion | Reset user authentication'
- name: Subversion | Reset user authentication
file:
path=/home/sshsvn/.ssh/authorized_keys
state=absent
tags: 'ResetSVNUser'
tags:
- ResetSVNUser
ignore_errors: yes
- name: 'Subversion | Install SSH user public keys'
- name: Subversion | Install SSH user public keys
authorized_key: user=sshsvn
key="{{lookup('file', inventory_dir + '/files/keys/' + item + '.svn.pub')}}"
key_options='command="/usr/local/bin/svnserve -t --tunnel-user={{item}}",no-port-forwarding,no-agent-forwarding,no-X11-forwarding,no-pty'
tags:
- 'UpdateSVN'
- 'UpdateSVNUser'
- 'ResetSVNUser'
- UpdateSVN
- UpdateSVNUser
- ResetSVNUser
with_items: '{{ svn_user }}'
- name: 'Subversion | Read public key of svn tunnel user'
- name: Subversion | Read public key of svn tunnel user
shell: cat /home/sshsvn/.ssh/id_rsa.pub
register: sshsvnpubkey
tags: 'ResetSVNUser'
tags:
- ResetSVNUser
- name: 'Subversion | Distribute public key of svn tunnel user'
- name: Subversion | Distribute public key of svn tunnel user
authorized_key: user=sshsvn
key={{sshsvnpubkey.stdout}} {{inventory_hostname}}
delegate_to: '{{item}}'
with_items: '{{ groups.svnserver|default([]) }}'
tags: 'ResetSVNUser'
tags:
- ResetSVNUser
- name: 'Subversion | Copy Svnserve Auth File'
- name: Subversion | Copy Svnserve Auth File
template: src=svn_auth
dest=/etc/subversion/svn.auth
owner=root
group=root
mode='644'
tags:
- 'UpdateSVN'
- 'UpdateSVNAuth'
- UpdateSVN
- UpdateSVNAuth
when: svnadmin_by_ansible
- name: 'Subversion | Create missing repositories'
- name: Subversion | Create missing repositories
shell: bash -c "[ -d /var/svn/{{item.name}} ] && echo OK || svnadmin create /var/svn/{{item.name}}"
tags:
- 'UpdateSVN'
- 'UpdateSVNRepos'
- UpdateSVN
- UpdateSVNRepos
register: svn_result
with_items: '{{ svn_repositories }}'
changed_when: svn_result.stdout != 'OK'
when: svnserver_master == inventory_hostname
- name: 'Subversion | Copy Hook Scripts'
- name: Subversion | Copy Hook Scripts
copy: src={{item.0}}
dest=/var/svn/{{item.1.name}}/hooks/{{item.0}}
owner=root
group=root
mode='755'
tags:
- 'UpdateSVN'
- 'UpdateSVNRepos'
- 'UpdateHooks'
- UpdateSVN
- UpdateSVNRepos
- UpdateHooks
with_nested:
- ['post-commit', 'pre-commit']
- '{{ svn_repositories }}'
- {{ svn_repositories }}
when: svnserver_master == inventory_hostname and (item.1.hooks is not defined or item.1.hooks)
- name: 'Subversion | Set permissions'
- name: Subversion | Set permissions
file:
path="/var/svn"
owner="sshsvn"
......@@ -154,25 +167,25 @@
recurse=yes
follow=no
tags:
- 'UpdateSVN'
- 'UpdateSVNRepos'
- UpdateSVN
- UpdateSVNRepos
changed_when: false
- name: 'Subversion | Set ownership'
- name: Subversion | Set ownership
file:
path=/var/svn
mode=g+w
recurse=yes
follow=no
tags:
- 'UpdateSVN'
- 'UpdateSVNRepos'
- UpdateSVN
- UpdateSVNRepos
changed_when: false
- import_tasks: svnadmin.yml
when: svnadmin
- name: 'Subversion | Install cron job to sync slave with master'
- name: Subversion | Install cron job to sync slave with master
cron:
name='Sync SVN data with {{svnserver_master}}'
month='{{ svnserver_cron_sync.month|default(omit) }}'
......@@ -184,6 +197,7 @@
user='sshsvn'
disabled='{{ crons_disabled|default(false) }}'
when: svnserver_slave and svnserver_cron_sync.active
tags: 'cron'
tags:
- cron
when: '"svnserver" not in excluded_roles'
when: not excluded_roles or "svnserver" not in excluded_roles
......@@ -3,19 +3,19 @@
#
# see: http://svnadmin.insanefactory.com
- name: 'Subversion | Checkout SvnAdmin'
- name: Subversion | Checkout SvnAdmin
git: repo=https://github.com/mfreiholz/iF.SVNAdmin.git
dest=/var/www/svnadmin
version=stable-1.6.2
- name: 'Subversion | Change ownership of files'
- name: Subversion | Change ownership of files
file:
path=/var/www/svnadmin/data
mode='777'
recurse=yes
follow=no
- name: 'Subversion | Copy SvnAdmin Config File'
- name: Subversion | Copy SvnAdmin Config File
template: src=svnadmin_config_ini
dest=/var/www/svnadmin/data/config.ini
owner=root
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment