aboutsummaryrefslogtreecommitdiffstats
path: root/roles/git/tasks/main.yml
diff options
context:
space:
mode:
Diffstat (limited to 'roles/git/tasks/main.yml')
-rw-r--r--roles/git/tasks/main.yml42
1 files changed, 38 insertions, 4 deletions
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
remember that computers suck.