OPEA Pipeline Proxy¶
OPEA Pipeline Proxy is an enhancement of the default Istio proxy with additional features designed specifically for OPEA RAG pipelines.
Features¶
Build¶
OPEA Pipeline Proxy is based on Istio proxy and Envoy, you can refer to Building Envoy with Bazel for build locally. In addition, Clang and OpenVINO is required to build OPEA Pipeline Proxy.
# Build OPEA Pipeline Proxy. The binary will be generated to `bin/envoy`.
make
# Build the image. The image will be tagged as `opea/proxyv2:<ISTIO_TAG>` by default.
make image
You can also build OPEA Pipeline Proxy in the build container.
# Build the build image.
make build-image
# Build OPEA Pipeline Proxy with the build container. The binary will be generated to `bin/envoy`.
BUILD_WITH_CONTAINER=1 make
# Build the image. The image will be tagged as `opea/proxyv2:<ISTIO_TAG>` by default.
make image
Deployment¶
Before deploying OPEA Pipeline Proxy, you have to install Istio. Please follow the steps here for Istio installation.
During the installation, you have to assign the OPEA Pipeline Proxy to deploy instead of the default one delivered by Istio.
# Use the default Istio pilot and the proxyv2 delivered by OPEA.
istioctl install --set hub=docker.io/opea --set components.pilot.hub=docker.io/istio
You can also use the annotation here to inject OPEA Pipeline Proxy as sidecars.
Development¶
You can generate the JSON Compilation Database for Visual Studio Code with clangd extension and other compatible tools.
make compilation-database
You can test OPEA Pipeline Proxy with the following command.
make test