From f83652e0e723af7afbeb3494ed888db76d5efa82 Mon Sep 17 00:00:00 2001 From: binary Date: Sun, 17 Jan 2021 19:21:43 +0100 Subject: Add cgit deploiement role with configuration --- roles/cgit/tasks/main.yml | 80 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 80 insertions(+) (limited to 'roles/cgit/tasks') diff --git a/roles/cgit/tasks/main.yml b/roles/cgit/tasks/main.yml index 3a20a59..424a07e 100644 --- a/roles/cgit/tasks/main.yml +++ b/roles/cgit/tasks/main.yml @@ -9,6 +9,86 @@ name: cgit state: present +- name: generate cgit configuration file + template: + src: cgitrc.j2 + dest: /var/www/conf/cgitrc + owner: "{{ user_root }}" + group: "{{ group_root }}" + mode: 0644 + +- name: generate cgit configuration for httpd + template: + src: cgit.httpd.conf.j2 + dest: /etc/httpd.d/cgit.conf + owner: "{{ user_root }}" + group: "{{ group_root }}" + mode: 0644 + +- name: copy utility in httpd chroot + copy: + src: "/bin/{{ item }}" + dest: /var/www/bin + remote_src: true + loop: + - "sh" + - "cat" + +- name: copy about-filter generator + copy: + src: about-filter.sh + dest: /var/www/bin/about-filter.sh + owner: "{{ user_root }}" + group: "{{ group_root }}" + mode: 0755 + +- name: unmount potential existing filesystem in target directory + shell: "umount /var/www/{{ cgit_git_dir_chroot }}" + +- name: ensure cgit web directory exists + file: + path: /var/www/{{ cgit_git_dir_chroot }} + owner: www + group: daemon + mode: 0644 + state: directory + +- name: enable shared git directory in /etc/exports + lineinfile: + path: /etc/exports + regexp: "^{{ cgit_git_dir }}" + line: "{{ cgit_git_dir }} -mapall=root -alldirs -network=127.0.0.1 -mask=255.255.255.255 -ro" + owner: "{{ user_root }}" + group: "{{ group_root }}" + mode: 0644 + create: true + +- name: enable shared git directory in /etc/exports + lineinfile: + path: /etc/fstab + regexp: "^localhost:{{ cgit_git_dir }}" + line: "localhost:{{ cgit_git_dir }} /var/www/{{ cgit_git_dir_chroot }} nfs rw,nodev,nosuid,soft,intr 0 0" + +- name: start and enable share directory + service: + name: "{{ item }}" + state: restarted + enabled: true + loop: + - "portmap" + - "nfsd" + +- name: start and enable mountd + shell: | + rcctl enable mountd + pkill -9 mountd + rcctl start mountd + +- name: ensure nfs volume is mounted + shell: mount -A + register: result + failed_when: result.rc != 0 and "Device busy" is not in result.stderr + - name: start and enable slowcgi service service: name: slowcgi -- cgit v1.2.3