tree: 303e99f8e61e91fc5cb2c756cef7e5e7a845c524 [path history] [tgz]
  1. doc/
  2. static/
  3. templates/
  4. tools/
  5. acl.py
  6. app.yaml
  7. appengine_config.py
  8. config.py
  9. cron.yaml
  10. gcs.py
  11. handlers_backend.py
  12. handlers_endpoints_v1.py
  13. handlers_endpoints_v1_test.py
  14. handlers_frontend.py
  15. handlers_stats.py
  16. handlers_test.py
  17. index.yaml
  18. main_backend.py
  19. main_frontend.py
  20. mapreduce.yaml
  21. mapreduce_jobs.py
  22. model.py
  23. model_test.py
  24. module-backend.yaml
  25. PRESUBMIT.py
  26. queue.yaml
  27. README.md
  28. stats.py
  29. stats_test.py
  30. template.py
  31. test_env.py
appengine/isolate/README.md

Isolate Server

An AppEngine service to efficiently cache large set of large files over the internet with high level of duplication. The cache is content addressed and uses Cloud Storage as its backing store.

Isolate enables sending temporary files around. It is a pure cache, files will be deleted.

Isolate can be used standalone when only files need to be transfered but no task scheduler is needed.

Documentation

Setting up

  • Visit http://console.cloud.google.com and create a project. Replace <appid> below with your project id.
  • Visit Google Cloud Console
    • IAM & Admin, click Add Member and add someone else so you can safely be hit by a bus.
    • IAM & Admin, Service accounts, click Create service account:
      • Name it “server@<appid>.iam.gserviceaccount.com”.
      • Check Furnish a new private key and select P12.
        • TODO(vadimsh): switch to JSON keys.
      • Click Create.
    • Storage, click Create bucket, name it with the same . Do not use any pre-created bucket, they won't work.
      • Click on Browser on the left.
      • Click the 3 dots on the right of your new bucket and select Edit bucket permission.
      • Click Add item, chose User, “server@<appid>.iam.gserviceaccount.com”, Writer.
      • Click Save.
    • Pub/Sub, click Enable API.
  • Upload the code with: ./tools/gae upl -x -A <appid>
  • If you plan to use an auth_service,
  • else
    • Visit “https://<appid>.appspot.com/auth/bootstrap” and click Proceed.
  • Visit “https://<appid>.appspot.com/auth/groups”:
    • Create access groups as relevant. Visit the “IP Whitelists” tab and add bot external IP addresses if needed.
  • Visit “https://<appid>.appspot.com/restricted/config
    • Set “API access client email address” to “server@<appid>.iam.gserviceaccount.com”.
    • Follow the on-screen instructions to generate the base64 encoded DER private key.
    • Click Submit.
  • Tweak settings:
    • Visit Google Cloud Console
      • App Engine, Memcache, click Change:
        • Chose Dedicated.
        • Set the cache to Dedicated 5Gb.
        • Wait a day of steady state usage.
        • Set the limit to be lower than the value read at “Total cache size” in “Memcache Viewer”.
    • App Engine, Settings, click Edit:
      • Set Google login Cookie expiration to: 2 weeks, click Save.