Installation
Prerequisites
Below listed components are required to run the OPI bridge for MangoBoost:
mango-drivers-spdk
grpci_cli
or other gRPC clientdocker
(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.