HomePhabricator
Diffusion Comm bdd7605a1886

[services] Tunnelbroker - Moving directories according to the Rust app structure

Description

[services] Tunnelbroker - Moving directories according to the Rust app structure

Summary:
This diff is a part of the flat diffs stack to transform the current Tunnelbroker project into a Rust app by calling the current C++ codebase from Rust. The related transition task is ENG-1072.

In this diff we are moving the directories of the project to be according to the following directory structure:

src/
  libcpp/
    src/
      ... (current Tunnelbroker C++ codebase)
    test/
      ... (current unit tests for C++ codebase)
    tunnelbroker.h (header file with CXX adapters and exposed functions to Rust)
    CMakeLists.txt (cmake file for building, running current unit tests out of Cargo)
  notifications/
    ... (current Rust notifications codebase)
  server/
    ... (future Rust gRPC Tonic related codebase)
  main.rs (main server entrypoint)
docker/
  ... (current Docker scripts)
build.rs (Cargo build)
Cargo.toml
Cargo.lock
Dockerfile

The project directory structure task and discussion: ENG-2083

CI Notice:
The CI will fail on this and further diffs until the D5461 where the changes to CI build commands are made.
This stack will be landed all in one to prevent CI from failing on diffs out of this stack.

Test Plan:
1. CI Testing:
These diff changes are included as a part of the stack in the later D5461 diff, where the changes to CI build commands are made. The CI succeded on the D5461 which reflects that this changes are passing the build.

2. Manually testing:
These diff changes can be tested in the middle of the stack at D5436. To test it patch to D5436 using arc patch D5436, run nix develop. Go to tunnelbroker service directory services/tunnelbroker and run the Cargo building process cargo build or cargo run.
The Rust application will be successfully built.

Reviewers: jon, varun, marcin, tomek

Reviewed By: jon, tomek

Subscribers: ashoat, tomek, atul, abosh

Differential Revision: https://phab.comm.dev/D5428