summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitry Ilvokhin <d@ilvokhin.com>2024-05-03 20:46:45 +0100
committerDmitry Ilvokhin <d@ilvokhin.com>2024-05-03 20:46:45 +0100
commitc6483994e13a62551ef22ed75433582b0ac96813 (patch)
treebc7d61a8b32f7dad7d251453b5303090aa205326
parente184bdcaaf94596fdf9e9364eb0e85c01f589394 (diff)
downloadinfra-c6483994e13a62551ef22ed75433582b0ac96813.tar.gz
infra-c6483994e13a62551ef22ed75433582b0ac96813.tar.bz2
infra-c6483994e13a62551ef22ed75433582b0ac96813.zip
Do not export everything with git-daemon
We should export only repositories with git-daemon-export-ok file inside.
-rw-r--r--roles/gitserver/files/git-daemon.service14
-rw-r--r--roles/gitserver/tasks/main.yml11
2 files changed, 24 insertions, 1 deletions
diff --git a/roles/gitserver/files/git-daemon.service b/roles/gitserver/files/git-daemon.service
new file mode 100644
index 0000000..e08d066
--- /dev/null
+++ b/roles/gitserver/files/git-daemon.service
@@ -0,0 +1,14 @@
+[Unit]
+Description=Git Daemon Instance
+
+[Service]
+User=git
+# The '-' is to ignore non-zero exit statuses
+ExecStart=-/usr/lib/git-core/git-daemon --inetd --base-path=/srv/git
+StandardInput=socket
+StandardOutput=inherit
+StandardError=journal
+ProtectSystem=full
+ProtectHome=on
+PrivateDevices=on
+NoNewPrivileges=on
diff --git a/roles/gitserver/tasks/main.yml b/roles/gitserver/tasks/main.yml
index fb1377e..fdcf55a 100644
--- a/roles/gitserver/tasks/main.yml
+++ b/roles/gitserver/tasks/main.yml
@@ -65,11 +65,20 @@
group: git
mode: u+rwx,g+r,o+r
+- name: Configure git-daemon systemd service
+ ansible.builtin.copy:
+ src: files/git-daemon.service
+ dest: /usr/lib/systemd/system/git-daemon@.service
+ owner: root
+ group: root
+ mode: u+rw,g+r,o+r
+
- name: Enable git-daemon
- ansible.builtin.service:
+ ansible.builtin.systemd_service:
name: git-daemon.socket
enabled: yes
state: started
+ daemon_reload: true
- name: Setup auth directory for git
ansible.builtin.file: