Create ircbot container
This container installs Limnoria, the supybot replacement as the generic ircbot container. We install meetbot plugin as a sibling project. Previously we've conflated supybot with meetbot, which is a bit confusing because meetbot is a plugin, but we also use other plugins such as the channel logger. We also hope to convert some of our other bots to Limnoria (ptgbot?) to consolidate everything. For this reason I've called this the more generic "ircbot". The image installs meetbot as a sibling project, with the idea being any other plugins would also be installed as siblings. The siblings install expects the work directory to be a relative directory. I'm not sure we run this from other projects, but this will work the same if we do. Depends-On: https://review.opendev.org/c/opendev/meetbot/+/793876 Change-Id: Icee4c6bbb5ea235ba69c10f800a14bbf5beef3d5
This commit is contained in:
parent
fec8018581
commit
0d00b28da8
42
docker/ircbot/Dockerfile
Normal file
42
docker/ircbot/Dockerfile
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
# Copyright (c) 2021 Red Hat, Inc.
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||||
|
# implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
|
||||||
|
FROM opendevorg/python-builder:3.9 as builder
|
||||||
|
ARG ZUUL_SIBLINGS=""
|
||||||
|
|
||||||
|
RUN apt-get update \
|
||||||
|
&& apt-get -y install git
|
||||||
|
|
||||||
|
#NOTE(ianw) : 2021-05-31 - only until changes integrated upstream
|
||||||
|
#RUN git clone https://github.com/ProgVal/Limnoria /tmp/src
|
||||||
|
RUN git clone -b setuptools https://github.com/ianw/Limnoria /tmp/src
|
||||||
|
|
||||||
|
COPY . /tmp/src
|
||||||
|
|
||||||
|
RUN assemble
|
||||||
|
|
||||||
|
FROM opendevorg/python-base:3.9 as ircbot
|
||||||
|
|
||||||
|
COPY --from=builder /output /output
|
||||||
|
|
||||||
|
RUN /output/install-from-bindep \
|
||||||
|
&& rm -rf /output
|
||||||
|
|
||||||
|
# Install other misc dependencies
|
||||||
|
# XXX: ubuntu bug tracker plugins from
|
||||||
|
# https://git.launchpad.net/~krytarik/ubuntu-bots/+git/ubuntu-bots/tree/
|
||||||
|
RUN pip install irclog2html
|
||||||
|
|
||||||
|
ENTRYPOINT [ "/usr/local/bin/supybot", "--allow-root", "/var/lib/limnoria/limnoria.config" ]
|
16
docker/ircbot/local-build.sh
Executable file
16
docker/ircbot/local-build.sh
Executable file
@ -0,0 +1,16 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# This clones meetbot into a top-level "meetbot" (and in the future
|
||||||
|
# other sibling plugins) directory and sets up a sibling install to
|
||||||
|
# build the container locally.
|
||||||
|
|
||||||
|
if [ ! -d .zuul-siblings/opendev.org/opendev/meetbot ]; then
|
||||||
|
mkdir -p .zuul-siblings/opendev.org/opendev
|
||||||
|
if [ ! -d meetbot ]; then
|
||||||
|
git clone https://opendev.org/opendev/meetbot
|
||||||
|
fi
|
||||||
|
pushd .zuul-siblings/opendev.org/opendev
|
||||||
|
ln -sf ../../../meetbot meetbot
|
||||||
|
fi
|
||||||
|
|
||||||
|
docker build . -f Dockerfile --build-arg "ZUUL_SIBLINGS=opendev.org/opendev/meetbot"
|
@ -22,7 +22,7 @@
|
|||||||
abstract: true
|
abstract: true
|
||||||
vars:
|
vars:
|
||||||
docker_mirror_base_url: "http://{{ zuul_site_mirror_fqdn }}/deb-docker/{{ ansible_distribution_release }}"
|
docker_mirror_base_url: "http://{{ zuul_site_mirror_fqdn }}/deb-docker/{{ ansible_distribution_release }}"
|
||||||
zuul_work_dir: /home/zuul/src/opendev.org/opendev/system-config
|
zuul_work_dir: "{{ zuul.projects['opendev.org/opendev/system-config'].src_dir }}"
|
||||||
|
|
||||||
- job:
|
- job:
|
||||||
name: system-config-upload-image
|
name: system-config-upload-image
|
||||||
@ -30,7 +30,7 @@
|
|||||||
dependencies: opendev-buildset-registry
|
dependencies: opendev-buildset-registry
|
||||||
abstract: true
|
abstract: true
|
||||||
vars:
|
vars:
|
||||||
zuul_work_dir: /home/zuul/src/opendev.org/opendev/system-config
|
zuul_work_dir: "{{ zuul.projects['opendev.org/opendev/system-config'].src_dir }}"
|
||||||
secrets:
|
secrets:
|
||||||
name: docker_credentials
|
name: docker_credentials
|
||||||
secret: system-config-dockerhub
|
secret: system-config-dockerhub
|
||||||
|
29
zuul.d/docker-images/ircbot.yaml
Normal file
29
zuul.d/docker-images/ircbot.yaml
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
# ircbot jobs
|
||||||
|
- job:
|
||||||
|
name: system-config-build-image-ircbot
|
||||||
|
description: Build a ircbot image.
|
||||||
|
parent: system-config-build-image
|
||||||
|
required-projects: &ircbot_required_projects
|
||||||
|
- opendev/meetbot
|
||||||
|
vars: &ircbot_vars
|
||||||
|
docker_images:
|
||||||
|
- context: docker/ircbot
|
||||||
|
target: ircbot
|
||||||
|
repository: opendevorg/ircbot
|
||||||
|
siblings:
|
||||||
|
- opendev.org/opendev/meetbot
|
||||||
|
files: &ircbot_files
|
||||||
|
- docker/ircbot/.*
|
||||||
|
- job:
|
||||||
|
name: system-config-upload-image-ircbot
|
||||||
|
description: Build and upload a ircbot image.
|
||||||
|
parent: system-config-upload-image
|
||||||
|
required-projects: *ircbot_required_projects
|
||||||
|
vars: *ircbot_vars
|
||||||
|
files: *ircbot_files
|
||||||
|
- job:
|
||||||
|
name: system-config-promote-image-ircbot
|
||||||
|
description: Promote a previously published ircbot image to latest.
|
||||||
|
parent: system-config-promote-image
|
||||||
|
vars: *ircbot_vars
|
||||||
|
files: *ircbot_files
|
@ -116,6 +116,11 @@
|
|||||||
- name: opendev-buildset-registry
|
- name: opendev-buildset-registry
|
||||||
- name: system-config-build-image-python-base-3.7
|
- name: system-config-build-image-python-base-3.7
|
||||||
soft: true
|
soft: true
|
||||||
|
- system-config-build-image-ircbot:
|
||||||
|
dependencies:
|
||||||
|
- name: opendev-buildset-registry
|
||||||
|
- name: system-config-build-image-python-builder-3.9
|
||||||
|
soft: true
|
||||||
- system-config-build-image-python-base-3.7
|
- system-config-build-image-python-base-3.7
|
||||||
- system-config-build-image-python-base-3.8
|
- system-config-build-image-python-base-3.8
|
||||||
- system-config-build-image-python-base-3.9
|
- system-config-build-image-python-base-3.9
|
||||||
@ -234,6 +239,11 @@
|
|||||||
- name: opendev-buildset-registry
|
- name: opendev-buildset-registry
|
||||||
- name: system-config-build-image-python-base-3.7
|
- name: system-config-build-image-python-base-3.7
|
||||||
soft: true
|
soft: true
|
||||||
|
- system-config-upload-image-ircbot:
|
||||||
|
dependencies:
|
||||||
|
- name: opendev-buildset-registry
|
||||||
|
- name: system-config-build-image-python-builder-3.9
|
||||||
|
soft: true
|
||||||
- system-config-upload-image-python-base-3.7
|
- system-config-upload-image-python-base-3.7
|
||||||
- system-config-upload-image-python-base-3.8
|
- system-config-upload-image-python-base-3.8
|
||||||
- system-config-upload-image-python-base-3.9
|
- system-config-upload-image-python-base-3.9
|
||||||
@ -258,6 +268,7 @@
|
|||||||
- system-config-promote-image-zookeeper-statsd
|
- system-config-promote-image-zookeeper-statsd
|
||||||
- system-config-promote-image-accessbot
|
- system-config-promote-image-accessbot
|
||||||
- system-config-promote-image-refstack
|
- system-config-promote-image-refstack
|
||||||
|
- system-config-promote-image-ircbot
|
||||||
- system-config-promote-image-python-base-3.7
|
- system-config-promote-image-python-base-3.7
|
||||||
- system-config-promote-image-python-base-3.8
|
- system-config-promote-image-python-base-3.8
|
||||||
- system-config-promote-image-python-base-3.9
|
- system-config-promote-image-python-base-3.9
|
||||||
|
Loading…
Reference in New Issue
Block a user