summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPedro Alvarez <pedro.alvarez@codethink.co.uk>2018-10-17 11:46:03 +0100
committerPedro Alvarez <pedro.alvarez@codethink.co.uk>2018-10-17 11:47:00 +0100
commit15aadb9d990b5d39615e462c81b23ff6a584dec1 (patch)
tree89d083203eaeb745f7393cfad218319ff43bb59a
parentdeb4cdacc7e0eb33da6de0bf07ef237af8d7c5f9 (diff)
downloadinfrastructure-15aadb9d990b5d39615e462c81b23ff6a584dec1.tar.gz
baserock_webserver: Use gitlabirced as Gitlab Bot
-rw-r--r--README.md3
-rw-r--r--baserock_webserver/gitlabirced/config.yml93
-rw-r--r--baserock_webserver/gitlabirced/gitlabirced.service.in12
-rw-r--r--baserock_webserver/instance-gitlabirced-config.yml41
4 files changed, 148 insertions, 1 deletions
diff --git a/README.md b/README.md
index dcb71ae9..529187f6 100644
--- a/README.md
+++ b/README.md
@@ -350,7 +350,8 @@ To deploy to production:
ansible-playbook -i hosts baserock_webserver/image-config.yml
ansible-playbook -i hosts baserock_webserver/instance-config.yml
- ansible-playbook -i hosts baserock_webserver/instance-gitlab-bot-config.yml \
+ ansible-playbook -i hosts baserock_webserver/instance-gitlabirced-config.yml \
+ --vault-password-file ~/vault-infra-pass
ansible-playbook -i hosts baserock_webserver/instance-hastebin-config.yml \
--vault-password-file ~/vault-infra-pass
ansible-playbook -i hosts baserock_webserver/instance-irclogs-config.yml
diff --git a/baserock_webserver/gitlabirced/config.yml b/baserock_webserver/gitlabirced/config.yml
new file mode 100644
index 00000000..bc29ebb3
--- /dev/null
+++ b/baserock_webserver/gitlabirced/config.yml
@@ -0,0 +1,93 @@
+networks:
+ gimp:
+ url: irc.gnome.org
+ port: 6667
+ nick: gitlab-br-bot
+ auth: NickServ
+ pass: {{ gitlab_bot_password }}
+ freenode:
+ url: irc.freenode.org
+ port: 6667
+ nick: gitlab-br-bot
+ auth: sasl
+ pass: {{ gitlab_bot_password }}
+
+hooks:
+# Baserock
+- project: baserock/definitions
+ network: freenode
+ reports:
+ '#baserock': merge_request, issue
+- project: baserock/infrastructure
+ network: freenode
+ reports:
+ '#baserock': merge_request, issue
+- project: baserock/lorry
+ network: freenode
+ reports:
+ '#baserock': merge_request, issue
+- project: baserock/lorries
+ network: freenode
+ reports:
+ '#baserock': merge_request, issue
+- project: baserock/ybd
+ network: freenode
+ reports:
+ '#baserock': merge_request, issue
+
+# Freedesktop
+- project: freedesktop-sdk/freedesktop-sdk
+ network: freenode
+ reports:
+ '#freedesktop-sdk': merge_request
+- project: freedesktop-sdk/json2bst
+ network: freenode
+ reports:
+ '#freedesktop-sdk': merge_request
+- project: freedesktop-sdk/infrastructure
+ network: freenode
+ reports:
+ '#freedesktop-sdk': merge_request
+
+# Buildstream
+- project: BuildStream/buildstream
+ network: gimp
+ reports:
+ '#buildstream': merge_request, issue
+- project: BuildStream/bst-external
+ network: gimp
+ reports:
+ '#buildstream': merge_request, issue
+- project: BuildStream/jhbuild2bst
+ network: gimp
+ reports:
+ '#buildstream': merge_request, issue
+- project: BuildStream/defs2bst
+ network: gimp
+ reports:
+ '#buildstream': merge_request, issue
+- project: BuildStream/debootstrap-ostree
+ network: gimp
+ reports:
+ '#buildstream': merge_request, issue
+- project: BuildStream/gnome-modulesets-base
+ network: gimp
+ reports:
+ '#buildstream': merge_request, issue
+- project: BuildStream/cargo-fetcher
+ network: gimp
+ reports:
+ '#buildstream': merge_request, issue
+- project: BuildStream/buildstream-docker-images
+ network: gimp
+ reports:
+ '#buildstream': merge_request, issue
+
+watchers:
+- network: freenode
+ channel: '#freedesktop-sdk'
+ project: freedesktop-sdk/freedesktop-sdk
+ server: http://gitlab.com
+
+token: {{ gitlab_buildstream_secret }}
+port: 1337
diff --git a/baserock_webserver/gitlabirced/gitlabirced.service.in b/baserock_webserver/gitlabirced/gitlabirced.service.in
new file mode 100644
index 00000000..02240b49
--- /dev/null
+++ b/baserock_webserver/gitlabirced/gitlabirced.service.in
@@ -0,0 +1,12 @@
+[Unit]
+Description = Gitlab irc notifications server
+
+[Service]
+Type = simple
+ExecStart = /home/fedora/.local/bin/gitlabirced {{ gitlabirced_conf_file }}
+User = fedora
+Group = fedora
+Restart = on-failure
+
+[Install]
+WantedBy=multi-user.target
diff --git a/baserock_webserver/instance-gitlabirced-config.yml b/baserock_webserver/instance-gitlabirced-config.yml
new file mode 100644
index 00000000..fd2e5ec0
--- /dev/null
+++ b/baserock_webserver/instance-gitlabirced-config.yml
@@ -0,0 +1,41 @@
+# Instance-specific configuration for the BuildStream Gitlab IRC bot
+---
+- hosts: webserver
+ vars_files:
+ - gitlab-bot/gitlab_bot_secrets.yml
+ vars:
+ - gitlabirced_version: 0.2.2
+ - gitlabirced_conf_folder: /home/fedora/gitlabirced
+ - gitlabirced_conf_file: "{{ gitlabirced_conf_folder }}/config.yml"
+ tasks:
+
+ - name: Install gitlabirced from pip
+ pip:
+ name: gitlabirced
+ version: "{{ gitlabirced_version }}"
+ executable: pip3
+ extra_args: --user
+
+ - name: Create gitlabirced config folder
+ file:
+ path: "{{ gitlabirced_conf_folder }}"
+ state: directory
+
+ - name: Install bot configuration file
+ template:
+ src: gitlabirced/config.yml
+ dest: "{{ gitlabirced_conf_file }}"
+
+ - name: Install service for the bot
+ template:
+ src: gitlabirced/gitlabirced.service.in
+ dest: /etc/systemd/system/gitlabirced.service
+ become: yes
+
+ - name: Restart bot service
+ service:
+ name: gitlabirced
+ enabled: yes
+ state: restarted
+ daemon_reload: yes
+ become: yes