Browse Source
entrypoint.sh
entrypoint.sh
- Default arguments are passed through the environment - Added -filer argument to crontab - Indent 2 spaces seaweedfs-compose.yml - Added default values for environment variablespull/1976/head
2 changed files with 56 additions and 66 deletions
@ -1,73 +1,51 @@ |
|||||
#!/bin/sh |
#!/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 |
|
||||
} |
|
||||
|
WEED=${WEED-"/usr/bin/weed"} |
||||
|
WEED_DIR=${WEED_DIR-"/data"} |
||||
|
WEED_VOLUME_PREALLOCATE=${WEED_VOLUME_PREALLOCATE-"-volumePreallocate"} |
||||
|
WEED_MASTER_VOLUME_PREALLOCATE=${WEED_MASTER_VOLUME_PREALLOCATE-"-master.volumePreallocate"} |
||||
|
WEED_VOLUME_SIZE_LIMIT_MB=${WEED_VOLUME_SIZE_LIMIT_MB-1024} |
||||
|
WEED_MAX=${WEED_MAX-0} |
||||
|
WEED_S3_DOMAIN_NAME=${WEED_S3_DOMAIN_NAME-""} |
||||
|
WEED_S3_KEY_FILE=${WEED_S3_KEY_FILE-""} |
||||
|
WEED_S3_CERT_FILE=${WEED_S3_CERT_FILE-""} |
||||
|
|
||||
|
WEED_MASTER=${WEED_MASTER-"localhost:9333"} |
||||
|
WEED_FILER=${WEED_FILER-"localhost:8888"} |
||||
|
FIX_REPLICATION_CRON_SCHEDULE=${FIX_REPLICATION_CRON_SCHEDULE-"*/7 * * * * *"} |
||||
|
BALANCING_CRON_SCHEDULE=${BALANCING_CRON_SCHEDULE-"25 * * * * *"} |
||||
|
|
||||
case "$1" in |
case "$1" in |
||||
|
|
||||
'master') |
'master') |
||||
ARGS="-mdir=/data -volumePreallocate -volumeSizeLimitMB=1024" |
|
||||
|
ARGS="-mdir=$WEED_DIR $WEED_VOLUME_PREALLOCATE -volumeSizeLimitMB=$WEED_VOLUME_SIZE_LIMIT_MB" |
||||
shift |
shift |
||||
exec /usr/bin/weed master $ARGS $@ |
|
||||
|
exec $WEED master $ARGS $@ |
||||
;; |
;; |
||||
|
|
||||
'volume') |
'volume') |
||||
ARGS="-dir=/data -max=0" |
|
||||
if isArgPassed "-max" "$@"; then |
|
||||
ARGS="-dir=/data" |
|
||||
fi |
|
||||
|
ARGS="-dir=$WEED_DIR -max=$WEED_MAX" |
||||
shift |
shift |
||||
exec /usr/bin/weed volume $ARGS $@ |
|
||||
|
exec $WEED volume $ARGS $@ |
||||
;; |
;; |
||||
|
|
||||
'server') |
'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 server $ARGS $@ |
|
||||
;; |
|
||||
|
|
||||
'filer') |
|
||||
ARGS="" |
|
||||
|
ARGS="-dir=$WEED_DIR -volume.max=$WEED_MAX $WEED_MASTER_VOLUME_PREALLOCATE -master.volumeSizeLimitMB=$WEED_VOLUME_SIZE_LIMIT_MB" |
||||
shift |
shift |
||||
exec /usr/bin/weed filer $ARGS $@ |
|
||||
|
exec $WEED server $ARGS $@ |
||||
;; |
;; |
||||
|
|
||||
's3') |
's3') |
||||
ARGS="-domainName=$S3_DOMAIN_NAME -key.file=$S3_KEY_FILE -cert.file=$S3_CERT_FILE" |
|
||||
|
ARGS="-domainName=$WEED_S3_DOMAIN_NAME -key.file=$WEED_S3_KEY_FILE -cert.file=$WEED_S3_CERT_FILE" |
||||
shift |
shift |
||||
exec /usr/bin/weed s3 $ARGS $@ |
|
||||
|
exec $WEED s3 $ARGS $@ |
||||
;; |
;; |
||||
|
|
||||
'cronjob') |
'cronjob') |
||||
MASTER=${WEED_MASTER-localhost:9333} |
|
||||
FIX_REPLICATION_CRON_SCHEDULE=${CRON_SCHEDULE-*/7 * * * * *} |
|
||||
echo "$FIX_REPLICATION_CRON_SCHEDULE" 'echo "lock; volume.fix.replication; unlock" | weed shell -master='$MASTER > /crontab |
|
||||
BALANCING_CRON_SCHEDULE=${CRON_SCHEDULE-25 * * * * *} |
|
||||
echo "$BALANCING_CRON_SCHEDULE" 'echo "lock; volume.balance -collection ALL_COLLECTIONS -force; unlock" | weed shell -master='$MASTER >> /crontab |
|
||||
|
cat <<-EOF >crontab |
||||
|
$FIX_REPLICATION_CRON_SCHEDULE echo "lock; volume.fix.replication; unlock" | $WEED shell -master=$WEED_MASTER -filer=$WEED_FILER |
||||
|
$BALANCING_CRON_SCHEDULE echo "lock; volume.balance -collection ALL_COLLECTIONS -force; unlock" | $WEED shell -master=$WEED_MASTER -filer=$WEED_FILER |
||||
|
EOF |
||||
echo "Running Crontab:" |
echo "Running Crontab:" |
||||
cat /crontab |
cat /crontab |
||||
exec supercronic /crontab |
exec supercronic /crontab |
||||
;; |
;; |
||||
*) |
*) |
||||
exec /usr/bin/weed $@ |
|
||||
|
exec $WEED $@ |
||||
;; |
;; |
||||
esac |
esac |
||||
Write
Preview
Loading…
Cancel
Save
Reference in new issue