diff options
author | Sam Thursfield <sam.thursfield@codethink.co.uk> | 2017-10-20 16:49:10 +0100 |
---|---|---|
committer | Ben Brown <ben.brown@codethink.co.uk> | 2017-10-23 11:11:14 +0000 |
commit | 7a50ac10820b66a588513e9c6438e249bf9f7d12 (patch) | |
tree | bce2e832a1c13901a37879e53051f5fe12c91ee6 | |
parent | d28577c8f0f602e92e722ac0d2561b86bf618484 (diff) | |
download | infrastructure-7a50ac10820b66a588513e9c6438e249bf9f7d12.tar.gz |
Move brlogger bot into the webserver machine
-rw-r--r-- | README.md | 1 | ||||
-rw-r--r-- | baserock_irclogs/clusters/irclogs.morph | 17 | ||||
-rw-r--r-- | baserock_irclogs/files/lighttpd-irclogs.conf | 16 | ||||
-rw-r--r-- | baserock_irclogs/files/lighttpd-irclogs.service | 11 | ||||
-rw-r--r-- | baserock_irclogs/irclogs.configure | 45 | ||||
-rw-r--r-- | baserock_irclogs/strata/irclogs.morph | 18 | ||||
-rw-r--r-- | baserock_irclogs/systems/irclogs-x86_64.morph | 33 | ||||
-rw-r--r-- | baserock_webserver/instance-irclogs-config.yml | 46 | ||||
-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
@@ -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 |