# Custom Installations

## Rolling your own helm chart

The best approach would be to take one of the tested Lab Environment examples from below and start customizing it to the actual requirements. Once the configuration looks proper, proceed with the deployment as detailed above. Note that very specific charts are in env-labs and generic/ use-case charts are in env-templates.

## Some basic information for payment hub helm charts:

## ph-ee-env-templates:&#x20;

[ph-ee-env-template](https://github.com/openMF/ph-ee-env-template) is the parent chart used for the deployment of various paymentHub services. This chart contains the default configuration for every service. In paymentHub this chart is termed as ph-ee-engine.

#### ph-ee-env-templates cookbooks:

* g2p-sandbox
* identity-account-mapper

## ph-ee-env-labs:

[ph-ee-env-labs](https://github.com/openMF/ph-ee-env-labs) is the chart repository used to alter the default configuration of the ph-ee-engine(ph-ee-env-templates) chart. This repository contains various cookbooks as per the user's requirement.

#### ph-ee-env-labs cookbooks:

* ph-ee-fin-back-end
* ph-ee-fin-front-end
* operations

### How to install cookbooks:

> Your current directory should be in ph-ee-env-labs/ ph-ee-env-templates depending on which chart you're installing.

#### ph-ee-fin-back-end installation:

Steps to install ph-ee-fin-back-end chart:

1. Build the chart dependency:

```
helm dep up helm/ph-ee-fin-back-end
```

2. Install the helm chart:

```
helm upgrade -f helm/ph-ee-fin-back-end/values.yaml RELEASE_NAME helm/ph-ee-fin-back-end/ --install --create-namespace --namespace NAMESPACE
```

> Enter appropriate RELEASE\_NAME and YOUR\_NAMESPACE in the above command.

3. Install the elastic secrets required for the services:

```
make elasticSecrets
```

4. Install the kibana secrets:

```
make kibanaSecrets
```

Now you are good to go with ph-ee-fin-back-end chart.

#### ph-ee-fin-front-end installation:

Steps to install ph-ee-fin-front-end chart:

1. Build the chart dependency:

```
helm dep up helm/ph-ee-fin-front-end
```

2. Install the helm chart:

```
helm upgrade -f helm/ph-ee-fin-front-end/values.yaml RELEASE_NAME helm/ph-ee-fin-front-end/ --install --create-namespace --namespace NAMESPACE
```

### Ways to connect to External RDBMS:

To use the external RDBMS service for any of the cookbooks just need to follow below steps:

> Here is an example of ph-ee-fin-back-end chart.

1. Open values.yaml of ph-ee-fin-back-end chart in an editor.
2. Replace HOST\_NAME, USER, and PASSWORD with your external RDBMS hostname, user, and password.

```
operations_app:
    enabled: true
    imageTag: "latest"
    SPRING_PROFILES_ACTIVE: "bb"
    tenants: "gorilla,lion, phdefault"
    hostname: "ops-bk.sandbox.mifos.io"
    datasource:
      username: USER
      password: PASSWORD
      host: HOST_NAME
      port: 3306
```

> Replace all the other occurrence of datasource with the external RDBMS details. e.g: importer\_rdbms, messagegateway, etc.
