summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPedro Alvarez <pedro.alvarez@codethink.co.uk>2021-08-18 08:18:47 +0200
committerPedro Alvarez <pedro.alvarez@codethink.co.uk>2021-09-09 16:49:25 +0100
commitf72496241cd197cf06a25ed203b0cc76aee682da (patch)
treed7abf240f07d71f88ff6277b4d5e375786f138bf
parent6cbf77d26ad36c915877b568aa5921538e67b87e (diff)
downloadinfrastructure-f72496241cd197cf06a25ed203b0cc76aee682da.tar.gz
baserock_webserver: Move to Ubuntu and Nginx
-rw-r--r--baserock_webserver/etc/cherokee/cherokee.conf337
-rw-r--r--baserock_webserver/files/download-baserock-org.conf11
-rw-r--r--baserock_webserver/files/irclogs-baserock-org.conf10
-rw-r--r--baserock_webserver/gitlabirced/gitlabirced.service.in6
-rw-r--r--baserock_webserver/image-config.yml45
-rw-r--r--baserock_webserver/instance-config.yml39
-rw-r--r--baserock_webserver/instance-gitlabirced-config.yml2
-rw-r--r--baserock_webserver/instance-hastebin-config.yml18
-rw-r--r--baserock_webserver/instance-irclogs-config.yml49
-rw-r--r--baserock_webserver/irclogs/irclogs-generation.service12
-rw-r--r--baserock_webserver/irclogs/supybot.service2
11 files changed, 137 insertions, 394 deletions
diff --git a/baserock_webserver/etc/cherokee/cherokee.conf b/baserock_webserver/etc/cherokee/cherokee.conf
deleted file mode 100644
index c248b0f4..00000000
--- a/baserock_webserver/etc/cherokee/cherokee.conf
+++ /dev/null
@@ -1,337 +0,0 @@
-config!version = 001002103
-server!bind!1!port = 80
-server!collector = rrd
-server!group = cherokee
-server!keepalive = 1
-server!keepalive_max_requests = 500
-server!panic_action = /usr/bin/cherokee-panic
-server!pid_file = /var/run/cherokee.pid
-server!server_tokens = full
-server!timeout = 15
-server!user = cherokee
-vserver!1!collector!enabled = 1
-vserver!1!directory_index = index.html
-vserver!1!document_root = /var/www/cherokee
-vserver!1!error_writer!filename = /var/log/cherokee/error_log
-vserver!1!error_writer!type = file
-vserver!1!logger = combined
-vserver!1!logger!access!buffsize = 16384
-vserver!1!logger!access!filename = /var/log/cherokee/access_log
-vserver!1!logger!access!type = file
-vserver!1!nick = default
-vserver!1!rule!5!encoder!gzip = allow
-vserver!1!rule!5!handler = server_info
-vserver!1!rule!5!handler!type = just_about
-vserver!1!rule!5!match = directory
-vserver!1!rule!5!match!directory = /about
-vserver!1!rule!4!document_root = /usr/lib/cgi-bin
-vserver!1!rule!4!handler = cgi
-vserver!1!rule!4!match = directory
-vserver!1!rule!4!match!directory = /cgi-bin
-vserver!1!rule!3!document_root = /usr/share/cherokee/themes
-vserver!1!rule!3!handler = file
-vserver!1!rule!3!match = directory
-vserver!1!rule!3!match!directory = /cherokee_themes
-vserver!1!rule!2!document_root = /usr/share/cherokee/icons
-vserver!1!rule!2!handler = file
-vserver!1!rule!2!match = directory
-vserver!1!rule!2!match!directory = /cherokee_icons
-vserver!1!rule!1!handler = common
-vserver!1!rule!1!handler!iocache = 1
-vserver!1!rule!1!match = default
-vserver!2!collector!enabled = 1
-vserver!2!document_root = /srv/download.baserock.org
-vserver!2!nick = download.baserock.org
-vserver!2!rule!103!handler = common
-vserver!2!rule!103!handler!allow_dirlist = 1
-vserver!2!rule!103!handler!allow_pathinfo = 1
-vserver!2!rule!103!handler!theme = white
-vserver!2!rule!103!match = directory
-vserver!2!rule!103!match!directory = /baserock
-vserver!2!rule!3!document_root = /usr/share/cherokee/themes
-vserver!2!rule!3!handler = common
-vserver!2!rule!3!match = directory
-vserver!2!rule!3!match!directory = /cherokee_themes
-vserver!2!rule!2!document_root = /usr/share/cherokee/icons
-vserver!2!rule!2!handler = file
-vserver!2!rule!2!match = directory
-vserver!2!rule!2!match!directory = /cherokee_icons
-vserver!2!rule!1!handler = redir
-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!collector!enabled = 1
-vserver!3!directory_index = index.html
-vserver!3!document_root = /srv/irclogs.baserock.org
-vserver!3!nick = irclogs.baserock.org
-vserver!3!rule!103!handler = common
-vserver!3!rule!103!handler!allow_dirlist = 1
-vserver!3!rule!103!handler!allow_pathinfo = 1
-vserver!3!rule!103!handler!theme = white
-vserver!3!rule!103!match = directory
-vserver!3!rule!103!match!directory = /
-vserver!3!rule!2!document_root = /usr/share/cherokee/themes
-vserver!3!rule!2!handler = common
-vserver!3!rule!2!match = directory
-vserver!3!rule!2!match!directory = /cherokee_themes
-vserver!3!rule!1!document_root = /usr/share/cherokee/icons
-vserver!3!rule!1!handler = file
-vserver!3!rule!1!match = directory
-vserver!3!rule!1!match!directory = /cherokee_icons
-icons!default = page_white.png
-icons!directory = folder.png
-icons!file!bomb.png = core
-icons!file!page_white_go.png = *README*
-icons!parent_directory = arrow_turn_left.png
-icons!suffix!camera.png = jpg,jpeg,jpe
-icons!suffix!cd.png = iso,ngr,cue
-icons!suffix!color_wheel.png = png,gif,xcf,bmp,pcx,tiff,tif,cdr,psd,xpm,xbm
-icons!suffix!control_play.png = bin,exe,com,msi,out
-icons!suffix!css.png = css
-icons!suffix!cup.png = java,class,jar
-icons!suffix!email.png = eml,mbox,box,email,mbx
-icons!suffix!film.png = avi,mpeg,mpe,mpg,mpeg3,dl,fli,qt,mov,movie,flv,webm
-icons!suffix!font.png = ttf
-icons!suffix!html.png = html,htm
-icons!suffix!music.png = au,snd,mid,midi,kar,mpga,mpega,mp2,mp3,sid,wav,aif,aiff,aifc,gsm,m3u,wma,wax,ra,rm,ram,pls,sd2,ogg
-icons!suffix!package.png = tar,gz,bz2,zip,rar,ace,lha,7z,dmg,cpk
-icons!suffix!page_white_acrobat.png = pdf
-icons!suffix!page_white_c.png = c,h,cpp
-icons!suffix!page_white_office.png = doc,ppt,xls
-icons!suffix!page_white_php.png = php
-icons!suffix!page_white_text.png = txt,text,rtf,sdw
-icons!suffix!printer.png = ps,eps
-icons!suffix!ruby.png = rb
-icons!suffix!script.png = sh,csh,ksh,tcl,tk,py,pl
-mime!application/bzip2!extensions = bz2
-mime!application/gzip!extensions = gz
-mime!application/hta!extensions = hta
-mime!application/java-archive!extensions = jar
-mime!application/java-serialized-object!extensions = ser
-mime!application/java-vm!extensions = class
-mime!application/json!extensions = json
-mime!application/mac-binhex40!extensions = hqx
-mime!application/msaccess!extensions = mdb
-mime!application/msword!extensions = doc,dot
-mime!application/octet-stream!extensions = bin
-mime!application/octetstream!extensions = ace
-mime!application/oda!extensions = oda
-mime!application/ogg!extensions = ogx
-mime!application/pdf!extensions = pdf
-mime!application/pgp-keys!extensions = key
-mime!application/pgp-signature!extensions = pgp
-mime!application/pics-rules!extensions = prf
-mime!application/postscript!extensions = ps,ai,eps
-mime!application/rar!extensions = rar
-mime!application/rdf+xml!extensions = rdf
-mime!application/rss+xml!extensions = rss
-mime!application/smil!extensions = smi,smil
-mime!application/vnd.mozilla.xul+xml!extensions = xul
-mime!application/vnd.ms-excel!extensions = xls,xlb,xlt
-mime!application/vnd.ms-pki.seccat!extensions = cat
-mime!application/vnd.ms-pki.stl!extensions = stl
-mime!application/vnd.ms-powerpoint!extensions = ppt,pps
-mime!application/vnd.oasis.opendocument.chart!extensions = odc
-mime!application/vnd.oasis.opendocument.database!extensions = odb
-mime!application/vnd.oasis.opendocument.formula!extensions = odf
-mime!application/vnd.oasis.opendocument.graphics!extensions = odg
-mime!application/vnd.oasis.opendocument.image!extensions = odi
-mime!application/vnd.oasis.opendocument.presentation!extensions = odp
-mime!application/vnd.oasis.opendocument.spreadsheet!extensions = ods
-mime!application/vnd.oasis.opendocument.text!extensions = odt
-mime!application/vnd.oasis.opendocument.text-master!extensions = odm
-mime!application/vnd.oasis.opendocument.text-web!extensions = oth
-mime!application/vnd.pkg5.info!extensions = p5i
-mime!application/vnd.visio!extensions = vsd
-mime!application/vnd.wap.wbxml!extensions = wbxml
-mime!application/vnd.wap.wmlc!extensions = wmlc
-mime!application/vnd.wap.wmlscriptc!extensions = wmlsc
-mime!application/x-7z-compressed!extensions = 7z
-mime!application/x-abiword!extensions = abw
-mime!application/x-apple-diskimage!extensions = dmg
-mime!application/x-bcpio!extensions = bcpio
-mime!application/x-bittorrent!extensions = torrent
-mime!application/x-cdf!extensions = cdf
-mime!application/x-cpio!extensions = cpio
-mime!application/x-csh!extensions = csh
-mime!application/x-debian-package!extensions = deb,udeb
-mime!application/x-director!extensions = dcr,dir,dxr
-mime!application/x-dvi!extensions = dvi
-mime!application/x-flac!extensions = flac
-mime!application/x-font!extensions = pfa,pfb,gsf,pcf,pcf.Z
-mime!application/x-freemind!extensions = mm
-mime!application/x-gnumeric!extensions = gnumeric
-mime!application/x-gtar!extensions = gtar,tgz,taz
-mime!application/x-gzip!extensions = gz,tgz
-mime!application/x-httpd-php!extensions = phtml,pht,php
-mime!application/x-httpd-php-source!extensions = phps
-mime!application/x-httpd-php3!extensions = php3
-mime!application/x-httpd-php3-preprocessed!extensions = php3p
-mime!application/x-httpd-php4!extensions = php4
-mime!application/x-internet-signup!extensions = ins,isp
-mime!application/x-iphone!extensions = iii
-mime!application/x-iso9660-image!extensions = iso
-mime!application/x-java-jnlp-file!extensions = jnlp
-mime!application/x-javascript!extensions = js
-mime!application/x-kchart!extensions = chrt
-mime!application/x-killustrator!extensions = kil
-mime!application/x-koan!extensions = skp,skd,skt,skm
-mime!application/x-kpresenter!extensions = kpr,kpt
-mime!application/x-kspread!extensions = ksp
-mime!application/x-kword!extensions = kwd,kwt
-mime!application/x-latex!extensions = latex
-mime!application/x-lha!extensions = lha
-mime!application/x-lzh!extensions = lzh
-mime!application/x-lzx!extensions = lzx
-mime!application/x-ms-wmd!extensions = wmd
-mime!application/x-ms-wmz!extensions = wmz
-mime!application/x-msdos-program!extensions = com,exe,bat,dll
-mime!application/x-msi!extensions = msi
-mime!application/x-netcdf!extensions = nc
-mime!application/x-ns-proxy-autoconfig!extensions = pac
-mime!application/x-nwc!extensions = nwc
-mime!application/x-object!extensions = o
-mime!application/x-oz-application!extensions = oza
-mime!application/x-pkcs7-certreqresp!extensions = p7r
-mime!application/x-pkcs7-crl!extensions = crl
-mime!application/x-python-code!extensions = pyc,pyo
-mime!application/x-quicktimeplayer!extensions = qtl
-mime!application/x-redhat-package-manager!extensions = rpm
-mime!application/x-sh!extensions = sh
-mime!application/x-shar!extensions = shar
-mime!application/x-shockwave-flash!extensions = swf,swfl
-mime!application/x-stuffit!extensions = sit,sea
-mime!application/x-sv4cpio!extensions = sv4cpio
-mime!application/x-sv4crc!extensions = sv4crc
-mime!application/x-tar!extensions = tar
-mime!application/x-tcl!extensions = tcl
-mime!application/x-tex-pk!extensions = pk
-mime!application/x-texinfo!extensions = texinfo,texi
-mime!application/x-trash!extensions = ~,bak,old,sik
-mime!application/x-troff!extensions = t,tr,roff
-mime!application/x-troff-man!extensions = man
-mime!application/x-troff-me!extensions = me
-mime!application/x-troff-ms!extensions = ms
-mime!application/x-ustar!extensions = ustar
-mime!application/x-x509-ca-cert!extensions = crt
-mime!application/x-xcf!extensions = xcf
-mime!application/x-xfig!extensions = fig
-mime!application/x-xpinstall!extensions = xpi
-mime!application/xhtml+xml!extensions = xhtml,xht
-mime!application/xml!extensions = xml,xsl
-mime!application/zip!extensions = zip
-mime!audio/basic!extensions = au,snd
-mime!audio/midi!extensions = mid,midi,kar
-mime!audio/mpeg!extensions = mpga,mpega,mp2,mp3,m4a
-mime!audio/ogg!extensions = ogg,oga
-mime!audio/prs.sid!extensions = sid
-mime!audio/x-aiff!extensions = aif,aiff,aifc
-mime!audio/x-gsm!extensions = gsm
-mime!audio/x-mpegurl!extensions = m3u
-mime!audio/x-ms-wax!extensions = wax
-mime!audio/x-ms-wma!extensions = wma
-mime!audio/x-pn-realaudio!extensions = ra,rm,ram
-mime!audio/x-realaudio!extensions = ra
-mime!audio/x-scpls!extensions = pls
-mime!audio/x-sd2!extensions = sd2
-mime!audio/x-wav!extensions = wav
-mime!chemical/x-cache!extensions = cac,cache
-mime!chemical/x-cache-csf!extensions = csf
-mime!chemical/x-cdx!extensions = cdx
-mime!chemical/x-cif!extensions = cif
-mime!chemical/x-cmdf!extensions = cmdf
-mime!chemical/x-cml!extensions = cml
-mime!chemical/x-compass!extensions = cpa
-mime!chemical/x-crossfire!extensions = bsd
-mime!chemical/x-csml!extensions = csml,csm
-mime!chemical/x-ctx!extensions = ctx
-mime!chemical/x-cxf!extensions = cxf,cef
-mime!chemical/x-isostar!extensions = istr,ist
-mime!chemical/x-jcamp-dx!extensions = jdx,dx
-mime!chemical/x-kinemage!extensions = kin
-mime!chemical/x-pdb!extensions = pdb,ent
-mime!chemical/x-swissprot!extensions = sw
-mime!chemical/x-vamas-iso14976!extensions = vms
-mime!chemical/x-vmd!extensions = vmd
-mime!chemical/x-xtel!extensions = xtel
-mime!chemical/x-xyz!extensions = xyz
-mime!image/gif!extensions = gif
-mime!image/jpeg!extensions = jpeg,jpg,jpe
-mime!image/pcx!extensions = pcx
-mime!image/png!extensions = png
-mime!image/svg+xml!extensions = svg,svgz
-mime!image/tiff!extensions = tiff,tif
-mime!image/vnd.djvu!extensions = djvu,djv
-mime!image/vnd.wap.wbmp!extensions = wbmp
-mime!image/x-icon!extensions = ico
-mime!image/x-ms-bmp!extensions = bmp
-mime!image/x-photoshop!extensions = psd
-mime!image/x-portable-anymap!extensions = pnm
-mime!image/x-portable-bitmap!extensions = pbm
-mime!image/x-portable-graymap!extensions = pgm
-mime!image/x-portable-pixmap!extensions = ppm
-mime!image/x-xbitmap!extensions = xbm
-mime!image/x-xpixmap!extensions = xpm
-mime!image/x-xwindowdump!extensions = xwd
-mime!model/iges!extensions = igs,iges
-mime!model/mesh!extensions = msh,mesh,silo
-mime!model/vrml!extensions = wrl,vrml
-mime!text/calendar!extensions = ics,icz
-mime!text/comma-separated-values!extensions = csv
-mime!text/css!extensions = css
-mime!text/h323!extensions = 323
-mime!text/html!extensions = html,htm,shtml
-mime!text/iuls!extensions = uls
-mime!text/mathml!extensions = mml
-mime!text/plain!extensions = asc,txt,text,diff,pot
-mime!text/richtext!extensions = rtx
-mime!text/rtf!extensions = rtf
-mime!text/scriptlet!extensions = sct,wsc
-mime!text/tab-separated-values!extensions = tsv
-mime!text/vnd.sun.j2me.app-descriptor!extensions = jad
-mime!text/vnd.wap.wml!extensions = wml
-mime!text/vnd.wap.wmlscript!extensions = wmls
-mime!text/x-boo!extensions = boo
-mime!text/x-c++hdr!extensions = h++,hpp,hxx,hh
-mime!text/x-c++src!extensions = c++,cpp,cxx,cc
-mime!text/x-chdr!extensions = h
-mime!text/x-csh!extensions = csh
-mime!text/x-csrc!extensions = c
-mime!text/x-dsrc!extensions = d
-mime!text/x-haskell!extensions = hs
-mime!text/x-java!extensions = java
-mime!text/x-literate-haskell!extensions = lhs
-mime!text/x-moc!extensions = moc
-mime!text/x-pascal!extensions = p,pas
-mime!text/x-pcs-gcd!extensions = gcd
-mime!text/x-perl!extensions = pl,pm
-mime!text/x-python!extensions = py
-mime!text/x-setext!extensions = etx
-mime!text/x-sh!extensions = sh
-mime!text/x-tcl!extensions = tcl,tk
-mime!text/x-tex!extensions = tex,ltx,sty,cls
-mime!text/x-vcalendar!extensions = vcs
-mime!text/x-vcard!extensions = vcf
-mime!video/dl!extensions = dl
-mime!video/dv!extensions = dif,dv
-mime!video/fli!extensions = fli
-mime!video/gl!extensions = gl
-mime!video/mp4!extensions = mp4
-mime!video/mpeg!extensions = mpeg,mpg,mpe
-mime!video/ogg!extensions = ogv
-mime!video/quicktime!extensions = qt,mov
-mime!video/vnd.mpegurl!extensions = mxu
-mime!video/webm!extensions = webm
-mime!video/x-flv!extensions = flv
-mime!video/x-la-asf!extensions = lsf,lsx
-mime!video/x-mng!extensions = mng
-mime!video/x-ms-asf!extensions = asf,asx
-mime!video/x-ms-wm!extensions = wm
-mime!video/x-ms-wmv!extensions = wmv
-mime!video/x-ms-wmx!extensions = wmx
-mime!video/x-ms-wvx!extensions = wvx
-mime!video/x-msvideo!extensions = avi
-mime!video/x-sgi-movie!extensions = movie
-mime!x-conference/x-cooltalk!extensions = ice
-mime!x-world/x-vrml!extensions = vrm,vrml,wrl
diff --git a/baserock_webserver/files/download-baserock-org.conf b/baserock_webserver/files/download-baserock-org.conf
new file mode 100644
index 00000000..56e9601e
--- /dev/null
+++ b/baserock_webserver/files/download-baserock-org.conf
@@ -0,0 +1,11 @@
+
+server {
+ listen 80;
+ server_name download.baserock.org;
+ location / {
+ root /srv/download.baserock.org/;
+ index index.html;
+ fancyindex on;
+ fancyindex_exact_size off;
+ }
+}
diff --git a/baserock_webserver/files/irclogs-baserock-org.conf b/baserock_webserver/files/irclogs-baserock-org.conf
new file mode 100644
index 00000000..d2d6e01e
--- /dev/null
+++ b/baserock_webserver/files/irclogs-baserock-org.conf
@@ -0,0 +1,10 @@
+server {
+ listen 80;
+ server_name irclogs.baserock.org;
+ location / {
+ root /srv/irclogs.baserock.org/;
+ index index.html;
+ fancyindex on;
+ fancyindex_exact_size off;
+ }
+}
diff --git a/baserock_webserver/gitlabirced/gitlabirced.service.in b/baserock_webserver/gitlabirced/gitlabirced.service.in
index 02240b49..66499be2 100644
--- a/baserock_webserver/gitlabirced/gitlabirced.service.in
+++ b/baserock_webserver/gitlabirced/gitlabirced.service.in
@@ -3,9 +3,9 @@ Description = Gitlab irc notifications server
[Service]
Type = simple
-ExecStart = /home/fedora/.local/bin/gitlabirced {{ gitlabirced_conf_file }}
-User = fedora
-Group = fedora
+ExecStart = /home/{{ ansible_user_id }}/.local/bin/gitlabirced {{ gitlabirced_conf_file }}
+User = {{ ansible_user_id }}
+Group = {{ ansible_user_id }}
Restart = on-failure
[Install]
diff --git a/baserock_webserver/image-config.yml b/baserock_webserver/image-config.yml
index 29c1ba5f..9ce3e9bf 100644
--- a/baserock_webserver/image-config.yml
+++ b/baserock_webserver/image-config.yml
@@ -3,33 +3,36 @@
# This expects to be run on a Fedora 26 cloud image.
---
- hosts: webserver
- gather_facts: false
become: yes
become_method: sudo
tasks:
- # see: https://fedoramagazine.org/getting-ansible-working-fedora-23/
- - name: install python2 and required deps for ansible modules
- raw: dnf install -y python2 python2-dnf libselinux-python
-
- - name: enable persistant journal
- shell: mkdir /var/log/journal
- args:
- creates: /var/log/journal
- name: ensure system up to date
- dnf: name=* state=latest
-
- - name: Cherokee webserver package
- dnf: name=cherokee state=latest
+ apt:
+ upgrade: yes
+ update_cache: yes
- - name: Cherokee configuration
- copy: src=etc/cherokee/cherokee.conf dest=/etc/cherokee/
+ - name: Install nginx package
+ apt:
+ pkg:
+ - nginx
+ - libnginx-mod-http-fancyindex
+ - python3-pip
+ - python2-minimal
+ update_cache: yes
- - name: install lvm2 tools
- dnf: name=lvm2 state=latest
+ - name: Download get-pip.py
+ get_url:
+ url: https://bootstrap.pypa.io/pip/2.7/get-pip.py
+ dest: /opt/get-pip.py
+ become: yes
- - name: disable SELinux on subsequent boots
- selinux: state=disabled
+ - name: Install pip2
+ command: python2 /opt/get-pip.py
+ args:
+ creates: /usr/local/bin/pip2
+ become: yes
- - name: disable SELinux on current boot
- command: setenforce 0
+ - name: install lvm2 tools
+ apt:
+ name: lvm2
diff --git a/baserock_webserver/instance-config.yml b/baserock_webserver/instance-config.yml
index 6923f305..60e7bf00 100644
--- a/baserock_webserver/instance-config.yml
+++ b/baserock_webserver/instance-config.yml
@@ -3,7 +3,6 @@
# Tested against Fedora 26 base image.
---
- hosts: webserver
- gather_facts: false
become: yes
become_method: sudo
tasks:
@@ -14,10 +13,38 @@
mountpoint: /srv
- name: /srv/download.baserock.org/
- file: path=/srv/download.baserock.org/ owner=fedora state=directory
+ file:
+ path: /srv/download.baserock.org/
+ owner: "{{ ansible_user_id }}"
+ state: directory
- - name: Cherokee configuration
- copy: src=etc/cherokee/cherokee.conf dest=/etc/cherokee/
+ - name: Create the nginx configuration files
+ template:
+ src: files/{{ item }}
+ dest: /etc/nginx/sites-available/{{ item }}
+ become: yes
+ notify:
+ - restart nginx
+ with_items:
+ - download-baserock-org.conf
+ - irclogs-baserock-org.conf
+
+ - name: Enable nginx sites
+ file:
+ src: ../sites-available/{{ item }}
+ dest: /etc/nginx/sites-enabled/{{ item }}
+ state: link
+ become: yes
+ notify:
+ - restart nginx
+ with_items:
+ - download-baserock-org.conf
+ - irclogs-baserock-org.conf
+
+ handlers:
+ - name: restart nginx
+ service:
+ name: nginx
+ state: restarted
+ become: yes
- - name: (re)start Cherokee webserver
- service: name=cherokee enabled=yes state=restarted
diff --git a/baserock_webserver/instance-gitlabirced-config.yml b/baserock_webserver/instance-gitlabirced-config.yml
index 89005bdf..44abab52 100644
--- a/baserock_webserver/instance-gitlabirced-config.yml
+++ b/baserock_webserver/instance-gitlabirced-config.yml
@@ -5,7 +5,7 @@
- gitlabirced/gitlab_bot_secrets.yml
vars:
- gitlabirced_version: 0.4.0
- - gitlabirced_conf_folder: /home/fedora/gitlabirced
+ - gitlabirced_conf_folder: /home/{{ ansible_user_id }}/gitlabirced
- gitlabirced_conf_file: "{{ gitlabirced_conf_folder }}/config.yml"
tasks:
diff --git a/baserock_webserver/instance-hastebin-config.yml b/baserock_webserver/instance-hastebin-config.yml
index aacffe0a..2adc8ca6 100644
--- a/baserock_webserver/instance-hastebin-config.yml
+++ b/baserock_webserver/instance-hastebin-config.yml
@@ -8,11 +8,15 @@
- haste_server_service_name: haste-server
tasks:
- name: Install Git
- dnf: name=git state=latest
+ apt:
+ name: git
+ state: latest
become: yes
- name: Install Redis
- dnf: name=redis state=latest
+ apt:
+ name: redis
+ state: latest
become: yes
- name: Start Redis service
@@ -23,7 +27,11 @@
become: yes
- name: Install Node.js
- dnf: name=nodejs state=latest
+ apt:
+ pkg:
+ - nodejs
+ - npm
+ state: latest
become: yes
- name: hastebin user
@@ -47,7 +55,9 @@
become_user: hastebin
- name: Install service for the haste server
- template: src=hastebin/haste-server.service.in dest=/etc/systemd/system/{{ haste_server_service_name }}.service
+ template:
+ src: hastebin/haste-server.service.in
+ dest: /etc/systemd/system/{{ haste_server_service_name }}.service
become: yes
- name: Restart haste service
diff --git a/baserock_webserver/instance-irclogs-config.yml b/baserock_webserver/instance-irclogs-config.yml
index d64f32e8..f050d5ff 100644
--- a/baserock_webserver/instance-irclogs-config.yml
+++ b/baserock_webserver/instance-irclogs-config.yml
@@ -4,28 +4,30 @@
vars_files:
- irclogs/brlogger_secrets.yml
tasks:
- - name: Install Supybot
- dnf: name=supybot state=latest
+ - name: Install Supybot from pip
+ pip:
+ name: supybot
+ executable: pip2
become: yes
become_user: root
-
- name: Check for MeetBot install
stat:
- path: /usr/lib/python2.7/site-packages/supybot/plugins/MeetBot
+ path: /usr/local/lib/python2.7/dist-packages/supybot/plugins/MeetBot
register: meetbot
- name: Install MeetBot
block:
- git:
- repo: 'https://github.com/openstack-infra/meetbot.git'
+ repo: 'https://opendev.org/opendev/meetbot.git'
dest: /tmp/meetbot
+ version: 01e051648c2759c03f2a907552af8e4410abcde9
- command: mv /tmp/meetbot/ircmeeting /tmp/meetbot/MeetBot/
args:
creates: /tmp/meetbot/Meetbot/ircmeeting
- synchronize:
src: /tmp/meetbot/MeetBot
- dest: /usr/lib/python2.7/site-packages/supybot/plugins
+ dest: /usr/local/lib/python2.7/dist-packages/supybot/plugins
delegate_to: "{{ inventory_hostname }}"
become: yes
become_user: root
@@ -34,32 +36,45 @@
- name: MeetBot configuration
copy:
src: irclogs/meetingLocalConfig.py
- dest: /usr/lib/python2.7/site-packages/supybot/plugins/MeetBot/ircmeeting/meetingLocalConfig.py
+ dest: /usr/local/lib/python2.7/dist-packages/supybot/plugins/MeetBot/ircmeeting/meetingLocalConfig.py
become: yes
become_user: root
- - name: Install irclog2html
- dnf: name=irclog2html state=latest
+
+ - name: Install Supybot from pip
+ pip:
+ name: irclog2html
+ executable: pip3
become: yes
become_user: root
- name: supybot user
- user: name=supybot
+ user:
+ name: supybot
become: yes
become_user: root
- name: /srv/irclogs.baserock.org/
- file: path=/srv/irclogs.baserock.org/ owner=supybot state=directory
+ file:
+ path: /srv/irclogs.baserock.org/
+ owner: supybot
+ state: directory
become: yes
become_user: root
- name: supybot configuration
- template: src=irclogs/supybot-baserock.conf dest=/home/supybot/supybot-baserock.conf owner=supybot
+ template:
+ src: "irclogs/supybot-baserock.conf"
+ dest: "/home/supybot/supybot-baserock.conf"
+ owner: supybot
+ group: supybot
become: yes
- become_user: supybot
+ become_user: root
- name: install systemd units
- copy: src=./irclogs/{{item}} dest=/etc/systemd/system/{{item}}
+ copy:
+ src: ./irclogs/{{item}}
+ dest: /etc/systemd/system/{{item}}
become: yes
become_user: root
with_items:
@@ -68,7 +83,11 @@
- supybot.service
- name: enable systemd units
- systemd: name={{item}} enabled=yes daemon_reload=yes state=started
+ systemd:
+ name: "{{item}}"
+ enabled: yes
+ daemon_reload: yes
+ state: started
become: yes
become_user: root
with_items:
diff --git a/baserock_webserver/irclogs/irclogs-generation.service b/baserock_webserver/irclogs/irclogs-generation.service
index ca5bcb33..12f0dc40 100644
--- a/baserock_webserver/irclogs/irclogs-generation.service
+++ b/baserock_webserver/irclogs/irclogs-generation.service
@@ -5,22 +5,22 @@ Requires=supybot.service
[Service]
Type=oneshot
User=supybot
-ExecStart=/usr/bin/logs2html -t 'IRC logs for #baserock' -p 'IRC logs for #baserock for ' /home/supybot/logs/ChannelLogger/libera/#baserock/
+ExecStart=/usr/local/bin/logs2html -t 'IRC logs for #baserock' -p 'IRC logs for #baserock for ' /home/supybot/logs/ChannelLogger/libera/#baserock/
ExecStart=/bin/sh -c "/usr/bin/rsync -a /home/supybot/logs/ChannelLogger/libera/\#baserock/*html /home/supybot/logs/ChannelLogger/libera/\#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=/usr/local/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.baserock.org/automotive"
-ExecStart=/usr/bin/logs2html -t 'IRC logs for #cip' -p 'IRC logs for #cip for ' /home/supybot/logs/ChannelLogger/libera/#cip/
+ExecStart=/usr/local/bin/logs2html -t 'IRC logs for #cip' -p 'IRC logs for #cip for ' /home/supybot/logs/ChannelLogger/libera/#cip/
ExecStart=/bin/sh -c "/usr/bin/rsync -a /home/supybot/logs/ChannelLogger/libera/\#cip/*html /home/supybot/logs/ChannelLogger/libera/\#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=/usr/local/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.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=/usr/local/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.baserock.org/buildstream"
-ExecStart=/usr/bin/logs2html -t 'IRC logs for #freedesktop-sdk' -p 'IRC logs for #freedesktop-sdk for ' /home/supybot/logs/ChannelLogger/freenode/#freedesktop-sdk/
+ExecStart=/usr/local/bin/logs2html -t 'IRC logs for #freedesktop-sdk' -p 'IRC logs for #freedesktop-sdk for ' /home/supybot/logs/ChannelLogger/freenode/#freedesktop-sdk/
ExecStart=/bin/sh -c "/usr/bin/rsync -a /home/supybot/logs/ChannelLogger/freenode/\#freedesktop-sdk/*html /home/supybot/logs/ChannelLogger/freenode/\#freedesktop-sdk/*css /srv/irclogs.baserock.org/freedesktop-sdk"
ExecStart=/bin/sh -c "/usr/bin/rsync -a /home/supybot/meetings /srv/irclogs.baserock.org/"
diff --git a/baserock_webserver/irclogs/supybot.service b/baserock_webserver/irclogs/supybot.service
index 49720f70..c3df8a75 100644
--- a/baserock_webserver/irclogs/supybot.service
+++ b/baserock_webserver/irclogs/supybot.service
@@ -10,6 +10,6 @@ After=local-fs.target
ConditionPathExists=/home/supybot/supybot-baserock.conf
[Service]
-ExecStart=/usr/bin/supybot /home/supybot/supybot-baserock.conf
+ExecStart=/usr/local/bin/supybot /home/supybot/supybot-baserock.conf
User=supybot
Restart=always