# git ~~ roles/git/tasks/main.yml # Init git user and settings --- - name: ensure git package is present package: name=git state=present - name: ensure git group exists group: name: "{{ git_group }}" state: present - name: ensure git user exists user: name: "{{ git_user }}" group: "{{ git_group }}" shell: "{{ git_shell }}" home: "/home/{{ git_user }}" create_home: false - name: ensure git home directory is not created file: path="/home/{{ git_user }}" state=absent - name: ensure git-only directory exists file: path: "{{ git_dir }}" owner: "{{ git_user }}" group: "{{ git_group }}" state: directory mode: 0755 - name: link git user home directory with git root repository file: src: "{{ git_dir }}" dest: "/home/{{ git_user }}" owner: "{{ git_user }}" group: "{{ git_group }}" mode: 0750 force: true state: link - name: ensure git-shell-commands directory exists file: path: "/home/{{ git_user }}/git-shell-commands" owner: "{{ git_user }}" group: "{{ git_group }}" state: directory mode: 0755 - name: generate git-shell no-login prompt template: src: no-interactive-login.j2 dest: "/home/{{ git_user }}/git-shell-commands/no-interactive-login" owner: "{{ git_user }}" group: "{{ git_group }}" mode: 0744 when: git_nologin is defined and git_nologin