summaryrefslogtreecommitdiffstats
path: root/roles/wiki
diff options
context:
space:
mode:
Diffstat (limited to 'roles/wiki')
-rw-r--r--roles/wiki/defaults/main.yml2
-rw-r--r--roles/wiki/tasks/docker.yml57
-rw-r--r--roles/wiki/tasks/main.yml64
-rw-r--r--roles/wiki/templates/emacsconf.setup4
4 files changed, 66 insertions, 61 deletions
diff --git a/roles/wiki/defaults/main.yml b/roles/wiki/defaults/main.yml
index fedf090..66e570a 100644
--- a/roles/wiki/defaults/main.yml
+++ b/roles/wiki/defaults/main.yml
@@ -20,4 +20,4 @@ ikiwiki_git_wrapper: "{{ ikiwiki_path }}/hooks/emacsconf"
ikiwiki_git_test_receive_wrapper: "{{ ikiwiki_path }}/hooks/emacsconf-pre"
ikiwiki_git_base_url: //git.emacsconf.org/emacsconf-wiki
ikiwiki_cgi_wrapper: "{{ ikiwiki_path }}/ikiwiki.cgi"
-
+ikiwiki_bare_git_dir: git://git.emacsconf.org/emacsconf-wiki
diff --git a/roles/wiki/tasks/docker.yml b/roles/wiki/tasks/docker.yml
index 4c7fd06..2bfe613 100644
--- a/roles/wiki/tasks/docker.yml
+++ b/roles/wiki/tasks/docker.yml
@@ -4,50 +4,6 @@
- lighttpd
- supervisor
- sudo
-- name: Create the anon user
- user:
- name: anon
- state: present
- when: docker
-- name: Set up Ikiwiki setup
- template:
- src: emacsconf.setup
- dest: "{{ ikiwiki_path }}/emacsconf.setup"
- owner: www-data
- group: www-data
-- name: Set up the ikiwiki directories
- file:
- dest: "{{ ikiwiki_dest }}"
- state: directory
- owner: ikiwiki
- group: www-data
- recurse: true
-- name: Clone the bare git repo
- git:
- bare: true
- repo: "{{ ikiwiki_git_source_mount }}"
- dest: "{{ ikiwiki_bare_git_dir }}"
- version: "{{ ikiwiki_git_branch }}"
-- name: Set up post-update hook
- template:
- src: post-update
- dest: "{{ ikiwiki_bare_git_dir }}/hooks/post-update"
- mode: 0755
-- name: Remove sample
- file:
- path: "{{ ikiwiki_bare_git_dir }}/hooks/post-update.sample"
- state: absent
-- name: Set up ikiwiki post-update hook
- template:
- src: post-update.h00-ikiwiki-wrapper
- dest: "{{ ikiwiki_bare_git_dir }}/hooks/post-update.h00-ikiwiki-wrapper"
- mode: 0755
-- name: Change owner
- file:
- dest: "{{ ikiwiki_bare_git_dir }}"
- recurse: true
- owner: ikiwiki
- group: www-data
- name: Clone the working git repo
git:
repo: "{{ ikiwiki_bare_git_dir }}"
@@ -67,19 +23,6 @@
service:
name: lighttpd
state: started
-- name: Start ssh
- tags: ssh
- service:
- name: ssh
- state: started
-- name: Set up SSH directory
- tags: ssh
- file:
- path: /home/ikiwiki/.ssh
- owner: ikiwiki
- group: ikiwiki
- state: directory
- mode: 0700
- name: Set up SSH authentication
tags: ssh
block:
diff --git a/roles/wiki/tasks/main.yml b/roles/wiki/tasks/main.yml
index cd7cbdc..3ee7d4f 100644
--- a/roles/wiki/tasks/main.yml
+++ b/roles/wiki/tasks/main.yml
@@ -13,6 +13,11 @@
- nginx
- wget
state: present
+- name: Start ssh
+ tags: ssh
+ service:
+ name: ssh
+ state: started
- name: Create ikiwiki group
group:
name: ikiwiki
@@ -22,11 +27,63 @@
name: ikiwiki
group: ikiwiki
state: present
+- name: Create anon group
+ group:
+ name: anon
+ state: present
+- name: Create anon user
+ user:
+ name: anon
+ group: anon
+ state: present
+- include_tasks: bare-git.yml
+ when: docker or test_mode
+- name: Configure safe directory
+ shell: git config --global --add safe.directory "{{ ikiwiki_src_dir }}"
+- name: Clone the working git repo
+ git:
+ repo: "{{ ikiwiki_bare_git_dir }}"
+ dest: "{{ ikiwiki_src_dir }}"
+- name: Switch the source git repo to the branch
+ shell: git checkout "{{ ikiwiki_git_branch }}" 2>/dev/null || git checkout -b "{{ ikiwiki_git_branch }}"
+ args:
+ chdir: "{{ ikiwiki_src_dir }}"
+- name: Set the default branch policy
+ shell: git config --global pull.rebase false
+ become: true
+ become_user: ikiwiki
+- name: Set up SSH directory
+ tags: ssh
+ file:
+ path: /home/ikiwiki/.ssh
+ owner: ikiwiki
+ group: ikiwiki
+ state: directory
+ mode: 0700
+- name: Set up SSH key access
+ tags: wiki-test-keys
+ template:
+ src: authorized_keys
+ dest: "/home/ikiwiki/.ssh/authorized_keys"
+ mode: 0600
+ owner: ikiwiki
+ group: ikiwiki
+ when: test_mode
+- name: Set up the ikiwiki directories
+ file:
+ dest: "{{ ikiwiki_dest }}"
+ state: directory
+ owner: ikiwiki
+ group: ikiwiki
+ recurse: true
- name: Template the config
ansible.builtin.template:
src: emacsconf.setup
dest: "{{ ikiwiki_path }}/emacsconf.setup"
owner: ikiwiki
+ group: ikiwiki
+- include_tasks: nginx.yml
+ when: test_mode
- name: Create the plugin directory
file:
path: "{{ ikiwiki_plugin_path }}/IkiWiki/Plugin"
@@ -40,7 +97,7 @@
- copyright.pm
- htmlscrubber.pm
- license.pm
-- include: docker.yml
+- include_tasks: docker.yml
when: docker
- name: Chown all the files to ikiwiki
tags: wiki-plugins
@@ -48,7 +105,12 @@
dest: "{{ ikiwiki_path }}"
owner: ikiwiki
group: ikiwiki
+ state: directory
recurse: true
+- name: Debug
+ tags: dev-wiki
+ debug:
+ var: ikiwiki_path
- name: Regenerate all the files
tags: wiki-regenerate, wiki-plugins
become: true
diff --git a/roles/wiki/templates/emacsconf.setup b/roles/wiki/templates/emacsconf.setup
index d74fbb0..2cb114f 100644
--- a/roles/wiki/templates/emacsconf.setup
+++ b/roles/wiki/templates/emacsconf.setup
@@ -150,7 +150,7 @@ diffurl: {{ ikiwiki_git_base_url }}/diff/[[file]]?id=[[sha1_commit]]&id2=[[sha1_
# where to pull and push changes (set to empty string to disable)
#gitorigin_branch: origin
# branch that the wiki is stored in
-gitmaster_branch: {{ ikiwiki_git_branch }}
+#gitorigin_branch: {{ ikiwiki_git_branch }}
# htmlscrubber plugin
# PageSpec specifying pages not to scrub
@@ -200,7 +200,7 @@ atom: 1
# PageSpec controlling which pages are locked
#locked_pages: '!*/Discussion'
#locked_pages: 'index or edit'
-locked_pages: 'edit'
+locked_pages: 'edit or donate or donors'
# moderatedcomments plugin
# PageSpec matching users or comment locations to moderate