diff options
author | Christian Pointner <equinox@spreadspace.org> | 2022-11-13 23:52:17 +0100 |
---|---|---|
committer | Christian Pointner <equinox@spreadspace.org> | 2022-11-13 23:52:17 +0100 |
commit | 5d69851df2cb01394ddfdc136fcc753febde3b38 (patch) | |
tree | 734ed8aa384f90d397104137093fe6c03d2e4ecc /roles/gitolite/http/tasks | |
parent | add gitolite/base role (diff) |
add cgit support for gitolite repos
Diffstat (limited to 'roles/gitolite/http/tasks')
-rw-r--r-- | roles/gitolite/http/tasks/main.yml | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/roles/gitolite/http/tasks/main.yml b/roles/gitolite/http/tasks/main.yml new file mode 100644 index 00000000..a3055902 --- /dev/null +++ b/roles/gitolite/http/tasks/main.yml @@ -0,0 +1,61 @@ +--- +- name: install cgit and fcgiwrap + apt: + name: + - cgit + - python3-pygments + - fcgiwrap + state: present + +### TODO: this might break stuff.. +- name: mask default fcgiwrap systemd units + loop: + - socket + - service + systemd: + name: "fcgiwrap.{{ item }}" + state: stopped + masked: yes + +- name: install fcgiwrap systemd units + loop: + - socket + - service + template: + src: "fcgiwrap.{{ item }}.j2" + dest: "/etc/systemd/system/fcgiwrap-gitolite-{{ gitolite_instance }}.{{ item }}" + +- name: make sure fcgiwrap systemd socket unit is enabled and started + systemd: + daemon_reload: yes + name: "fcgiwrap-gitolite-{{ gitolite_instance }}.socket" + state: started + enabled: yes + +- name: generate cgitrc + template: + src: cgitrc.j2 + dest: "{{ gitolite_base_path }}/{{ gitolite_instance }}/cgitrc" + +- name: install custom logo + when: "'logo' in gitolite_instances[gitolite_instance].http" + block: + - name: create logo base directory + file: + path: /usr/local/share/cgit + state: directory + + - name: copy logo file + copy: + src: "{{ gitolite_instances[gitolite_instance].http.logo }}" + dest: "/usr/local/share/cgit/{{ gitolite_instance }}.png" + +- name: install nginx vhost + vars: + nginx_vhost: + name: "gitolite-{{ gitolite_instance }}" + acme: true + hostnames: "{{ gitolite_instances[gitolite_instance].http.hostnames }}" + content: "{{ lookup('template', 'nginx-vhost.conf.j2') }}" + include_role: + name: nginx/vhost |