Page MenuHomeSoftware Heritage

D819.diff
No OneTemporary

D819.diff

diff --git a/docker-compose.yml b/docker-compose.yml
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -24,7 +24,6 @@
image: swh/objstorage
ports:
- 5003:5003
-
swh-web:
build: ./dockerfiles/swh-web
image: swh/web
@@ -33,3 +32,20 @@
depends_on:
- swh-objstorage
- swh-storage
+ swh-scheduler-db:
+ image: postgres:10
+ environment:
+ POSTGRES_PASSWORD: testpassword
+ POSTGRES_DB: swh-scheduler
+ swh-scheduler:
+ build: ./dockerfiles/swh-scheduler
+ image: swh/scheduler
+ ports:
+ - 5008:5008
+ depends_on:
+ - swh-scheduler-db
+ environment:
+ POSTGRES_PASSWORD: testpassword
+ POSTGRES_DB: swh-scheduler
+ PGHOST: swh-scheduler-db
+ PGUSER: postgres
diff --git a/dockerfiles/swh-scheduler/Dockerfile b/dockerfiles/swh-scheduler/Dockerfile
new file mode 100644
--- /dev/null
+++ b/dockerfiles/swh-scheduler/Dockerfile
@@ -0,0 +1,17 @@
+FROM python:3
+
+RUN export DEBIAN_FRONTEND=noninteractive && \
+ apt-get update && apt-get upgrade -y && \
+ apt-get install -y libsystemd-dev postgresql-client && \
+ apt-get clean && \
+ rm -rf /var/lib/apt/lists/*
+
+RUN pip install swh-scheduler
+RUN pip install psycopg2-binary # to make pip silent
+
+COPY scheduler.yml /
+COPY entrypoint.sh /
+
+ENTRYPOINT ["/entrypoint.sh"]
+
+EXPOSE 5008
diff --git a/dockerfiles/swh-scheduler/entrypoint.sh b/dockerfiles/swh-scheduler/entrypoint.sh
new file mode 100755
--- /dev/null
+++ b/dockerfiles/swh-scheduler/entrypoint.sh
@@ -0,0 +1,36 @@
+#!/bin/bash
+
+set -e
+
+if [[ -d /src ]] ; then
+ for srcrepo in /src/swh-* ; do
+ echo "installing $srcrepo"
+ pushd $srcrepo
+ pip install -e .
+ popd
+ done
+fi
+
+echo "${PGHOST}:5432:${POSTGRES_DB}:${PGUSER}:${POSTGRES_PASSWORD}" > ~/.pgpass
+cat > ~/.pg_service.conf <<EOF
+[swh-scheduler]
+dbname=${POSTGRES_DB}
+host=${PGHOST}
+port=5432
+user=${PGUSER}
+EOF
+
+chmod 0400 ~/.pgpass
+
+case "$1" in
+ "shell")
+ exec bash -i
+ ;;
+ *)
+ echo "setup the scheduler database"
+ PGPASSWORD=${POSTGRES_PASSWORD} swh-db-init scheduler \
+ --db-name ${POSTGRES_DB}
+ echo "starting the swh-scheduler server"
+ exec python3 -m swh.scheduler.api.server /scheduler.yml
+ ;;
+esac
diff --git a/dockerfiles/swh-scheduler/scheduler.yml b/dockerfiles/swh-scheduler/scheduler.yml
new file mode 100644
--- /dev/null
+++ b/dockerfiles/swh-scheduler/scheduler.yml
@@ -0,0 +1,4 @@
+scheduler:
+ cls: local
+ args:
+ scheduling_db: service=swh-scheduler

File Metadata

Mime Type
text/plain
Expires
Dec 21 2024, 4:33 PM (11 w, 4 d ago)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
3221591

Event Timeline