aboutsummaryrefslogtreecommitdiffstats
path: root/ansible/roles/docker/files/docuum.sh
diff options
context:
space:
mode:
Diffstat (limited to 'ansible/roles/docker/files/docuum.sh')
-rwxr-xr-xansible/roles/docker/files/docuum.sh43
1 files changed, 43 insertions, 0 deletions
diff --git a/ansible/roles/docker/files/docuum.sh b/ansible/roles/docker/files/docuum.sh
new file mode 100755
index 0000000..8c088dc
--- /dev/null
+++ b/ansible/roles/docker/files/docuum.sh
@@ -0,0 +1,43 @@
+#!/bin/sh -ex
+
+# Maximum amount of storage that docker images may consume
+THRESHOLD="$(cat /opt/docuum/docker_max_space)"
+
+DIR="$(dirname "$(realpath "$0")")"
+IMG="osmo-ci-docuum"
+DOCUUM_UID="1000"
+DOCKER_GID="$(getent group docker | cut -d : -f 3)"
+PULL_ARG=""
+
+if [ -z "$THRESHOLD" ]; then
+ set +x
+ echo "ERROR: failed to read threshold from /opt/docuum/docker_max_space"
+ exit 1
+fi
+
+if [ "$INITIAL_BUILD" = 1 ]; then
+ PULL_ARG="--pull"
+fi
+
+mkdir -p /var/cache/docuum
+chown "$DOCUUM_UID" /var/cache/docuum
+
+cd "$DIR"
+docker build \
+ --build-arg DOCKER_GID="$DOCKER_GID" \
+ $PULL_ARG \
+ -t "$IMG" \
+ .
+
+if [ "$INITIAL_BUILD" = 1 ]; then
+ exit 0
+fi
+
+docker run \
+ --rm \
+ --init \
+ --name docuum \
+ -v /var/run/docker.sock:/var/run/docker.sock \
+ -v /var/cache/docuum:/home/user \
+ "$IMG" \
+ sh -c "exec /opt/docuum/docuum --threshold '$THRESHOLD'"