summaryrefslogtreecommitdiff
path: root/roles/gitano_server/tasks
diff options
context:
space:
mode:
Diffstat (limited to 'roles/gitano_server/tasks')
-rw-r--r--roles/gitano_server/tasks/cgit.yml50
-rw-r--r--roles/gitano_server/tasks/git-daemon.yml22
-rw-r--r--roles/gitano_server/tasks/gitano.yml43
-rw-r--r--roles/gitano_server/tasks/main.yml3
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