edit | blame | history | raw

Exchange application

This application serves as a test bench for different Service Mesh labs.

The frontend folder contains a React app to consume a basic backend.

The backend API gateway is in exchange, implemented as a Quarkus service. This service then consumes currencies and history, in Python and Node.js respectively.

Additionally, exchange also simulates a dependency on an external (outside of the cluster) news service. This service is implemented in ../python-flask-gossip and should be deployed in an separate OCP project.

Deployment

Before deploying the application, you need Service Mesh installed in a project called istio-system. Instructions here.

You can install the optional "external" news service, python-flask-gossip, deployed in its own project, and accessible via a route.

Now, process the template and create the resources, specifying the Istio ingress gateway route in INGRESS_GW and the news external service route in NEWS_ENDPOINT.

oc process -o yaml -f kubefiles/exchange-app-template.yml \
    -p INGRESS_GW=exchange-exchange-app.apps.example.com \
    -p NEWS_ENDPOINT=news-gossip-app.apps.example.com | oc create -f -

WARNING: Do not add a preceding 'http://' to the INGRESS_GW and NEWS_ENDPOINT variables. It should only be a FQDN hostname string.