Page MenuHomePhabricator

[keyserver] Adding `tunnelbroker-client` to the keyserver napi-rs dependencies
ClosedPublic

Authored by max on Jan 17 2023, 6:40 AM.
Tags
None
Referenced Files
Unknown Object (File)
Mon, Oct 28, 11:50 AM
Unknown Object (File)
Sun, Oct 27, 5:43 PM
Unknown Object (File)
Oct 15 2024, 7:11 AM
Unknown Object (File)
Oct 12 2024, 12:06 PM
Unknown Object (File)
Oct 11 2024, 11:32 AM
Unknown Object (File)
Oct 8 2024, 11:14 AM
Unknown Object (File)
Oct 6 2024, 6:35 PM
Unknown Object (File)
Sep 29 2024, 1:53 AM

Details

Summary

This diff introduces the integration of the shared Tunnelbroker-client Rust library into the keyserver using the napi-rs as a dependency.
We are updating the Cargo.toml file for the rust-node-addon and updating the Dockerfile to copy the tunnelbroker-client shared library inside the container.

Linear task: ENG-2729

Test Plan

All services should be built successfully according to the CI.

Diff Detail

Repository
rCOMM Comm
Branch
keyserver-add-tb-client-package
Lint
No Lint Coverage
Unit
No Test Coverage

Event Timeline

max held this revision as a draft.

Rebasing, making changes in Dockerfile, making D5796 as a parent.

max edited the test plan for this revision. (Show Details)
max added reviewers: varun, bartek.

Adding copying of protobuf files into the Dockerfile.

max published this revision for review.Jan 25 2023, 6:27 AM
max planned changes to this revision.

Installing protoc by the script.

Fixing the install protoc script running.

Forcing ot install protoc out of buildkite.

ashoat added inline comments.
keyserver/addons/rust-node-addon/install_external_deps.sh
5–12

I think there's some reason for this logic, maybe @jon knows

Adding cmake to dependencies.

max added inline comments.
keyserver/addons/rust-node-addon/install_external_deps.sh
5–12

I think there's some reason for this logic, maybe @jon knows

This came from D5796 where we are installing protoc using the apt when not in a CI workflow, but we must install the protoc using the install_protobuf.sh anyway because the file contains proto3 optional fields error (protoc version inconsistency).

Updating ENG-2808 on the protoc build issue.

keyserver/addons/rust-node-addon/install_external_deps.sh
5–12

You're breaking behavior though, aren't you? As mentioned above, this condition was here for a reason. It seems like you are going to cause the installation to occur in places where it should not, just so you can get your logic to work. It's important to consider "why" some code exists, instead of hammering things until they work for you

Rebasing on parent changes.

max added inline comments.
keyserver/addons/rust-node-addon/install_external_deps.sh
5–12

You're breaking behavior though, aren't you? As mentioned above, this condition was here for a reason. It seems like you are going to cause the installation to occur in places where it should not, just so you can get your logic to work. It's important to consider "why" some code exists, instead of hammering things until they work for you

That was a "draft" diff which included changes that must/can be in the parent D5796. I think I should mark it as a draft in a title as well along with the "changes planned" state, until its ready.

max marked an inline comment as done.

Accepting with one wording change inline

keyserver/Dockerfile
127 ↗(On Diff #21390)
keyserver/addons/rust-node-addon/Cargo.toml
26 ↗(On Diff #21390)

FWIW this kind of relative path appears to be breaking the Windows GitHub CI workflow... I paired with jon today to try to resolve it but no luck. Will try to sync with @ashoat because it might have something to do with node_modules that I don't understand

This revision is now accepted and ready to land.Jan 31 2023, 9:15 PM

Let's make sure we don't land this until we have clarity on the Windows GitHub issue, or at least we should be ready to revert it immediately if it breaks that

Let's make sure we don't land this until we have clarity on the Windows GitHub issue, or at least we should be ready to revert it immediately if it breaks that

I'll check if it's resolved first, or will try on the GitHub branch first.

Rebasing on parent changes.