diff options
Diffstat (limited to 'docker/entrypoint.sh')
| -rwxr-xr-x | docker/entrypoint.sh | 38 |
1 files changed, 31 insertions, 7 deletions
diff --git a/docker/entrypoint.sh b/docker/entrypoint.sh index 05db7a672..5a858d993 100755 --- a/docker/entrypoint.sh +++ b/docker/entrypoint.sh @@ -1,36 +1,60 @@ #!/bin/sh +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" - exec /usr/bin/weed $@ $ARGS + shift + exec /usr/bin/weed master $ARGS $@ ;; 'volume') ARGS="-dir=/data -max=0" - if [[ $@ == *"-max="* ]]; then + if isArgPassed "-max" "$@"; then ARGS="-dir=/data" fi - exec /usr/bin/weed $@ $ARGS + shift + exec /usr/bin/weed volume $ARGS $@ ;; 'server') ARGS="-dir=/data -volume.max=0 -master.volumePreallocate -master.volumeSizeLimitMB=1024" - if [[ $@ == *"-volume.max="* ]]; then + if isArgPassed "-volume.max" "$@"; then ARGS="-dir=/data -master.volumePreallocate -master.volumeSizeLimitMB=1024" fi - exec /usr/bin/weed $@ $ARGS + shift + exec /usr/bin/weed server $ARGS $@ ;; 'filer') ARGS="" - exec /usr/bin/weed $@ $ARGS + shift + exec /usr/bin/weed filer $ARGS $@ ;; 's3') ARGS="-domainName=$S3_DOMAIN_NAME -key.file=$S3_KEY_FILE -cert.file=$S3_CERT_FILE" - exec /usr/bin/weed $@ $ARGS + shift + exec /usr/bin/weed s3 $ARGS $@ ;; 'cronjob') |
