authfile.sh 953 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. #!/bin/sh -e
  2. error() {
  3. echo "An error occured. Exiting $0." >&2
  4. exit 1
  5. }
  6. # Create Authfile
  7. if [ ! -f "$S3QL_AUTHFILE" ]
  8. then
  9. echo "Creating $S3QL_AUTHFILE..." >&2
  10. if [ -z "$S3QL_USERNAME" ] || [ -z "$S3QL_PASSWORD" ] || [ -z "$S3QL_URL" ]
  11. then
  12. echo "Missing \$S3QL_* environment variables." >&2
  13. error
  14. fi
  15. if [ ! -d "$S3QL_HOME" ]
  16. then
  17. mkdir -p "$S3QL_HOME" || error
  18. fi
  19. S3QL_LOGIN=$([ -z "$S3QL_PROJECT" ] && echo "$S3QL_USERNAME" || echo "$S3QL_PROJECT:$S3QL_USERNAME")
  20. {
  21. echo "[s3ql]";
  22. echo "backend-login: $S3QL_LOGIN";
  23. echo "backend-password: $S3QL_PASSWORD";
  24. echo "storage-url: $S3QL_URL"
  25. } > "$S3QL_AUTHFILE"
  26. if [ -n "$FS_PASSPHRASE" ]
  27. then
  28. echo "fs-passphrase: $FS_PASSPHRASE" >> "$S3QL_AUTHFILE"
  29. fi
  30. if [ -n "$BACKEND_OPTIONS" ]
  31. then
  32. echo "backend-options: $BACKEND_OPTIONS" >> "$S3QL_AUTHFILE"
  33. fi
  34. fi
  35. if [ -w "$S3QL_AUTHFILE" ]
  36. then
  37. chmod 600 "$S3QL_AUTHFILE"
  38. fi