HomePhabricator
Diffusion Comm 71d6e99debd9

[services][blob] Use Rust implementation in Dockerfile

Description

[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

Details

Provenance
bartekAuthored on Nov 25 2022, 1:32 AM
Reviewer
jon
Differential Revision
D5725: [services][blob] Use Rust implementation in Dockerfile
Parents
rCOMMca771d73de9a: [services][blob] Upload 2/2 - Handle data chunks
Branches
Unknown
Tags
Unknown