| ... | ... | 
                    @@ -2,8 +2,8 @@  | 
            
| 2 | 2 | 
                     | 
            
| 3 | 3 | 
                    An [Ansible][] [role][] for deploying [gitolite][] on [Debian][] >=9.  | 
            
| 4 | 4 | 
                     | 
            
| 5 | 
                    -Installs [gitolite][] and creates a [dedicated user][] to run it (defaults to  | 
            |
| 6 | 
                    -`git`).  | 
            |
| 5 | 
                    +Installs [gitolite][], creates a [dedicated user][] to run it (defaults to  | 
            |
| 6 | 
                    +`git`), and prepares for [administering gitolite directly on the server][].  | 
            |
| 7 | 7 | 
                     | 
            
| 8 | 8 | 
                    [`ansible-role-gitolite`]: https://git.rcrnstn.net/rcrnstn/ansible-role-gitolite  | 
            
| 9 | 9 | 
                    [Ansible]: https://docs.ansible.com/ansible  | 
            
| ... | ... | 
                    @@ -11,6 +11,7 @@ Installs [gitolite][] and creates a [dedicated user][] to run it (defaults to  | 
            
| 11 | 11 | 
                    [gitolite]: https://gitolite.com  | 
            
| 12 | 12 | 
                    [Debian]: https://www.debian.org  | 
            
| 13 | 13 | 
                    [dedicated user]: https://gitolite.com/gitolite/concepts#the-hosting-user  | 
            
| 14 | 
                    +[administering gitolite directly on the server]: https://gitolite.com/gitolite/odds-and-ends#administering-gitolite-directly-on-the-server  | 
            |
| 14 | 15 | 
                     | 
            
| 15 | 16 | 
                    ## Try out  | 
            
| 16 | 17 | 
                     | 
            
| ... | ... | 
                    @@ -8,8 +8,47 @@  | 
            
| 8 | 8 | 
                    name: 'gitolite3'  | 
            
| 9 | 9 | 
                    state: 'present'  | 
            
| 10 | 10 | 
                     | 
            
| 11 | 
                    + # https://docs.ansible.com/ansible/latest/user_guide/become.html#risks-of-becoming-an-unprivileged-user  | 
            |
| 12 | 
                    + - name: "Install acl"  | 
            |
| 13 | 
                    + apt:  | 
            |
| 14 | 
                    + name: 'acl'  | 
            |
| 15 | 
                    + state: 'present'  | 
            |
| 16 | 
                    +  | 
            |
| 11 | 17 | 
                         - name: "Create gitolite user '{{ gitolite_user_name }}'"
                 | 
            
| 12 | 18 | 
                    user:  | 
            
| 13 | 19 | 
                             name: "{{ gitolite_user_name }}"
                 | 
            
| 14 | 20 | 
                             home: "{{ gitolite_user_home }}"
                 | 
            
| 15 | 21 | 
                    shell: "/bin/bash"  | 
            
| 22 | 
                    +  | 
            |
| 23 | 
                    +- become: yes  | 
            |
| 24 | 
                    +  become_user: "{{ gitolite_user_name }}"
                 | 
            |
| 25 | 
                    + vars:  | 
            |
| 26 | 
                    + default_repos:  | 
            |
| 27 | 
                    + - "gitolite-admin"  | 
            |
| 28 | 
                    + - "testing"  | 
            |
| 29 | 
                    + block:  | 
            |
| 30 | 
                    +  | 
            |
| 31 | 
                    + - name: "Run dummy setup"  | 
            |
| 32 | 
                    + command:  | 
            |
| 33 | 
                    + cmd: "gitolite setup -a dummy"  | 
            |
| 34 | 
                    +        creates: "{{ gitolite_user_home }}/.gitolite"
                 | 
            |
| 35 | 
                    +  | 
            |
| 36 | 
                    + - name: "Remove directories of default repos"  | 
            |
| 37 | 
                    + file:  | 
            |
| 38 | 
                    +        path: "{{ gitolite_user_home }}/repositories/{{ item }}.git"
                 | 
            |
| 39 | 
                    + state: 'absent'  | 
            |
| 40 | 
                    + notify: 'gitolite compile'  | 
            |
| 41 | 
                    +      loop: "{{ default_repos }}"
                 | 
            |
| 42 | 
                    +  | 
            |
| 43 | 
                    + - name: "Remove config of default repos"  | 
            |
| 44 | 
                    + replace:  | 
            |
| 45 | 
                    +        path: "{{ gitolite_user_home }}/.gitolite/conf/gitolite.conf"
                 | 
            |
| 46 | 
                    +        regexp: '^[ \t\n]*repo[ \t]+{{ item }}((?!^repo)(.|\n))*'
                 | 
            |
| 47 | 
                    + notify: 'gitolite compile'  | 
            |
| 48 | 
                    +      loop: "{{ default_repos }}"
                 | 
            |
| 49 | 
                    +  | 
            |
| 50 | 
                    + - name: "Create keydir"  | 
            |
| 51 | 
                    + file:  | 
            |
| 52 | 
                    +        path: "{{ gitolite_user_home }}/.gitolite/keydir"
                 | 
            |
| 53 | 
                    + state: 'directory'  | 
            |
| 54 | 
                    + notify: 'gitolite compile'  |