From c5f5de1ad57af0ddfc4abfd40f939117b899d2dc Mon Sep 17 00:00:00 2001 From: Daniel Gomez Date: Mon, 21 Mar 2022 11:45:44 +0100 Subject: bitbake: contrib: Add Dockerfile for building PR service Adds a Dockerfile for building the PR service in a container. Based on the hash equivalence server container [hashserv]. Use the following environment variables to configure the PR service container: - DBFILE: database filename. Default: /var/lib/bbprserv/prserv.sqlite3. - LOGFILE: log filename. Default: /var/lib/bbprserv/prserv.log. - LOGLEVEL: logging level. Default: DEBUG. - HOST: ip address to bind. Default: 0.0.0.0. - PORT: port number. Default: 8585. - DBMODE: database mode. Default: Empty (RW). Note: DBMODE in RO: "--read-only". [hashserv]: contrib/hashserv/Dockerfile (Bitbake rev: a5497428b539e8598263924f63a9df8fe1ea70f9) (Bitbake rev: 1d05abd92da56e284fcd904cf32bd12485903f10) Signed-off-by: Daniel Gomez Signed-off-by: Alexandre Belloni Signed-off-by: Richard Purdie --- bitbake/contrib/prserv/Dockerfile | 62 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 bitbake/contrib/prserv/Dockerfile (limited to 'bitbake/contrib') diff --git a/bitbake/contrib/prserv/Dockerfile b/bitbake/contrib/prserv/Dockerfile new file mode 100644 index 0000000000..9585fe3f07 --- /dev/null +++ b/bitbake/contrib/prserv/Dockerfile @@ -0,0 +1,62 @@ +# SPDX-License-Identifier: MIT +# +# Copyright (c) 2022 Daniel Gomez +# +# Dockerfile to build a bitbake PR service container +# +# From the root of the bitbake repository, run: +# +# docker build -f contrib/prserv/Dockerfile . -t prserv +# +# Running examples: +# +# 1. PR Service in RW mode, port 18585: +# +# docker run --detach --tty \ +# --env PORT=18585 \ +# --publish 18585:18585 \ +# --volume $PWD:/var/lib/bbprserv \ +# prserv +# +# 2. PR Service in RO mode, default port (8585) and custom LOGFILE: +# +# docker run --detach --tty \ +# --env DBMODE="--read-only" \ +# --env LOGFILE=/var/lib/bbprserv/prservro.log \ +# --publish 8585:8585 \ +# --volume $PWD:/var/lib/bbprserv \ +# prserv +# + +FROM alpine:3.14.4 + +RUN apk add --no-cache python3 + +COPY bin/bitbake-prserv /opt/bbprserv/bin/ +COPY lib/prserv /opt/bbprserv/lib/prserv/ +COPY lib/bb /opt/bbprserv/lib/bb/ +COPY lib/codegen.py /opt/bbprserv/lib/codegen.py +COPY lib/ply /opt/bbprserv/lib/ply/ +COPY lib/bs4 /opt/bbprserv/lib/bs4/ + +ENV PATH=$PATH:/opt/bbprserv/bin + +RUN mkdir -p /var/lib/bbprserv + +ENV DBFILE=/var/lib/bbprserv/prserv.sqlite3 \ + LOGFILE=/var/lib/bbprserv/prserv.log \ + LOGLEVEL=debug \ + HOST=0.0.0.0 \ + PORT=8585 \ + DBMODE="" + +ENTRYPOINT [ "/bin/sh", "-c", \ +"bitbake-prserv \ +--file=$DBFILE \ +--log=$LOGFILE \ +--loglevel=$LOGLEVEL \ +--start \ +--host=$HOST \ +--port=$PORT \ +$DBMODE \ +&& tail -f $LOGFILE"] -- cgit v1.2.3-54-g00ecf