diff options
author | Sam Thursfield <sam.thursfield@codethink.co.uk> | 2016-02-29 18:32:53 +0000 |
---|---|---|
committer | Sam Thursfield <sam.thursfield@codethink.co.uk> | 2016-03-01 10:47:02 +0000 |
commit | 843d0128ee4b1bc8ebb73ba8f2857637485c4e18 (patch) | |
tree | c80ef6bba2d0ef6b90c1beac81bf78d4dc4272ef /baserock_webserver | |
parent | 4b2f52896a8b63dac96a061772448b41ba06ac94 (diff) | |
download | infrastructure-843d0128ee4b1bc8ebb73ba8f2857637485c4e18.tar.gz |
Add docs.baserock.org, which renders spec.git as HTML and serves it
Change-Id: I99ab72ad50d43da58c867b6d3ccd972b8e3e4bab
Diffstat (limited to 'baserock_webserver')
5 files changed, 111 insertions, 0 deletions
diff --git a/baserock_webserver/etc/cherokee/cherokee.conf b/baserock_webserver/etc/cherokee/cherokee.conf index 6b6a3d7a..987f22ea 100644 --- a/baserock_webserver/etc/cherokee/cherokee.conf +++ b/baserock_webserver/etc/cherokee/cherokee.conf @@ -61,6 +61,19 @@ vserver!2!rule!1!handler!rewrite!10!regex = ^.*$ vserver!2!rule!1!handler!rewrite!10!show = 1 vserver!2!rule!1!handler!rewrite!10!substring = /baserock/ vserver!2!rule!1!match = default +vserver!3!directory_index = index.html +vserver!3!document_root = /srv/docs.baserock.org +vserver!3!nick = docs.baserock.org +vserver!3!rule!3!document_root = /usr/share/cherokee/themes +vserver!3!rule!3!handler = file +vserver!3!rule!3!match = directory +vserver!3!rule!3!match!directory = /cherokee_themes +vserver!3!rule!2!document_root = /usr/share/cherokee/icons +vserver!3!rule!2!handler = file +vserver!3!rule!2!match = directory +vserver!3!rule!2!match!directory = /cherokee_icons +vserver!3!rule!1!handler = common +vserver!3!rule!1!match = default icons!default = page_white.png icons!directory = folder.png icons!file!bomb.png = core diff --git a/baserock_webserver/etc/systemd/system/generate-docs.baserock.org.service b/baserock_webserver/etc/systemd/system/generate-docs.baserock.org.service new file mode 100644 index 00000000..93ec6e7f --- /dev/null +++ b/baserock_webserver/etc/systemd/system/generate-docs.baserock.org.service @@ -0,0 +1,11 @@ +[Unit] +Description = Generate docs.baserock.org content + +[Service] +Type = oneshot +ExecStart = /home/fedora/generate-docs.baserock.org +User = fedora +Group = fedora + +[Install] +WantedBy=default.target diff --git a/baserock_webserver/etc/systemd/system/generate-docs.baserock.org.timer b/baserock_webserver/etc/systemd/system/generate-docs.baserock.org.timer new file mode 100644 index 00000000..d78f677b --- /dev/null +++ b/baserock_webserver/etc/systemd/system/generate-docs.baserock.org.timer @@ -0,0 +1,8 @@ +[Unit] +Description = Generate docs.baserock.org content + +[Timer] +OnUnitActiveSec = 10min + +[Install] +WantedBy = default.target diff --git a/baserock_webserver/generate-docs.baserock.org b/baserock_webserver/generate-docs.baserock.org new file mode 100755 index 00000000..581ab5de --- /dev/null +++ b/baserock_webserver/generate-docs.baserock.org @@ -0,0 +1,36 @@ +#!/bin/sh +# +# Copyright (C) 2016 Codethink Limited +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; version 2 of the License. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see <http://www.gnu.org/licenses/>. + + +# Generator script for docs.baserock.org website. +# +# This can be run as a cron job or Git post-receive hook, to get auto-updating +# documentation built from Git repos. + + +set -e + +cd ~ +if [ ! -d spec.git ]; then + git clone git://git.baserock.org/baserock/baserock/spec.git spec.git + cd spec.git +else + cd spec.git + git checkout master + git pull origin master +fi + +~/.local/bin/mkdocs build diff --git a/baserock_webserver/instance-docs.baserock.org-config.yml b/baserock_webserver/instance-docs.baserock.org-config.yml new file mode 100644 index 00000000..e5910579 --- /dev/null +++ b/baserock_webserver/instance-docs.baserock.org-config.yml @@ -0,0 +1,43 @@ +# Configuration for docs.baserock.org site. +# +# This expects to be run after image-config.yml. +- hosts: webserver + gather_facts: False + tasks: + - name: /srv/docs.baserock.org/ + file: path=/srv/docs.baserock.org/ owner=fedora state=directory + + - name: git + dnf: name=git state=latest + sudo: yes + + - name: mkdocs documentation generator + pip: name=mkdocs executable=pip3.4 extra_args="--user" + + # A lot of the mkdocs themes are totally broken without Javascript, which + # is stupid. This one looks a little bit ugly without Javascript, but it + # is mostly usable. + - name: mkdocs 'material' theme + pip: name=mkdocs-material executable=pip3.4 extra_args="--user" + + - name: generate-docs.baserock.org script + copy: src=generate-docs.baserock.org dest=/home/fedora/ mode=755 + + - name: generate-docs.baserock.org systemd unit + copy: src=etc/systemd/system/generate-docs.baserock.org.service dest=/etc/systemd/system/ + sudo: yes + + - name: generate-docs.baserock.org systemd timer + copy: src=etc/systemd/system/generate-docs.baserock.org.timer dest=/etc/systemd/system/ + sudo: yes + + # FIXME: it would be much cooler to monitor the output of `gerrit + # stream-events`, or have a git post-receive hook installed on + # git.baserock.org to trigger this. + - name: enable generate-docs.baserock.org timer + service: name=generate-docs.baserock.org.timer state=started enabled=yes + sudo: yes + + - name: enable generate-docs.baserock.org service + service: name=generate-docs.baserock.org.service enabled=yes + sudo: yes |