Installation Instructions

Deploying and configuring a Payment Hub EE

Short Version

Copy

helm repo add g2p-sandbox-1-5 https://fynarfin.io/images/ph-ee-g2psandbox-1.5.0/ helm install my-ph-ee-g2psandbox g2p-sandbox-1-5/ph-ee-g2psandbox --version 1.5.0

Post Deployment Steps

  • ElasticSearch and kibana Secrets are created by Post_Installation_job within the helm chart

  • BPMN will be uploaded within the same Kubernetes job

Copy

helm test g2p-sandbox --namespace paymenthub || echo test

Installation overview

The Payment Hub EE is deployed using Helm charts (the Kubernetes package manager, see https://helm.sh/ ), so for a successful deployment one needs a basic understanding of how Helm charts work in general.

The payment hub ships with 2 Github repositories related to installation: the first one is https://github.com/openMF/ph-ee-env-template - this repo contains the Environment Template, which can be utilized as the base of a new environment setup. and the second is https://github.com/openMF/ph-ee-env-labs - this repo holds a couple of sample environments with different configuration values in the values file. This repo mainly overwrites the values if required to implement specific configuration values. eg: ingress enable/disable, host values, image etc. and this chart has a dependency on a ph-ee-engine chart from the base chart( https://github.com/openMF/ph-ee-env-template )

https://github.com/openMF/ph-ee-env-labs repo has secrets for Kibana and Elasticsearch which will create a secret from make file using a command make secrets

Installed components

The images are pulled from publicly readable DockerHub repositories for different microservices - (https://hub.docker.com/repositories/openmf )

Depending on the actual configuration, the payment hub's Helm chart installs the following software components:

  • PH-EE Channel Connector

  • PH-EE-Bulk Processor

  • PH-EE-Identity Account Mapper

  • PH-EE-Vouchers

  • PH-EE Operations App (incorporating the PH-EE Identity Provider too)

  • PH-EE Operations MySQL database

  • PH-EE Operations Web

  • PH-EE-Message Gateway

  • PH-EE-Notifications

  • PH-EE-Importer RDBMS

  • PH-EE Elasticsearch

  • PH-EE ES importer

  • PH-EE Kibana

  • PH-EE-Zeebe Ops

  • Zeebe microservice orchestration engine

    • Zeebe brokers

    • Gateway service

    • Elasticsearch

    • Kibana

    • Zeebe Operate monitoring UI

  • PH-EE-Mock Payment Schema

  • PH-EE AMS Mifos Connector

  • PH-EE Mojaloop Connector

  • PH-EE-GSMA Connector

  • PH-EE-PH Connector

Certainly all these components have various Kubernetes objects (ReplicationSets, Services, Ingresses, etc). The Helm chart wraps all this complexity into a single package and allows a single-command deployment.

First deployment

Deploying the Helm chart

For the first deployment attempt, we suggest taking one of the sample Lab Environments for a test.

 

  1. Deploying any of them is as simple as cloning the Labs repository, changing the directory to eg. https://github.com/openMF/ph-ee-env-template/tree/v1.11.0/helm/g2p-sandbox and executing the command helm install <release-name> -n <namespace>., where release name is freely chosen, eg. ph-ee-g2p-sandbox, in this case.

    1. [Note: If you do not specify the Namespace, the helm install will execute in default Namespace]

    2. Note: The tag in the URL is pointing to v1.11.0 of ph-ee-engine base chart. Make sure that you are installing the latest released version(version control image) image for the chart and not the latest unreleased version of the chart.

  2. Upgrading an installation with changed or updated configuration parameters is possible with executing the command helm upgrade -f <Chart> <release-name> <Values_file>-n <namespace>.

    1. Sample command for helm deployment: helm upgrade -f helm/g2p-sandbox/values.yaml g2p-sandbox helm/g2p-sandbox --install --create-namespace --namespace paymenthub

    2. To delete/remove the Release from Namespace execute the command helm uninstall <release-name> -n namespace