You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

57 lines
1.9 KiB

  1. #!/bin/bash
  2. set -e
  3. test -d /data || {
  4. echo "No /data mount found"
  5. exit 1
  6. }
  7. mkdir -p /data/incoming /data/chunker-work /data/packing-queue /data/packer-work-in /data/packer-work-out /data/upload-queue /data/uploader-work
  8. IA_ITEM_DATE_LIT='$( date +"%Y-%m" )'
  9. cat > /factory/config.sh << EOF
  10. #!/bin/bash
  11. MEGABYTES_PER_CHUNK="${MEGABYTES_PER_CHUNK}"
  12. IA_AUTH="${IA_AUTH}"
  13. IA_COLLECTION="${IA_COLLECTION}"
  14. IA_ITEM_TITLE="${IA_ITEM_TITLE}"
  15. IA_ITEM_PREFIX="${IA_ITEM_PREFIX}"
  16. FILE_PREFIX="${FILE_PREFIX}"
  17. IA_ITEM_DATE="${IA_ITEM_DATE_LIT}"
  18. OFFLOAD_TARGET="${OFFLOAD_TARGET}"
  19. ZST_DICTIONARY_API="${ZST_DICTIONARY_API}"
  20. LOAD_BALANCER="${LOAD_BALANCER}"
  21. INCOMING_UPLOADS_DIR="/data/incoming"
  22. CHUNKER_WORKING_DIR="/data/chunker-work"
  23. PACKING_QUEUE_DIR="/data/packing-queue"
  24. PACKER_WORKING_CHUNKS_DIR="/data/packer-work-in"
  25. PACKER_WORKING_MEGAWARC_DIR="/data/packer-work-out"
  26. UPLOAD_QUEUE_DIR="/data/upload-queue"
  27. UPLOADER_WORKING_DIR="/data/uploader-work"
  28. COMPLETED_DIR=""
  29. EOF
  30. touch /factory/RUN
  31. case "${1}" in
  32. chunk|chunker|chunk-multiple)
  33. if test -z "${MEGABYTES_PER_CHUNK}"; then
  34. echo "Missing param: MEGABYTES_PER_CHUNK=${MEGABYTES_PER_CHUNK}"
  35. exit 1
  36. fi
  37. exec /factory/chunk-multiple
  38. ;;
  39. upload|upload-one|upload-multiple)
  40. if test -z "${IA_AUTH}" || test -z "${IA_COLLECTION}" || test -z "${IA_ITEM_TITLE}" || test -z "${IA_ITEM_PREFIX}" || test -z "${FILE_PREFIX}"; then
  41. echo "Missing param: IA_AUTH=${IA_AUTH} IA_COLLECTION=${IA_COLLECTION} IA_ITEM_TITLE=${IA_ITEM_TITLE} IA_ITEM_PREFIX=${IA_ITEM_PREFIX} FILE_PREFIX=${FILE_PREFIX}"
  42. exit 1
  43. fi
  44. exec /factory/upload-multiple
  45. ;;
  46. *)
  47. echo "Usage: chunk|upload"
  48. exit 1
  49. ;;
  50. esac