upload/koji: reorganize run-koji-container script
run-koji-container has now two actions: start and stop: - ./run-koji-container.sh start - ./run-koji-container.sh stop The start action starts all containers. When it exits, all containers are started and running in the background. To stop and removethem, use the stop action. This change is needed so we're able to easily use this script also in the CI environment.
This commit is contained in:
parent
355f4da115
commit
c9d7892ec0
2 changed files with 68 additions and 35 deletions
|
|
@ -3,7 +3,7 @@
|
|||
Firstly, you need to start the koji container:
|
||||
|
||||
```
|
||||
sudo ./internal/upload/koji/run-koji-container.sh
|
||||
sudo ./internal/upload/koji/run-koji-container.sh start
|
||||
```
|
||||
|
||||
This command starts a kojihub instance available at
|
||||
|
|
@ -20,3 +20,9 @@ go test -v -tags koji_test ./internal/upload/koji
|
|||
|
||||
The test is run on each PR in the Github CI. See `.github/workflows/tests.yml`
|
||||
for more details.
|
||||
|
||||
To stop and remove the koji container, use the following command:
|
||||
|
||||
```
|
||||
sudo ./internal/upload/koji/run-koji-container.sh stop
|
||||
```
|
||||
|
|
|
|||
|
|
@ -1,6 +1,61 @@
|
|||
#!/bin/bash
|
||||
set -eu
|
||||
|
||||
koji_stop () {
|
||||
echo "Shutting down containers, please wait..."
|
||||
|
||||
${CONTAINER_RUNTIME} stop org.osbuild.koji.koji || true
|
||||
${CONTAINER_RUNTIME} rm org.osbuild.koji.koji || true
|
||||
|
||||
${CONTAINER_RUNTIME} stop org.osbuild.koji.postgres || true
|
||||
${CONTAINER_RUNTIME} rm org.osbuild.koji.postgres || true
|
||||
|
||||
${CONTAINER_RUNTIME} network rm -f org.osbuild.koji || true
|
||||
}
|
||||
|
||||
koji_clean_up_bad_start () {
|
||||
EXIT_CODE=$?
|
||||
echo "Start failed, removing containers."
|
||||
|
||||
koji_stop
|
||||
|
||||
exit $EXIT_CODE
|
||||
}
|
||||
|
||||
koji_start() {
|
||||
trap koji_clean_up_bad_start EXIT
|
||||
|
||||
${CONTAINER_RUNTIME} network create org.osbuild.koji
|
||||
${CONTAINER_RUNTIME} run -d --name org.osbuild.koji.postgres --network org.osbuild.koji \
|
||||
-e POSTGRES_USER=koji \
|
||||
-e POSTGRES_PASSWORD=kojipass \
|
||||
-e POSTGRES_DB=koji \
|
||||
docker.io/library/postgres:12-alpine
|
||||
|
||||
${CONTAINER_RUNTIME} run -d --name org.osbuild.koji.koji --network org.osbuild.koji \
|
||||
-p 8080:80 \
|
||||
-e POSTGRES_USER=koji \
|
||||
-e POSTGRES_PASSWORD=kojipass \
|
||||
-e POSTGRES_DB=koji \
|
||||
-e POSTGRES_HOST=org.osbuild.koji.postgres \
|
||||
quay.io/osbuild/ghci-koji:v1
|
||||
|
||||
echo "Containers are running, to stop them use:"
|
||||
echo "$0 stop"
|
||||
|
||||
trap - EXIT
|
||||
}
|
||||
|
||||
if [[ $# -ne 1 || ( "$1" != "start" && "$1" != "stop" ) ]]; then
|
||||
cat <<DOC
|
||||
usage: $0 start|stop
|
||||
|
||||
start - starts the koji containers
|
||||
stop - stops and removes the koji containers
|
||||
DOC
|
||||
exit 3
|
||||
fi
|
||||
|
||||
if [ $UID != 0 ]; then
|
||||
echo This script must be run as root.
|
||||
exit 1
|
||||
|
|
@ -15,38 +70,10 @@ else
|
|||
exit 2
|
||||
fi
|
||||
|
||||
clean_up () {
|
||||
EXIT_CODE=$?
|
||||
if [ $1 == "start" ]; then
|
||||
koji_start
|
||||
fi
|
||||
|
||||
echo "Shutting down containers, please wait..."
|
||||
|
||||
${CONTAINER_RUNTIME} stop org.osbuild.koji.koji || true
|
||||
${CONTAINER_RUNTIME} rm org.osbuild.koji.koji || true
|
||||
|
||||
${CONTAINER_RUNTIME} stop org.osbuild.koji.postgres || true
|
||||
${CONTAINER_RUNTIME} rm org.osbuild.koji.postgres || true
|
||||
|
||||
${CONTAINER_RUNTIME} network rm -f org.osbuild.koji || true
|
||||
|
||||
exit $EXIT_CODE
|
||||
}
|
||||
|
||||
trap clean_up EXIT
|
||||
|
||||
${CONTAINER_RUNTIME} network create org.osbuild.koji
|
||||
${CONTAINER_RUNTIME} run -d --name org.osbuild.koji.postgres --network org.osbuild.koji \
|
||||
-e POSTGRES_USER=koji \
|
||||
-e POSTGRES_PASSWORD=kojipass \
|
||||
-e POSTGRES_DB=koji \
|
||||
docker.io/library/postgres:12-alpine
|
||||
|
||||
${CONTAINER_RUNTIME} run -d --name org.osbuild.koji.koji --network org.osbuild.koji \
|
||||
-p 8080:80 \
|
||||
-e POSTGRES_USER=koji \
|
||||
-e POSTGRES_PASSWORD=kojipass \
|
||||
-e POSTGRES_DB=koji \
|
||||
-e POSTGRES_HOST=org.osbuild.koji.postgres \
|
||||
quay.io/osbuild/ghci-koji:v1
|
||||
|
||||
echo "Running, press CTRL+C to stop..."
|
||||
sleep infinity
|
||||
if [ $1 == "stop" ]; then
|
||||
koji_stop
|
||||
fi
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue