aboutsummaryrefslogtreecommitdiff
path: root/docker/entrypoint_e2e.sh
diff options
context:
space:
mode:
Diffstat (limited to 'docker/entrypoint_e2e.sh')
-rwxr-xr-xdocker/entrypoint_e2e.sh86
1 files changed, 86 insertions, 0 deletions
diff --git a/docker/entrypoint_e2e.sh b/docker/entrypoint_e2e.sh
new file mode 100755
index 000000000..9716bf37e
--- /dev/null
+++ b/docker/entrypoint_e2e.sh
@@ -0,0 +1,86 @@
+#!/bin/bash
+set -e
+
+# Simplified entrypoint for e2e testing
+#
+# This script intentionally runs as root for e2e test environments to:
+# 1. Simplify test setup and avoid permission-related test failures
+# 2. Eliminate dependency on Alpine-specific tools (su-exec) since we use Ubuntu base
+# 3. Focus testing on application logic rather than container security
+#
+# IMPORTANT: Production deployments should use Dockerfile.go_build with proper
+# user isolation via su-exec. This simplified approach is ONLY for testing.
+
+isArgPassed() {
+ arg="$1"
+ argWithEqualSign="$1="
+ shift
+ while [ $# -gt 0 ]; do
+ passedArg="$1"
+ shift
+ case $passedArg in
+ "$arg")
+ return 0
+ ;;
+ "$argWithEqualSign"*)
+ return 0
+ ;;
+ esac
+ done
+ return 1
+}
+
+case "$1" in
+
+ 'master')
+ ARGS="-mdir=/data -volumePreallocate -volumeSizeLimitMB=1024"
+ shift
+ exec /usr/bin/weed -logtostderr=true master $ARGS "$@"
+ ;;
+
+ 'volume')
+ ARGS="-dir=/data -max=0"
+ if isArgPassed "-max" "$@"; then
+ ARGS="-dir=/data"
+ fi
+ shift
+ exec /usr/bin/weed -logtostderr=true volume $ARGS "$@"
+ ;;
+
+ 'server')
+ ARGS="-dir=/data -volume.max=0 -master.volumePreallocate -master.volumeSizeLimitMB=1024"
+ if isArgPassed "-volume.max" "$@"; then
+ ARGS="-dir=/data -master.volumePreallocate -master.volumeSizeLimitMB=1024"
+ fi
+ shift
+ exec /usr/bin/weed -logtostderr=true server $ARGS "$@"
+ ;;
+
+ 'filer')
+ ARGS=""
+ shift
+ exec /usr/bin/weed -logtostderr=true filer $ARGS "$@"
+ ;;
+
+ 's3')
+ ARGS="-domainName=$S3_DOMAIN_NAME -key.file=$S3_KEY_FILE -cert.file=$S3_CERT_FILE"
+ shift
+ exec /usr/bin/weed -logtostderr=true s3 $ARGS "$@"
+ ;;
+
+ 'mount')
+ shift
+ exec /usr/bin/weed -logtostderr=true mount "$@"
+ ;;
+
+ 'shell')
+ ARGS="-cluster=$SHELL_CLUSTER -filer=$SHELL_FILER -filerGroup=$SHELL_FILER_GROUP -master=$SHELL_MASTER -options=$SHELL_OPTIONS"
+ shift
+ exec echo "$@" | /usr/bin/weed -logtostderr=true shell $ARGS
+ ;;
+
+ *)
+ exec /usr/bin/weed "$@"
+ ;;
+esac
+