Skip to main content

Installation

Prerequisites​

Below listed components are required to run the OPI bridge for MangoBoost:

  • mango-drivers-spdk
  • grpc_cli or other gRPC client
  • docker (for running the OPI bridge in a container)

For non-Docker usage, you need the components listed below installed on your system:

  • go (version 1.22 or later)
  • redis
  • jaeger

As mango-drivers-spdk uses different file paths for Unix domain sockets depending on the product currently being used, the OPI bridge should be run with the specific path or a symbolic link to the path of the socket file.

Using Docker Container​

You can run the OPI bridge in a Docker container using the provided Docker Compose file. You can modify the docker-compose.yml file to suit your needs, such as defining custom port numbers or socket file path.

~$ docker compose up -d opi-mangoboost-server redis jaeger

You can check the logs of the OPI bridge server using:

~$ docker compose logs opi-mangoboost-server
opi-mangoboost-server-1 | 2025/06/25 06:14:09 TLS files are not specified. Use insecure connection.
opi-mangoboost-server-1 | 2025/06/25 06:14:09 Connection to SPDK will be via: unix detected from /var/tmp/spdk.sock
opi-mangoboost-server-1 | 2025/06/25 06:14:09 gRPC server listening at 0.0.0.0:50051
opi-mangoboost-server-1 | 2025/06/25 06:14:09 HTTP Server listening at 8082

Building from Source​

You can build the OPI bridge from source if you prefer not to use Docker. This requires Go SDK and other dependencies to be installed on your system.

~$ git clone https://github.com/opiproject/opi-mangoboost-bridge.git
~$ cd opi-mangoboost-bridge
~$ make
~$ ./opi-mangoboost-bridge

Manually Build grpc_cli​

You can build the gRPC client to test the OPI bridge.

~$ git clone --recursive https://github.com/grpc/grpc.git
~$ cd grpc
~$ mkdir -p cmake/build
~$ cd cmake/build
~$ cmake -DgRPC_BUILD_TESTS=ON -DCMAKE_CXX_STANDARD=17 ../..
~$ make grpc_cli -j4
~$ ./grpc_cli --help

Use the grpc_cli binary to interact with the OPI bridge server. Further details can be found in the OPI User Guide documentation.