summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam Thursfield <sam.thursfield@codethink.co.uk>2017-10-20 16:49:10 +0100
committerBen Brown <ben.brown@codethink.co.uk>2017-10-23 11:11:14 +0000
commit7a50ac10820b66a588513e9c6438e249bf9f7d12 (patch)
treebce2e832a1c13901a37879e53051f5fe12c91ee6
parentd28577c8f0f602e92e722ac0d2561b86bf618484 (diff)
downloadinfrastructure-7a50ac10820b66a588513e9c6438e249bf9f7d12.tar.gz
Move brlogger bot into the webserver machine
-rw-r--r--README.md1
-rw-r--r--baserock_irclogs/clusters/irclogs.morph17
-rw-r--r--baserock_irclogs/files/lighttpd-irclogs.conf16
-rw-r--r--baserock_irclogs/files/lighttpd-irclogs.service11
-rw-r--r--baserock_irclogs/irclogs.configure45
-rw-r--r--baserock_irclogs/strata/irclogs.morph18
-rw-r--r--baserock_irclogs/systems/irclogs-x86_64.morph33
-rw-r--r--baserock_webserver/instance-irclogs-config.yml46
-rw-r--r--baserock_webserver/irclogs/irclogs-generation.service (renamed from baserock_irclogs/files/irclogs-generation.service)10
-rw-r--r--baserock_webserver/irclogs/irclogs-generation.timer (renamed from baserock_irclogs/files/irclogs-generation.timer)0
-rw-r--r--baserock_webserver/irclogs/supybot-baserock.conf (renamed from baserock_irclogs/files/baserock.conf)0
-rw-r--r--baserock_webserver/irclogs/supybot.service (renamed from baserock_irclogs/files/supybot.service)0
12 files changed, 52 insertions, 145 deletions
diff --git a/README.md b/README.md
index b4dc1892..0b81ec8f 100644
--- a/README.md
+++ b/README.md
@@ -402,6 +402,7 @@ To deploy to production:
ansible-playbook -i hosts baserock_webserver/instance-config.yml
ansible-playbook -i hosts baserock_webserver/instance-gitlab-bot-config.yml \
--vault-password-file ~/vault-infra-pass
+ ansible-playbook -i hosts baserock_webserver/instance-irclogs-config.yml
The webserver machine runs [Cherokee](http://cherokee-project.com/). You
can use the `cherokee-admin` configuration UI, by connecting to the webserver
diff --git a/baserock_irclogs/clusters/irclogs.morph b/baserock_irclogs/clusters/irclogs.morph
deleted file mode 100644
index 60a0bd07..00000000
--- a/baserock_irclogs/clusters/irclogs.morph
+++ /dev/null
@@ -1,17 +0,0 @@
-name: irclogs
-kind: cluster
-systems:
-- morph: baserock_irclogs/systems/irclogs-x86_64.morph
- deploy:
- irclogs:
- type: extensions/openstack
- location: http://compute.datacentred.io:5000/v2.0/
-
- upgrade-type: extensions/ssh-rsync
- upgrade-location: root@192.168.222.74
-
- DISK_SIZE: 4G
- HOSTNAME: irclogs
- CLOUD_INIT: true
- KERNEL_ARGS: console=ttyS0 console=tty0
- OPENSTACK_IMAGENAME: irclogs
diff --git a/baserock_irclogs/files/lighttpd-irclogs.conf b/baserock_irclogs/files/lighttpd-irclogs.conf
deleted file mode 100644
index 0b40346a..00000000
--- a/baserock_irclogs/files/lighttpd-irclogs.conf
+++ /dev/null
@@ -1,16 +0,0 @@
-server.document-root = "/srv/irclogs/"
-
-server.port = 80
-
-server.username = "supybot"
-server.groupname = "supybot"
-
-mimetype.assign = (
- ".html" => "text/html",
- ".css" => "text/css",
- ".txt" => "text/plain",
- ".jpg" => "image/jpeg",
- ".png" => "image/png"
-)
-
-index-file.names = ( "index.html" )
diff --git a/baserock_irclogs/files/lighttpd-irclogs.service b/baserock_irclogs/files/lighttpd-irclogs.service
deleted file mode 100644
index 1c09b0d9..00000000
--- a/baserock_irclogs/files/lighttpd-irclogs.service
+++ /dev/null
@@ -1,11 +0,0 @@
-[Install]
-WantedBy=multi-user.target
-
-[Unit]
-Description=Lighttpd Web Server
-After=network.target
-
-[Service]
-ExecStart=/usr/sbin/lighttpd -f /etc/lighttpd-irclogs.conf -D
-Restart=always
-
diff --git a/baserock_irclogs/irclogs.configure b/baserock_irclogs/irclogs.configure
deleted file mode 100644
index 8a2421ef..00000000
--- a/baserock_irclogs/irclogs.configure
+++ /dev/null
@@ -1,45 +0,0 @@
-#!/bin/sh
-# Copyright (C) 2014 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.5
-#
-# 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, write to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-
-set -e
-
-ROOT="$1"
-
-echo 'supybot:x:1010:1010:Supybot User:/home/supybot:/bin/bash' >> "$ROOT/etc/passwd"
-echo 'supybot:x:1010:' >> "$ROOT/etc/group"
-mkdir -p "$ROOT/home/supybot"
-mkdir -p "$ROOT/srv/irclogs"
-chown -R 1010:1010 "$ROOT/home/supybot"
-chown -R 1010:1010 "$ROOT/srv/irclogs"
-
-# Copy supybot configuration
-install -m 644 -g 1010 -o 1010 baserock_irclogs/files/baserock.conf "$ROOT"/home/supybot/supybot-baserock.conf
-
-
-# Enable all the services needed
-services="irclogs-generation.service \
-irclogs-generation.timer \
-lighttpd-irclogs.service \
-supybot.service"
-
-for service in $services; do
- cp "baserock_irclogs/files/$service" "$ROOT/etc/systemd/system/$service"
- ln -sf "/etc/systemd/system/$service" \
- "$ROOT/etc/systemd/system/multi-user.target.wants/$service"
-done
-
-# Copy lighttpd configuration
-cp baserock_irclogs/files/lighttpd-irclogs.conf "$ROOT"/etc/lighttpd-irclogs.conf
diff --git a/baserock_irclogs/strata/irclogs.morph b/baserock_irclogs/strata/irclogs.morph
deleted file mode 100644
index 3dd7081c..00000000
--- a/baserock_irclogs/strata/irclogs.morph
+++ /dev/null
@@ -1,18 +0,0 @@
-name: irclogs
-kind: stratum
-description: Tools to create irclogs of a IRC channel
-build-depends:
-- morph: strata/python2-core.morph
-chunks:
-- name: supybot
- repo: http://gitorious.org/supybot/supybot.git
- ref: 27a4ef0ed338a38f34180012cee7ec55a5ae11d9
- unpetrify-ref: v0.83.4.1
- build-depends: []
- build-system: python-distutils
-- name: irclog2html
- repo: git://github.com/mgedmin/irclog2html
- ref: 2e399c2bdbe2442794d0ac7aa3a3941f826c74dc
- unpetrify-ref: 2.14.0
- build-depends: []
- build-system: python-distutils
diff --git a/baserock_irclogs/systems/irclogs-x86_64.morph b/baserock_irclogs/systems/irclogs-x86_64.morph
deleted file mode 100644
index 03eb7409..00000000
--- a/baserock_irclogs/systems/irclogs-x86_64.morph
+++ /dev/null
@@ -1,33 +0,0 @@
-name: irclogs-system-x86_64
-kind: system
-description: |
- The IRC logging system that runs at <http://irclogs.baserock.org>.
-arch: x86_64
-strata:
-- name: build-essential
- morph: strata/build-essential.morph
-- name: core
- morph: strata/core.morph
-- name: python2-core
- morph: strata/python2-core.morph
-- name: foundation
- morph: strata/foundation.morph
-- name: bsp-x86_64-generic
- morph: strata/bsp-x86_64-generic.morph
-- name: tools
- morph: strata/tools.morph
-- name: irclogs
- morph: baserock_irclogs/strata/irclogs.morph
-- name: pcre-utils
- morph: strata/pcre-utils.morph
-- name: lighttpd-server
- morph: strata/lighttpd-server.morph
-- name: cloudinit-support
- morph: strata/cloudinit-support.morph
-configuration-extensions:
-- extensions/set-hostname
-- extensions/add-config-files
-- extensions/nfsboot
-- extensions/install-files
-- extensions/cloud-init
-- baserock_irclogs/irclogs
diff --git a/baserock_webserver/instance-irclogs-config.yml b/baserock_webserver/instance-irclogs-config.yml
new file mode 100644
index 00000000..bdb23962
--- /dev/null
+++ b/baserock_webserver/instance-irclogs-config.yml
@@ -0,0 +1,46 @@
+# Instance-specific configuration for the Baserock IRC logger.
+---
+- hosts: webserver
+ tasks:
+ - name: Install Supybot
+ dnf: name=supybot state=latest
+ become: yes
+ become_user: root
+
+ - name: Install irclog2html
+ dnf: name=irclog2html state=latest
+ become: yes
+ become_user: root
+
+ - name: supybot user
+ user: name=supybot
+ become: yes
+ become_user: root
+
+ - name: /srv/irclogs.baserock.org/
+ file: path=/srv/irclogs.baserock.org/ owner=supybot state=directory
+ become: yes
+ become_user: root
+
+ - name: supybot configuration
+ copy: src=irclogs/supybot-baserock.conf dest=/home/supybot/supybot-baserock.conf owner=supybot
+ become: yes
+ become_user: supybot
+
+ - name: install systemd units
+ copy: src=./irclogs/{{item}} dest=/etc/systemd/system/{{item}}
+ become: yes
+ become_user: root
+ with_items:
+ - irclogs-generation.service
+ - irclogs-generation.timer
+ - supybot.service
+
+ - name: enable systemd units
+ systemd: name={{item}} enabled=yes daemon_reload=yes state=started
+ become: yes
+ become_user: root
+ with_items:
+ - irclogs-generation.service
+ - irclogs-generation.timer
+ - supybot.service
diff --git a/baserock_irclogs/files/irclogs-generation.service b/baserock_webserver/irclogs/irclogs-generation.service
index 0d135f16..4be97ec5 100644
--- a/baserock_irclogs/files/irclogs-generation.service
+++ b/baserock_webserver/irclogs/irclogs-generation.service
@@ -6,19 +6,19 @@ Requires=supybot.service
Type=oneshot
User=supybot
ExecStart=/usr/bin/logs2html -t 'IRC logs for #baserock' -p 'IRC logs for #baserock for ' /home/supybot/logs/ChannelLogger/freenode/#baserock/
-ExecStart=/bin/sh -c "/usr/bin/rsync -a /home/supybot/logs/ChannelLogger/freenode/\#baserock/*html /home/supybot/logs/ChannelLogger/freenode/\#baserock/*css /srv/irclogs/"
+ExecStart=/bin/sh -c "/usr/bin/rsync -a /home/supybot/logs/ChannelLogger/freenode/\#baserock/*html /home/supybot/logs/ChannelLogger/freenode/\#baserock/*css /srv/irclogs.baserock.org/"
ExecStart=/usr/bin/logs2html -t 'IRC logs for #automotive' -p 'IRC logs for #automotive for ' /home/supybot/logs/ChannelLogger/freenode/#automotive/
-ExecStart=/bin/sh -c "/usr/bin/rsync -a /home/supybot/logs/ChannelLogger/freenode/\#automotive/*html /home/supybot/logs/ChannelLogger/freenode/\#automotive/*css /srv/irclogs/automotive"
+ExecStart=/bin/sh -c "/usr/bin/rsync -a /home/supybot/logs/ChannelLogger/freenode/\#automotive/*html /home/supybot/logs/ChannelLogger/freenode/\#automotive/*css /srv/irclogs.baserock.org/automotive"
ExecStart=/usr/bin/logs2html -t 'IRC logs for #cip' -p 'IRC logs for #cip for ' /home/supybot/logs/ChannelLogger/freenode/#cip/
-ExecStart=/bin/sh -c "/usr/bin/rsync -a /home/supybot/logs/ChannelLogger/freenode/\#cip/*html /home/supybot/logs/ChannelLogger/freenode/\#cip/*css /srv/irclogs/cip"
+ExecStart=/bin/sh -c "/usr/bin/rsync -a /home/supybot/logs/ChannelLogger/freenode/\#cip/*html /home/supybot/logs/ChannelLogger/freenode/\#cip/*css /srv/irclogs.baserock.org/cip"
ExecStart=/usr/bin/logs2html -t 'IRC logs for #trustable' -p 'IRC logs for #trustable for ' /home/supybot/logs/ChannelLogger/freenode/#trustable/
-ExecStart=/bin/sh -c "/usr/bin/rsync -a /home/supybot/logs/ChannelLogger/freenode/\#trustable/*html /home/supybot/logs/ChannelLogger/freenode/\#trustable/*css /srv/irclogs/trustable"
+ExecStart=/bin/sh -c "/usr/bin/rsync -a /home/supybot/logs/ChannelLogger/freenode/\#trustable/*html /home/supybot/logs/ChannelLogger/freenode/\#trustable/*css /srv/irclogs.baserock.org/trustable"
ExecStart=/usr/bin/logs2html -t 'IRC logs for #buildstream' -p 'IRC logs for #buildstream for ' /home/supybot/logs/ChannelLogger/gimp/#buildstream/
-ExecStart=/bin/sh -c "/usr/bin/rsync -a /home/supybot/logs/ChannelLogger/gimp/\#buildstream/*html /home/supybot/logs/ChannelLogger/gimp/\#buildstream/*css /srv/irclogs/buildstream"
+ExecStart=/bin/sh -c "/usr/bin/rsync -a /home/supybot/logs/ChannelLogger/gimp/\#buildstream/*html /home/supybot/logs/ChannelLogger/gimp/\#buildstream/*css /srv/irclogs.baserock.org/buildstream"
[Install]
WantedBy=multi-user.target
diff --git a/baserock_irclogs/files/irclogs-generation.timer b/baserock_webserver/irclogs/irclogs-generation.timer
index c236c3d6..c236c3d6 100644
--- a/baserock_irclogs/files/irclogs-generation.timer
+++ b/baserock_webserver/irclogs/irclogs-generation.timer
diff --git a/baserock_irclogs/files/baserock.conf b/baserock_webserver/irclogs/supybot-baserock.conf
index 2a73f6d5..2a73f6d5 100644
--- a/baserock_irclogs/files/baserock.conf
+++ b/baserock_webserver/irclogs/supybot-baserock.conf
diff --git a/baserock_irclogs/files/supybot.service b/baserock_webserver/irclogs/supybot.service
index 49720f70..49720f70 100644
--- a/baserock_irclogs/files/supybot.service
+++ b/baserock_webserver/irclogs/supybot.service