# Installation instructions

## Short Version

```
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 ](https://mifos.gitbook.io/docs/payment-hub-ee/overview/installation-instructions/configuration-instructions/deploy-bpmns-with-multiple-dfsp-ids)

* ElasticSearch and kibana Secrets are created by Post\_Installation\_job within the helm chart
* BPMN will be uploaded within the same Kubernetes job

```
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](https://github.com/openMF/ph-ee-env-labs/tree/master/helm) 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&#x20;
* PH-EE ES importer
* PH-EE Kibana
* PH-EE-Zeebe Ops
* Zeebe microservice orchestration engine
  * Zeebe brokers
  * Gateway service
  * Elasticsearch&#x20;
  * 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.&#x20;

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.&#x20;
   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>`.&#x20;
   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`

##

##


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://mifos.gitbook.io/docs/payment-hub-ee/overview/installation-instructions.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
