Browse code

Allow group write access to gitolite logs

Robert Cranston authored on 18/04/2020 01:33:56
Showing 2 changed files

... ...
@@ -7,7 +7,7 @@ Installs [gitolite][], creates a [dedicated user][] to run it (defaults to
7 7
 (explicit) [user created repos][] with [multiple `OWNERS`][] and `user/USER/*`
8 8
 [personal branches][] for `USERS`, allows users to run [`symbolic-ref`][] (e.g.
9 9
 to change `HEAD`, the default branch), and prepares for [integration with a
10
-webserver][].
10
+webserver][] (including acting as a [`git-http-backend`][] replacement).
11 11
 
12 12
 [`ansible-role-gitolite`]: https://git.rcrnstn.net/rcrnstn/ansible-role-gitolite
13 13
 [Ansible]: https://docs.ansible.com/ansible
... ...
@@ -21,6 +21,7 @@ webserver][].
21 21
 [personal branches]: https://gitolite.com/gitolite/user#personal-branches
22 22
 [`symbolic-ref`]: https://git-scm.com/docs/git-symbolic-ref
23 23
 [integration with a webserver]: https://gitolite.com/gitolite/gitweb-daemon.html
24
+[`git-http-backend`]: https://git-scm.com/docs/git-http-backend
24 25
 
25 26
 ## Try out
26 27
 
... ...
@@ -88,3 +88,24 @@
88 88
       loop:
89 89
         - "{{ gitolite_user_home }}/repositories"
90 90
         - "{{ gitolite_user_home }}/.gitolite"
91
+
92
+    - name: "Set SETGID on gitolite logs directory"
93
+      file:
94
+        path: "{{ gitolite_user_home }}/.gitolite/logs"
95
+        mode: 'g+s'
96
+        state: 'directory'
97
+
98
+    - name: "Allow group write access to existing gitolite logs"
99
+      file:
100
+        path: "{{ gitolite_user_home }}/.gitolite/logs"
101
+        mode: 'g+rwX'
102
+        recurse: yes
103
+        state: 'directory'
104
+
105
+    - name: "Allow group write access to future gitolite logs"
106
+      acl:
107
+        path: "{{ gitolite_user_home }}/.gitolite/logs"
108
+        etype: 'group'
109
+        permissions: 'rwX'
110
+        default: yes
111
+        state: 'present'