Mifos Payment Hub Installation in Sandbox

Mifos Payment Hub Installation in Sandbox

Guidances

Mifos PaymentHub initial installation instructions (v.1.11.0) 04.12.2023:

  1. Deployment documentation (specific and in detail to our project, not a generic one)

As all Govstack developments are merged into master branch there is no difference between master branch documentation and Govstack bar configuration.
Deployment Instructions: https://mifos.gitbook.io/docs/payment-hub-ee/overview/installation-instructions
Govstack Config: https://mifos.gitbook.io/docs/payment-hub-ee/overview/installation-instructions/default-cookbook-chart-for-gov-use-case

  1. Sources are available (some links to artifacts in this chat above are dead)
    Source Repo's here: https://mifos.gitbook.io/docs/payment-hub-ee/overview/source-code-repositories
    Release notes for latest: https://mifos.gitbook.io/docs/payment-hub-ee/release-notes/v1.11.0

  2. Helm Chart of the current version and to which GovStack spec it is compliant.
    The Helm Charts are conformant to the spec v1.3 we have shared awaiting final publication by Govstack.
    @Manoj VM can you please share link to the Helm charts

  3. Are resources (images) publicly available.
    @Manoj VM can you share links to latest image

  4. Any post-deployment configurations needed as a document.
    Post-deployment config here: https://mifos.gitbook.io/docs/payment-hub-ee/overview/installation-instructions/post-deployment-steps
    Config for items such as Program ID etc here:
    https://mifos.gitbook.io/docs/payment-hub-ee/overview/installation-instructions/configuration-instructions

  5. Any automated procedures available.n/a Helm charts provided.

  6. Validation indicators/markers for the running instance of your Payment Hub.@Manoj VM Do we have these documented I note on the demo last week you had expected state I can try and snip that out if we don't have it somewhere.

 

Execution steps

Follow: https://mifos.gitbook.io/docs/payment-hub-ee/overview/installation-instructions/default-cookbook-chart-for-gov-use-case

  1. Install/upgrade Chart

    git clone https://github.com/openMF/ph-ee-env-template.git cd ph-ee-env-template helm dep up helm/g2p-sandbox helm package helm/g2p-sandbox helm repo index . helm install g2psandbox helm/g2p-sandbox --namespace paymenthub --create-namespace
  • Install ServiceMonitor (Do this if you are setting up cluster for the first time), this CRD is added in our terraform script

kubectl apply -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/main/example/prometheus-operator-crd/monitoring.coreos.com_servicemonitors.yaml
  1. Apply fix to known bugs

    // On pod: operationsmysql-0 in {namespace} with PortForward or Shell in the pod DROP DATABASE `tenants`; DROP DATABASE `rhino`; DROP DATABASE `gorilla`; CREATE DATABASE `tenants`; GRANT ALL PRIVILEGES ON `tenants`.* TO 'mifos'; CREATE DATABASE `rhino`; CREATE DATABASE `gorilla`; GRANT ALL PRIVILEGES ON `rhino`.* TO 'mifos'; GRANT ALL PRIVILEGES ON `gorilla`.* TO 'mifos'; GRANT ALL ON *.* TO 'root'@'%';
  2. Apply secrets creation scripts

    1. Elastic Search Secret

      Source: Github Source

      // Clone repo or directory from the link above export ENV_NAMESPACE=paymenthub cd helm/es-secret/ make secrets || echo "elastic-certificates" already exists
    2. Kibana Secret

      Source: Github Source

      // Clone repo or directory from the link above export ENV_NAMESPACE=paymenthub cd helm/kibana-secret/ make secrets || echo "kibana" already exists
    3. bulk-processor secret (ID and KEY are in file keys.txt in S3 bucket)

      export ENV_NAMESPACE=paymenthub export S3_ACCESS_KEY_ID=[[should be obtained from previously created bucked and acces keys]] export S3_SECRET_ACCESS_KEY=[[should be obtained from previously created bucked and acces keys]] kubectl delete secret bulk-processor-secret -n $ENV_NAMESPACE || echo "delete the secret if exist" kubectl create secret generic bulk-processor-secret \ --from-literal=aws-access-key="$S3_ACCESS_KEY_ID" \ --from-literal=aws-secret-key="$S3_SECRET_ACCESS_KEY" -n $ENV_NAMESPACE
  3. Upload BPMN-s

    //Port forward ph-ee-zeebe-ops git clone https://github.com/openMF/ph-ee-env-labs.git cd ph-ee-env-labs //Replace HOST in ./orchestration/deployBpmn.sh //execute ./orchestration/deployBpmn.sh
  4. Execute tests

    helm test g2psandbox --namespace paymenthub //result helm test g2psandbox --namespace paymenthub NAME: g2psandbox LAST DEPLOYED: Tue Dec 5 17:05:10 2023 NAMESPACE: paymenthub STATUS: deployed REVISION: 1 TEST SUITE: g2p-sandbox-test-connection Last Started: Wed Dec 6 15:38:23 2023 Last Completed: Wed Dec 6 15:43:23 2023 Phase: Failed Error: timed out waiting for the condition
  5. Todo fixes

    Fix ph-ee-config config map > .Release.Name > g2psandbox Should kong be disabled. Do we need it? Replace in deployment/ph-ee-importer-rdbms region and s3bucket with eu-central-1 and govstack-paymenthub-ee-sandbox that was previously created for bulk processor

 

Execution steps 2.0

  1. Install upgrade chart

    Clone repo: https://github.com/GovStackWorkingGroup/bb-payments/tree/38111a7179abb82897e1533c0d87b6856f23b31b/helm/govstack-chart or https://github.com/GovStackWorkingGroup/bb-payments/tree/main/helm/govstack-chart -> update dependency from 1.2.0 -> 1.3.0 (Like in previous link) helm dep up helm/govstack-chart helm package helm/govstack-chart helm repo index . helm install g2psandbox helm/govstack-chart --namespace paymenthub --create-namespace