Back to Mullvadvpn App

Management interface node gRPC bindings

desktop/packages/management-interface/README.md

2026.21.3 KB
Original Source

Management interface node gRPC bindings

This package provides node (JS/TS) gRPC bindings generated from our .proto files.The bindings consists of two parts:

  • The bindings automatically generated from .proto files.
  • Manually created exports in package.json which exposes the autogenerated bindings.

The autogenerated bindings must be regenerated when the source .proto files are updated.

Container image

The node gRPC bindings are generated within a Linux container. The container first builds the grpc-tools binaries from source from the grpc-node repository. The grpc-tools binaries are then used to generate the node gRPC bindings.

Build and publish image

Note: These steps should be run on the build server. See: building/README.md

bash
cd desktop/packages/management-interface
bash building/build-and-publish-container-image.sh

Post publish

When the new image has been pushed to the container repository we must ensure we use the new version.

Update the IMAGE_HASH variable used in the shell script to use the new tag:

desktop/packages/management-interface/scripts/container-run-generate-bindings.sh

Usage

Generate bindings

Run the build script to generate the bindings.

bash
npm run -w management-interface build