From f8124a3dac2a52053fab01e21f229e7a042365e9 Mon Sep 17 00:00:00 2001 From: binary Date: Mon, 18 Jan 2021 08:53:28 +0100 Subject: Move git user directory for relative path clone url --- roles/git/tasks/main.yml | 42 ++++++++++++++++++++++++++--- roles/git/templates/no-interactive-login.j2 | 7 +++++ roles/git/vars/main.yml | 1 + 3 files changed, 46 insertions(+), 4 deletions(-) create mode 100644 roles/git/templates/no-interactive-login.j2 diff --git a/roles/git/tasks/main.yml b/roles/git/tasks/main.yml index 24a9d2d..70b887d 100644 --- a/roles/git/tasks/main.yml +++ b/roles/git/tasks/main.yml @@ -4,18 +4,26 @@ --- -- name: create git group +- name: ensure git package is present + package: name=git state=present + +- name: ensure git group exists group: name: "{{ git_group }}" state: present -- name: create git user +- name: ensure git user exists user: name: "{{ git_user }}" group: "{{ git_group }}" - shell: "{{ path_gitshell }}" + 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: create git-only directory +- name: ensure git-only directory exists file: path: "{{ git_dir }}" owner: "{{ git_user }}" @@ -23,3 +31,29 @@ state: directory mode: 0750 +- 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 diff --git a/roles/git/templates/no-interactive-login.j2 b/roles/git/templates/no-interactive-login.j2 new file mode 100644 index 0000000..bfe6011 --- /dev/null +++ b/roles/git/templates/no-interactive-login.j2 @@ -0,0 +1,7 @@ +#!/bin/sh + +cat <