summaryrefslogtreecommitdiffstats
path: root/roles/git/tasks/gitolite.yml
diff options
context:
space:
mode:
Diffstat (limited to 'roles/git/tasks/gitolite.yml')
-rw-r--r--roles/git/tasks/gitolite.yml36
1 files changed, 36 insertions, 0 deletions
diff --git a/roles/git/tasks/gitolite.yml b/roles/git/tasks/gitolite.yml
new file mode 100644
index 0000000..5cbce23
--- /dev/null
+++ b/roles/git/tasks/gitolite.yml
@@ -0,0 +1,36 @@
+- name: Install gitolite
+ apt: pkg=gitolite3
+
+- name: Create a user 'gitolite'
+ user: name=gitolite system=yes
+ groups=ssh-login
+ home=/var/lib/gitolite
+ shell=/bin/sh
+ password=*
+ state=present
+
+- name: Create directory ~gitolite/.ssh
+ file: path=/var/lib/gitolite/.ssh
+ state=directory
+ owner=gitolite group=gitolite
+ mode=0700
+
+- name: Create /var/lib/gitolite/projects.list
+ file: path=/var/lib/gitolite/projects.list
+ owner=gitolite group=gitolite
+ mode=0644
+
+# See /usr/share/doc/gitolite3/README.txt.gz for gitolite initiation or
+# migration.
+# sudo -u gitolite gitolite setup -pk /path/to/id_rsa
+
+- name: Configure gitolite
+ lineinfile: dest=/var/lib/gitolite/.gitolite.rc
+ "regexp=^(\\s*{{ item.var }}\\s*=>\\s*)"
+ "line= {{ item.var }} => {{ item.value }},"
+ owner=root group=root
+ mode=0644
+ with_items:
+ # See /usr/share/doc/gitolite3/README.txt.gz
+ - { var: UMASK, value: "0027" }
+ - { var: GIT_CONFIG_KEYS, value: "'gitweb\\..* gc\\..*'" }