---

- name: install git package
  ansible.builtin.package:
    name: git
    state: present

- name: create git group
  ansible.builtin.group:
    name: "{{ git_group }}"
    state: present

- name: create git user
  ansible.builtin.user:
    name: "{{ git_user }}"
    group: "{{ git_group }}"
    shell: "{{ git_shell }}"
    home: "{{ git_dir }}"
    create_home: true

- name: create git directories
  ansible.builtin.file:
    path: "{{ git_dir }}/git-shell-commands"
    owner: "{{ git_user }}"
    group: "{{ git_group }}"
    state: directory
    mode: "0755"

- name: generate git-shell no-login prompt
  ansible.builtin.template:
    src: no-interactive-login.j2
    dest: "{{ git_dir }}/git-shell-commands/no-interactive-login"
    owner: "{{ git_user }}"
    group: "{{ git_group }}"
    mode: "0744"
  when: not git_allow_ssh_login

- name: generate gitconfig
  ansible.builtin.template:
    src: gitconfig.j2
    dest: "{{ git_dir }}/.gitconfig"
    owner: "{{ git_user }}"
    group: "{{ git_group }}"
    mode: "0644"