[buildbot] buildslave: update to Debian 10, introduce TLS support
LEDE Commits
lede-commits at lists.infradead.org
Thu Jul 30 06:14:28 EDT 2020
jow pushed a commit to buildbot.git, branch master:
https://git.openwrt.org/3cd6f216a3eb192891067f0897c96b2578642c60
commit 3cd6f216a3eb192891067f0897c96b2578642c60
Author: Jo-Philipp Wich <jo at mein.io>
AuthorDate: Sun Apr 12 00:16:26 2020 +0200
buildslave: update to Debian 10, introduce TLS support
Signed-off-by: Jo-Philipp Wich <jo at mein.io>
---
docker/buildslave/Dockerfile | 47 +++++++++++++++++++++-------------------
docker/buildslave/files/start.sh | 11 ++++++++--
docker/config.ini | 4 ++--
docker/docker-compose.yml | 8 +++++++
4 files changed, 44 insertions(+), 26 deletions(-)
diff --git a/docker/buildslave/Dockerfile b/docker/buildslave/Dockerfile
index 96919bd..9ee3ae4 100644
--- a/docker/buildslave/Dockerfile
+++ b/docker/buildslave/Dockerfile
@@ -1,4 +1,4 @@
-FROM debian:9
+FROM debian:10
MAINTAINER OpenWrt Maintainers
ARG DEBIAN_FRONTEND=noninteractive
@@ -9,27 +9,30 @@ ENV BUILDSLAVE_DESCRIPTION Buildslave Docker Instance
USER root
-RUN apt-get update && \
- apt-get install -y \
- pwgen \
- locales \
- buildbot-slave \
- build-essential \
- git-core \
- subversion \
- libncurses5-dev \
- gawk \
- unzip \
- pv \
- gosu \
- signify-openbsd \
- python3 \
- wget \
- curl \
- ccache \
- rsync && \
- apt-get clean && \
- localedef -i en_US -c -f UTF-8 -A /usr/share/locale/locale.alias en_US.UTF-8
+RUN echo 'deb http://deb.debian.org/debian testing main' \
+ > /etc/apt/sources.list.d/testing.list && \
+ apt-get update && \
+ apt-get install -t buster -y \
+ pwgen \
+ locales \
+ build-essential \
+ git-core \
+ subversion \
+ libncurses5-dev \
+ gawk \
+ unzip \
+ pv \
+ gosu \
+ signify-openbsd \
+ python3 \
+ wget \
+ curl \
+ ccache \
+ rsync && \
+ apt-get install -t testing -y \
+ buildbot-worker && \
+ apt-get clean && \
+ localedef -i en_US -c -f UTF-8 -A /usr/share/locale/locale.alias en_US.UTF-8
ENV LANG=en_US.utf8
diff --git a/docker/buildslave/files/start.sh b/docker/buildslave/files/start.sh
index 0067fb3..56f878d 100644
--- a/docker/buildslave/files/start.sh
+++ b/docker/buildslave/files/start.sh
@@ -12,13 +12,20 @@
rm -f /builder/buildbot.tac
-/usr/bin/buildslave create-slave --force --umask=022 /builder \
+/usr/bin/buildbot-worker create-worker --force --umask="0o22" /builder \
"$BUILDSLAVE_MASTER" "$BUILDSLAVE_NAME" "$BUILDSLAVE_PASSWORD"
+if [ "$BUILDSLAVE_TLS" = 1 ]; then
+ sed -i \
+ -e 's#(buildmaster_host, port, #(None, None, #' \
+ -e 's#allow_shutdown=allow_shutdown#&, connection_string="TLS:%s:%d:trustRoots=/certs" %(buildmaster_host, port)#' \
+ /builder/buildbot.tac
+fi
+
echo "$BUILDSLAVE_ADMIN" > /builder/info/admin
echo "$BUILDSLAVE_DESCRIPTION" > /builder/info/host
unset BUILDSLAVE_ADMIN BUILDSLAVE_DESCRIPTION BUILDSLAVE_MASTER BUILDSLAVE_NAME BUILDSLAVE_PASSWORD
rm -f /builder/twistd.pid
-exec /usr/bin/buildslave start --nodaemon /builder
+exec /usr/bin/buildbot-worker start --nodaemon /builder
diff --git a/docker/config.ini b/docker/config.ini
index 09e4258..79c3e6b 100644
--- a/docker/config.ini
+++ b/docker/config.ini
@@ -9,7 +9,7 @@ status_user = admin
status_password = admin
buildbot_url = http://buildmaster-phase1:8010/
expire = 1209600
-port = 9989
+port = ssl:9989:privateKey=/certs/master.key:certKey=/certs/master.crt
config_seed = # Seed configuration
CONFIG_BUILDBOT=y
CONFIG_DEVEL=y
@@ -22,7 +22,7 @@ status_bind = tcp:8011:interface=0.0.0.0
status_user = admin
status_password = admin
buildbot_url = http://buildmaster-phase2:8011/
-port = 9990
+port = ssl:9990:privateKey=/certs/master.key:certKey=/certs/master.crt
persistent = false
[repo]
diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml
index 93f7c83..28f0b9e 100644
--- a/docker/docker-compose.yml
+++ b/docker/docker-compose.yml
@@ -29,6 +29,8 @@ services:
- '9989:9989'
volumes:
- './config.ini:/config.ini'
+ - './certs/buildmaster-phase1.crt:/certs/master.crt'
+ - './certs/buildmaster-phase1.key:/certs/master.key'
- './build/master-phase1:/master'
buildmaster-phase2:
@@ -46,6 +48,8 @@ services:
- '9990:9990'
volumes:
- './config.ini:/config.ini'
+ - './certs/buildmaster-phase2.crt:/certs/master.crt'
+ - './certs/buildmaster-phase2.key:/certs/master.key'
- './build/master-phase2:/master'
buildslave-phase1:
@@ -59,10 +63,12 @@ services:
BUILDSLAVE_MASTER: buildmaster-phase1:9989
BUILDSLAVE_NAME: buildslave-phase1
BUILDSLAVE_PASSWORD: secret
+ BUILDSLAVE_TLS: '1'
links:
- 'rsync-server'
- 'buildmaster-phase1'
volumes:
+ - './certs/ca.crt:/certs/ca.pem'
- './build/slave-phase1:/builder'
buildslave-phase2:
@@ -76,8 +82,10 @@ services:
BUILDSLAVE_MASTER: buildmaster-phase2:9990
BUILDSLAVE_NAME: buildslave-phase2
BUILDSLAVE_PASSWORD: secret
+ BUILDSLAVE_TLS: '1'
links:
- 'rsync-server'
- 'buildmaster-phase2'
volumes:
+ - './certs/ca.crt:/certs/ca.pem'
- './build/slave-phase2:/builder'
More information about the lede-commits
mailing list