diff options
Diffstat (limited to 'roles/gitano_server/tasks')
-rw-r--r-- | roles/gitano_server/tasks/cgit.yml | 50 | ||||
-rw-r--r-- | roles/gitano_server/tasks/git-daemon.yml | 22 | ||||
-rw-r--r-- | roles/gitano_server/tasks/gitano.yml | 43 | ||||
-rw-r--r-- | roles/gitano_server/tasks/main.yml | 3 |
4 files changed, 118 insertions, 0 deletions
diff --git a/roles/gitano_server/tasks/cgit.yml b/roles/gitano_server/tasks/cgit.yml new file mode 100644 index 0000000..fff0d93 --- /dev/null +++ b/roles/gitano_server/tasks/cgit.yml @@ -0,0 +1,50 @@ +- name: install cgit + apt: name=cgit + +- name: enable modules for Apache + shell: + "a2enmod {{ item }}" + with_items: + - cgi + - rewrite + +- name: create empty dir as cgi docroot + file: + state: directory + path: /var/lib/misc/cgit-docroot + owner: root + group: root + mode: 0755 + +- name: create directories for Apache log files + file: + state: directory + path: "/var/log/apache2/{{ item }}" + owner: root + group: root + mode: 0755 + with_items: "{{ cgit_hosts }}" + +# This only works with exactly one item in cgit_hosts. To be fixed if +# there's need for more someday. +- name: install cgitrc + template: + src: cgitrc.j2 + dest: /etc/cgitrc + owner: root + group: root + mode: 0755 + with_items: "{{ cgit_hosts }}" + +- name: install apache virtualhosts + template: + src: apache-cgit-host.j2 + dest: "/etc/apache2/sites-available/{{ item }}.conf" + owner: root + group: root + mode: 0755 + with_items: "{{ cgit_hosts }}" + +- name: enable virtualhosts + shell: "a2ensite {{ item }}" + with_items: "{{ cgit_hosts }}" diff --git a/roles/gitano_server/tasks/git-daemon.yml b/roles/gitano_server/tasks/git-daemon.yml new file mode 100644 index 0000000..e3e15f1 --- /dev/null +++ b/roles/gitano_server/tasks/git-daemon.yml @@ -0,0 +1,22 @@ +- name: copy over git-daemon.service + copy: + src: git-daemon.service + dest: /lib/systemd/system/git-daemon@.service + owner: root + group: root + mode: 0644 + +- name: copy over git-daemon.socket + copy: + src: git-daemon.socket + dest: /lib/systemd/system/git-daemon.socket + owner: root + group: root + mode: 0644 + +- name: start git-daemon.socket + systemd: + name: git-daemon.socket + daemon_reload: yes + state: started + enabled: yes diff --git a/roles/gitano_server/tasks/gitano.yml b/roles/gitano_server/tasks/gitano.yml new file mode 100644 index 0000000..7d7b4fb --- /dev/null +++ b/roles/gitano_server/tasks/gitano.yml @@ -0,0 +1,43 @@ +- name: install gitano + apt: name=gitano + +- name: create Unix user git + user: + name: git + comment: "Gitano server" + system: yes + +- name: install bypass ssh key to git user auth keys + authorized_key: + user: git + state: present + key: "{{ lookup('file', gitano_bypass_pub) }}" + +- name: copy over gitano admin public key + copy: + src: "{{ gitano_admin_pub }}" + dest: /home/git/admin.pub + owner: git + group: git + mode: 0644 + +- name: copy over gitano bypass public key + copy: + src: "{{ gitano_bypass_pub }}" + dest: /home/git/bypass.pub + owner: git + group: git + mode: 0644 + +- name: "copy over gitano-setup.answers" + template: + src: gitano-setup.answers + dest: /home/git/gitano-setup.answers + owner: git + group: git + mode: 0644 + +- name: run gitano-setup + shell: sudo -i -u git gitano-setup /home/git/gitano-setup.answers + args: + creates: /home/git/repos diff --git a/roles/gitano_server/tasks/main.yml b/roles/gitano_server/tasks/main.yml new file mode 100644 index 0000000..08486fa --- /dev/null +++ b/roles/gitano_server/tasks/main.yml @@ -0,0 +1,3 @@ +- include: gitano.yml +- include: git-daemon.yml +- include: cgit.yml |