summaryrefslogtreecommitdiff
path: root/roles/gitserver/tasks/main.yaml
blob: 7143c640c0333a30e5ad5e3ee8a97c6c1bd87994 (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
---
- name: Install gitolite
  apt: name={{ item }} update_cache=yes
  with_items:
  - gitolite3
  - git-daemon-run

- name: Create git group
  group: name=git

- name: Create git user
  user:
    name=git
    group=git
    home="/var/lib/gitolite"
    generate_ssh_key=yes

- name: Get Webserver Hostkey
  slurp: src=/etc/ssh/ssh_host_ecdsa_key.pub
  register: webserver_host_key
  delegate_to: "{{groups['webservers'][0]}}"

- name: Put Webserver Hostkey into knownhosts
  lineinfile: dest=/var/lib/gitolite/.ssh/known_hosts
              create=yes
              owner=git
              group=git
              mode=0644
              line="{{groups['webservers'][0]}} {{webserver_host_key.content|b64decode}}"

- name: Make git dir world readable
  file:
    name=/var/lib/gitolite
    mode=0755

- include: as_gituser.yaml
  become: yes
  become_method: su
  become_user: git

- name: Copy cgitrc.repo_service
  shell: sed -e 's_/var/lib/git_/var/lib/gitolite_g' /var/lib/gitolite/.gitolite/conf/cgitrc.repo_service > /etc/cgitrc.repo_service
  args:
    creates: /etc/cgitrc.repo_service

- name: Ensure correct permissions on cgitrc.repo_service
  file:
    name=/etc/cgitrc.repo_service
    owner=repo_service
    group=repo_service
    mode=0644

- name: Configure git-daemon
  lineinfile:
    dest=/etc/service/git-daemon/run
    regexp="--base-path=/var/lib /var/lib/git"
    line="--base-path=/var/lib/gitolite/repositories /var/lib/gitolite/repositories"
  notify: Restart git-daemon