[services][blob] Use Rust implementation in Dockerfile
Summary:
Resolves ENG-2305
I've decided to use a multi-staged build is described in the above Linear issue. In short, Tonic >= 0.8 requires both rust and protobuf to be installed, and in other configurations the image is either huge or long to build.
Other minor changes:
- Added Rust target directory to dockerignore
- Modified the docker-compose volumes to load AWS credentials appropriately
- Fixed the Localstack URL - it should look like this from the begginning (see other services)
- Deleted the links entry in Cargo.toml as we don't link any native library here and release build fails.
Test Plan:
Locally, e.g. by running:
cd services yarn init-local-cloud yarn run-blob-service-in-sandbox # in another terminal yarn run-integration-tests blob
CI builds Blob docker image successfully
Other CI jobs might fail as I haven't updated test workflows (they expect C++ test build) but they don't seem to be triggered (e.g. .buildkite/blob_unittests.yml)
Reviewers: varun, jon, ashoat, tomek
Reviewed By: jon
Subscribers: atul
Differential Revision: https://phab.comm.dev/D5725