From 0b6bf724caf6b49c111b2e72f40dcb68b0051cdb Mon Sep 17 00:00:00 2001 From: Miguel de Barros Date: Wed, 12 Oct 2022 13:57:15 +0200 Subject: [PATCH 1/4] adding test values config (TO BE REMOVED) --- values-1.24.yaml | 8861 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 8861 insertions(+) create mode 100644 values-1.24.yaml diff --git a/values-1.24.yaml b/values-1.24.yaml new file mode 100644 index 000000000..a9097314f --- /dev/null +++ b/values-1.24.yaml @@ -0,0 +1,8861 @@ +# Default values for central. +# This is a YAML-formatted file. +# Declare global configurations +global: {} + +# Declare variables to be passed into your templates. + +central: + enabled: true + + centralledger: + enabled: true + nameOverride: centralledger + # Default values for central-ledger. + # This is a YAML-formatted file. + # Declare variables to be passed into your templates. + centralledger-service: + # Default values for central-ledger. + # This is a YAML-formatted file. + + # Declare variables to be passed into your templates. + enabled: true + replicaCount: 1 + containers: + api: + image: + repository: mojaloop/central-ledger + tag: v15.1.2.1 + pullPolicy: IfNotPresent + command: '["node", "src/api/index.js"]' + service: + ports: + api: + name: http-api + externalPort: 80 + internalPort: 3001 + readinessProbe: + enabled: true + httpGet: + path: /health + initialDelaySeconds: 60 + periodSeconds: 15 + livenessProbe: + enabled: true + httpGet: + path: /health + initialDelaySeconds: 60 + periodSeconds: 15 + + ## Pod scheduling preferences. + ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity + affinity: {} + + ## Node labels for pod assignment + ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector + nodeSelector: {} + + ## Set toleration for scheduler + ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ + tolerations: [] + + sidecar: + enabled: false + image: + repository: mojaloop/event-sidecar + tag: v12.0.0 + pullPolicy: IfNotPresent + readinessProbe: + enabled: true + initialDelaySeconds: 120 + periodSeconds: 15 + livenessProbe: + enabled: true + initialDelaySeconds: 90 + periodSeconds: 15 + config: + log_level: info + + ## metric configuration for prometheus instrumentation + metrics: + ## flag to enable/disable the metrics end-points + enabled: true + + config: + ## Forensic Logging sidecar + # this is for Forensic Logging Sidecar + forensicloggingsidecar_disabled: true + forensicloggingsidecar_host: forensicloggingsidecar-ledger + forensicloggingsidecar_port: 5678 + + error_handling: + include_cause_extension: false + truncate_extensions: true + + ## DB Configuration + # db_type can either be 'postgres' or 'mysql'. Ensure the correct DB is enabled and configured below: postgresql.enabled or mysql.enabled + db_type: 'mysql' + # db_driver can either be 'pg' or 'mysql'. Ensure the correct corresponding db_type above has been set. + db_driver: 'mysql' + db_host: '$release_name-centralledger-mysql' + db_port: 3306 + db_user: central_ledger + db_password: oyMxgZChuu + db_database: central_ledger + db_connection_pool_min: 10 + db_connection_pool_max: 30 + db_acquire_timeout_millis: 30000 + db_create_timeout_millis: 30000 + db_destroy_timeout_millis: 5000 + db_idle_timeout_millis: 30000 + db_reap_interval_millis: 1000 + db_create_retry_interval_millis: 200 + db_debug: false + + ## Log Configuration + log_level: info + log_transport: file + + # A comma-separated list of events that should return immediately instead of waiting for the event promises to resolve + # Any combination of: `log,audit,trace` + event_async_override: 'log,trace' + + ## Kafka Configuration + # this can be set if the dependency chart for kafka is disabled. If 'kafka_host' is commented out, then the name of the dependency chart will be used. + kafka_host: '$release_name-kafka' + kafka_port: 9092 + + ## Cache configuration + cache_enabled: false + cache_max_byte_size: 10000000 + cache_expires_in_ms: 1000 + + init: + enabled: true + psql: + name: wait-for-postgres + repository: bowerswilkins/awaitpostgres + tag: latest + pullPolicy: IfNotPresent + mysql: + name: wait-for-mysql + repository: mysql + tag: 8.0.30 + pullPolicy: IfNotPresent + command: "until mysql -h $db_host -P $db_port -u $db_user --password=$db_password $db_database -e 'select version()' ; do echo waiting for MySQL; sleep 2; done;" + migration: + enabled: true + name: run-migration + command: npm run migrate + config: + run_data_migration: true + + service: + type: ClusterIP + + annotations: {} + + # This allows one to point the service to an external backend. + # This is useful for local development where one wishes to hijack + # the communication from the service to the node layer and point + # to a specific endpoint (IP, Port, etc). + external: + enabled: false + # 10.0.2.2 is the magic IP for the host on virtualbox's network + ip: 10.0.2.2 + ports: + api: + name: http-api + externalPort: 3001 + + ingress: + enabled: true + ## @param ingress.pathType Ingress path type + ## + pathType: ImplementationSpecific + ## @param ingress.apiVersion Force Ingress API version (automatically detected if not set) + ## + apiVersion: + ## @param ingress.hostname Default host for the ingress record + ## + hostname: central-ledger.local + ## @param servicePort : port for the service + ## + servicePort: 80 + ## @param ingress.path Default path for the ingress record + ## NOTE: You may need to set this to '/*' in order to use this with ALB ingress controllers + path: / + ## @param ingress.annotations Additional custom annotations for the ingress record + ## NOTE: If `ingress.certManager=true`, annotation `kubernetes.io/tls-acme: "true"` will automatically be added + ## + annotations: + ## @param ingress.tls Enable TLS configuration for the host defined at `ingress.hostname` parameter + ## TLS certificates will be retrieved from a TLS secret with name: `{{- printf "%s-tls" .Values.ingress.hostname }}` + ## You can: + ## - Use the `ingress.secrets` parameter to create this TLS secret + ## - Relay on cert-manager to create it by setting `ingress.certManager=true` + ## - Relay on Helm to create self-signed certificates by setting `ingress.selfSigned=true` + ## + tls: false + ## @param ingress.certManager Add the corresponding annotations for cert-manager integration + ## + certManager: false + ## @param ingress.selfSigned Create a TLS secret for this ingress record using self-signed certificates generated by Helm + ## + selfSigned: false + ## @param ingress.extraHosts An array with additional hostname(s) to be covered with the ingress record + ## e.g: + ## extraHosts: + ## - name: transfer-api-svc.local + ## path: / + ## + extraHosts: + extraPaths: + extraTls: + secrets: + className: "nginx" + ## + resources: {} + # We usually recommend not to specify default resources and to leave this as a conscious + # choice for the user. This also increases chances charts run on environments with little + # resources, such as Minikube. If you do want to specify resources, uncomment the following + # lines, adjust them as necessary, and remove the curly braces after 'resources:'. + # limits: + # cpu: 100m + # memory: 128Mi + # requests: + # cpu: 100m + # memory: 128Mi + + centralledger-handler-transfer-prepare: + # Default values for central-ledger. + # This is a YAML-formatted file. + + # Declare variables to be passed into your templates. + enabled: true + replicaCount: 1 + containers: + api: + image: + repository: mojaloop/central-ledger + tag: v15.1.2.1 + pullPolicy: IfNotPresent + command: '["node", "src/handlers/index.js", "handler", "--prepare"]' + service: + ports: + api: + name: http-api + externalPort: 80 + internalPort: 3001 + readinessProbe: + enabled: true + httpGet: + path: /health + initialDelaySeconds: 60 + periodSeconds: 15 + livenessProbe: + enabled: true + httpGet: + path: /health + initialDelaySeconds: 60 + periodSeconds: 15 + + ## Pod scheduling preferences. + ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity + affinity: {} + + ## Node labels for pod assignment + ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector + nodeSelector: {} + + ## Set toleration for scheduler + ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ + tolerations: [] + + sidecar: + enabled: true + image: + repository: mojaloop/event-sidecar + tag: v12.0.0 + pullPolicy: IfNotPresent + readinessProbe: + enabled: true + initialDelaySeconds: 120 + periodSeconds: 15 + livenessProbe: + enabled: true + initialDelaySeconds: 90 + periodSeconds: 15 + config: + log_level: info + + ## metric configuration for prometheus instrumentation + metrics: + ## flag to enable/disable the metrics end-points + enabled: true + + config: + ## Forensic Logging sidecar + # this is for Forensic Logging Sidecar + forensicloggingsidecar_disabled: true + forensicloggingsidecar_host: forensicloggingsidecar-ledger + forensicloggingsidecar_port: 5678 + + error_handling: + include_cause_extension: false + truncate_extensions: true + + ## DB Configuration + # db_type can either be 'postgres' or 'mysql'. Ensure the correct DB is enabled and configured below: postgresql.enabled or mysql.enabled + db_type: 'mysql' + # db_driver can either be 'pg' or 'mysql'. Ensure the correct corresponding db_type above has been set. + db_driver: 'mysql' + db_host: '$release_name-centralledger-mysql' + db_port: 3306 + db_user: central_ledger + db_password: oyMxgZChuu + db_database: central_ledger + db_connection_pool_min: 10 + db_connection_pool_max: 30 + db_acquire_timeout_millis: 30000 + db_create_timeout_millis: 30000 + db_destroy_timeout_millis: 5000 + db_idle_timeout_millis: 30000 + db_reap_interval_millis: 1000 + db_create_retry_interval_millis: 200 + db_debug: false + + ## Log Configuration + log_level: info + log_transport: file + + # A comma-separated list of events that should return immediately instead of waiting for the event promises to resolve + # Any combination of: `log,audit,trace` + event_async_override: 'log,trace' + + ## Kafka Configuration + # this can be set if the dependency chart for kafka is disabled. If 'kafka_host' is commented out, then the name of the dependency chart will be used. + kafka_host: '$release_name-kafka' + kafka_port: 9092 + + ## Cache configuration + cache_enabled: false + cache_max_byte_size: 10000000 + cache_expires_in_ms: 1000 + + ## Enable On-Us transfers + enable_on_us_transfers: false + + init: + enabled: true + kafka: + name: wait-for-kafka + repository: solsson/kafka + tag: 2.8.1 + pullPolicy: IfNotPresent + command: "until ./bin/kafka-broker-api-versions.sh --bootstrap-server $kafka_host:$kafka_port; do echo waiting for Kafka; sleep 2; done;" + env: {} + ## Env example + # env: + # envItem1: + # name: hello + # value: world + # + psql: + name: wait-for-postgres + repository: bowerswilkins/awaitpostgres + tag: latest + pullPolicy: IfNotPresent + mysql: + name: wait-for-mysql + repository: mysql + tag: 8.0.30 + pullPolicy: IfNotPresent + command: "until result=$(mysql -h $db_host -P $db_port -u $db_user --password=$db_password $db_database -ss -N -e 'select is_locked from migration_lock;') && eval 'echo is_locked=$result' && if [ -z $result ]; then false; fi && if [ $result -ne 0 ]; then false; fi; do echo waiting for MySQL; sleep 2; done;" + + service: + type: ClusterIP + + annotations: {} + + # This allows one to point the service to an external backend. + # This is useful for local development where one wishes to hijack + # the communication from the service to the node layer and point + # to a specific endpoint (IP, Port, etc). + external: + enabled: false + # 10.0.2.2 is the magic IP for the host on virtualbox's network + ip: 10.0.2.2 + ports: + api: + name: http-api + externalPort: 3001 + + ingress: + enabled: true + ## @param ingress.pathType Ingress path type + ## + pathType: ImplementationSpecific + ## @param ingress.apiVersion Force Ingress API version (automatically detected if not set) + ## + apiVersion: + ## @param ingress.hostname Default host for the ingress record + ## + hostname: central-ledger-transfer-prepare.local + ## @param servicePort : port for the service + ## + servicePort: 80 + ## @param ingress.path Default path for the ingress record + ## NOTE: You may need to set this to '/*' in order to use this with ALB ingress controllers + path: / + ## @param ingress.annotations Additional custom annotations for the ingress record + ## NOTE: If `ingress.certManager=true`, annotation `kubernetes.io/tls-acme: "true"` will automatically be added + ## + annotations: + ## @param ingress.tls Enable TLS configuration for the host defined at `ingress.hostname` parameter + ## TLS certificates will be retrieved from a TLS secret with name: `{{- printf "%s-tls" .Values.ingress.hostname }}` + ## You can: + ## - Use the `ingress.secrets` parameter to create this TLS secret + ## - Relay on cert-manager to create it by setting `ingress.certManager=true` + ## - Relay on Helm to create self-signed certificates by setting `ingress.selfSigned=true` + ## + tls: false + ## @param ingress.certManager Add the corresponding annotations for cert-manager integration + ## + certManager: false + ## @param ingress.selfSigned Create a TLS secret for this ingress record using self-signed certificates generated by Helm + ## + selfSigned: false + ## @param ingress.extraHosts An array with additional hostname(s) to be covered with the ingress record + ## e.g: + ## extraHosts: + ## - name: transfer-api-svc.local + ## path: / + ## + extraHosts: + extraPaths: + extraTls: + secrets: + className: "nginx" + ## + resources: {} + # We usually recommend not to specify default resources and to leave this as a conscious + # choice for the user. This also increases chances charts run on environments with little + # resources, such as Minikube. If you do want to specify resources, uncomment the following + # lines, adjust them as necessary, and remove the curly braces after 'resources:'. + # limits: + # cpu: 100m + # memory: 128Mi + # requests: + # cpu: 100m + # memory: 128Mi + + centralledger-handler-admin-transfer: + # Default values for central-ledger. + # This is a YAML-formatted file. + + # Declare variables to be passed into your templates. + enabled: true + replicaCount: 1 + containers: + api: + image: + repository: mojaloop/central-ledger + tag: v15.1.2.1 + pullPolicy: IfNotPresent + command: '["node", "src/handlers/index.js", "handler", "--admin"]' + service: + ports: + api: + name: http-api + externalPort: 80 + internalPort: 3001 + readinessProbe: + enabled: true + httpGet: + path: /health + initialDelaySeconds: 60 + periodSeconds: 15 + livenessProbe: + enabled: true + httpGet: + path: /health + initialDelaySeconds: 60 + periodSeconds: 15 + + ## Pod scheduling preferences. + ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity + affinity: {} + + ## Node labels for pod assignment + ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector + nodeSelector: {} + + ## Set toleration for scheduler + ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ + tolerations: [] + + sidecar: + enabled: false + image: + repository: mojaloop/event-sidecar + tag: v12.0.0 + pullPolicy: IfNotPresent + readinessProbe: + enabled: true + initialDelaySeconds: 120 + periodSeconds: 15 + livenessProbe: + enabled: true + initialDelaySeconds: 90 + periodSeconds: 15 + config: + log_level: info + + ## metric configuration for prometheus instrumentation + metrics: + ## flag to enable/disable the metrics end-points + enabled: false + + config: + ## Forensic Logging sidecar + # this is for Forensic Logging Sidecar + forensicloggingsidecar_disabled: true + forensicloggingsidecar_host: forensicloggingsidecar-ledger + forensicloggingsidecar_port: 5678 + + error_handling: + include_cause_extension: false + truncate_extensions: true + + ## DB Configuration + # db_type can either be 'postgres' or 'mysql'. Ensure the correct DB is enabled and configured below: postgresql.enabled or mysql.enabled + db_type: 'mysql' + # db_driver can either be 'pg' or 'mysql'. Ensure the correct corresponding db_type above has been set. + db_driver: 'mysql' + db_host: '$release_name-centralledger-mysql' + db_port: 3306 + db_user: central_ledger + db_password: oyMxgZChuu + db_database: central_ledger + db_connection_pool_min: 10 + db_connection_pool_max: 30 + db_acquire_timeout_millis: 30000 + db_create_timeout_millis: 30000 + db_destroy_timeout_millis: 5000 + db_idle_timeout_millis: 30000 + db_reap_interval_millis: 1000 + db_create_retry_interval_millis: 200 + db_debug: false + + ## Log Configuration + log_level: info + log_transport: file + + # A comma-separated list of events that should return immediately instead of waiting for the event promises to resolve + # Any combination of: `log,audit,trace` + event_async_override: 'log,trace' + + ## Kafka Configuration + # this can be set if the dependency chart for kafka is disabled. If 'kafka_host' is commented out, then the name of the dependency chart will be used. + kafka_host: '$release_name-kafka' + kafka_port: 9092 + + ## Cache configuration + cache_enabled: false + cache_max_byte_size: 10000000 + cache_expires_in_ms: 1000 + + init: + enabled: true + kafka: + name: wait-for-kafka + repository: solsson/kafka + tag: 2.8.1 + pullPolicy: IfNotPresent + command: "until ./bin/kafka-broker-api-versions.sh --bootstrap-server $kafka_host:$kafka_port; do echo waiting for Kafka; sleep 2; done;" + env: {} + ## Env example + # env: + # envItem1: + # name: hello + # value: world + # + psql: + name: wait-for-postgres + repository: bowerswilkins/awaitpostgres + tag: latest + pullPolicy: IfNotPresent + mysql: + name: wait-for-mysql + repository: mysql + tag: 8.0.30 + pullPolicy: IfNotPresent + command: "until result=$(mysql -h $db_host -P $db_port -u $db_user --password=$db_password $db_database -ss -N -e 'select is_locked from migration_lock;') && eval 'echo is_locked=$result' && if [ -z $result ]; then false; fi && if [ $result -ne 0 ]; then false; fi; do echo waiting for MySQL; sleep 2; done;" + + service: + type: ClusterIP + + annotations: {} + + # This allows one to point the service to an external backend. + # This is useful for local development where one wishes to hijack + # the communication from the service to the node layer and point + # to a specific endpoint (IP, Port, etc). + external: + enabled: false + # 10.0.2.2 is the magic IP for the host on virtualbox's network + ip: 10.0.2.2 + ports: + api: + name: http-api + externalPort: 3001 + + ingress: + enabled: true + ## @param ingress.pathType Ingress path type + ## + pathType: ImplementationSpecific + ## @param ingress.apiVersion Force Ingress API version (automatically detected if not set) + ## + apiVersion: + ## @param ingress.hostname Default host for the ingress record + ## + hostname: central-ledger-admin-transfer.local + ## @param servicePort : port for the service + ## + servicePort: 80 + ## @param ingress.path Default path for the ingress record + ## NOTE: You may need to set this to '/*' in order to use this with ALB ingress controllers + path: / + ## @param ingress.annotations Additional custom annotations for the ingress record + ## NOTE: If `ingress.certManager=true`, annotation `kubernetes.io/tls-acme: "true"` will automatically be added + ## + annotations: + ## @param ingress.tls Enable TLS configuration for the host defined at `ingress.hostname` parameter + ## TLS certificates will be retrieved from a TLS secret with name: `{{- printf "%s-tls" .Values.ingress.hostname }}` + ## You can: + ## - Use the `ingress.secrets` parameter to create this TLS secret + ## - Relay on cert-manager to create it by setting `ingress.certManager=true` + ## - Relay on Helm to create self-signed certificates by setting `ingress.selfSigned=true` + ## + tls: false + ## @param ingress.certManager Add the corresponding annotations for cert-manager integration + ## + certManager: false + ## @param ingress.selfSigned Create a TLS secret for this ingress record using self-signed certificates generated by Helm + ## + selfSigned: false + ## @param ingress.extraHosts An array with additional hostname(s) to be covered with the ingress record + ## e.g: + ## extraHosts: + ## - name: transfer-api-svc.local + ## path: / + ## + extraHosts: + extraPaths: + extraTls: + secrets: + className: "nginx" + ## + resources: {} + # We usually recommend not to specify default resources and to leave this as a conscious + # choice for the user. This also increases chances charts run on environments with little + # resources, such as Minikube. If you do want to specify resources, uncomment the following + # lines, adjust them as necessary, and remove the curly braces after 'resources:'. + # limits: + # cpu: 100m + # memory: 128Mi + # requests: + # cpu: 100m + # memory: 128Mi + + centralledger-handler-transfer-position: + # Default values for central-ledger. + # This is a YAML-formatted file. + + # Declare variables to be passed into your templates. + enabled: true + replicaCount: 1 + containers: + api: + image: + repository: mojaloop/central-ledger + tag: v15.1.2.1 + pullPolicy: IfNotPresent + command: '["node", "src/handlers/index.js", "handler", "--position"]' + service: + ports: + api: + name: http-api + externalPort: 80 + internalPort: 3001 + readinessProbe: + enabled: true + httpGet: + path: /health + initialDelaySeconds: 60 + periodSeconds: 15 + livenessProbe: + enabled: true + httpGet: + path: /health + initialDelaySeconds: 60 + periodSeconds: 15 + + ## Pod scheduling preferences. + ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity + affinity: {} + + ## Node labels for pod assignment + ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector + nodeSelector: {} + + ## Set toleration for scheduler + ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ + tolerations: [] + + sidecar: + enabled: true + image: + repository: mojaloop/event-sidecar + tag: v12.0.0 + pullPolicy: IfNotPresent + readinessProbe: + enabled: true + initialDelaySeconds: 120 + periodSeconds: 15 + livenessProbe: + enabled: true + initialDelaySeconds: 90 + periodSeconds: 15 + config: + log_level: info + + ## metric configuration for prometheus instrumentation + metrics: + ## flag to enable/disable the metrics end-points + enabled: true + + config: + ## Forensic Logging sidecar + # this is for Forensic Logging Sidecar + forensicloggingsidecar_disabled: true + forensicloggingsidecar_host: forensicloggingsidecar-ledger + forensicloggingsidecar_port: 5678 + + error_handling: + include_cause_extension: false + truncate_extensions: true + + ## DB Configuration + # db_type can either be 'postgres' or 'mysql'. Ensure the correct DB is enabled and configured below: postgresql.enabled or mysql.enabled + db_type: 'mysql' + # db_driver can either be 'pg' or 'mysql'. Ensure the correct corresponding db_type above has been set. + db_driver: 'mysql' + db_host: '$release_name-centralledger-mysql' + db_port: 3306 + db_user: central_ledger + db_password: oyMxgZChuu + db_database: central_ledger + db_connection_pool_min: 10 + db_connection_pool_max: 30 + db_acquire_timeout_millis: 30000 + db_create_timeout_millis: 30000 + db_destroy_timeout_millis: 5000 + db_idle_timeout_millis: 30000 + db_reap_interval_millis: 1000 + db_create_retry_interval_millis: 200 + db_debug: false + + ## Log Configuration + log_level: info + log_transport: file + + # A comma-separated list of events that should return immediately instead of waiting for the event promises to resolve + # Any combination of: `log,audit,trace` + event_async_override: 'log,trace' + + ## Kafka Configuration + # this can be set if the dependency chart for kafka is disabled. If 'kafka_host' is commented out, then the name of the dependency chart will be used. + kafka_host: '$release_name-kafka' + kafka_port: 9092 + + ## Cache configuration + cache_enabled: false + cache_max_byte_size: 10000000 + cache_expires_in_ms: 1000 + + init: + enabled: true + kafka: + name: wait-for-kafka + repository: solsson/kafka + tag: 2.8.1 + pullPolicy: IfNotPresent + command: "until ./bin/kafka-broker-api-versions.sh --bootstrap-server $kafka_host:$kafka_port; do echo waiting for Kafka; sleep 2; done;" + env: {} + ## Env example + # env: + # envItem1: + # name: hello + # value: world + # + psql: + name: wait-for-postgres + repository: bowerswilkins/awaitpostgres + tag: latest + pullPolicy: IfNotPresent + mysql: + name: wait-for-mysql + repository: mysql + tag: 8.0.30 + pullPolicy: IfNotPresent + command: "until result=$(mysql -h $db_host -P $db_port -u $db_user --password=$db_password $db_database -ss -N -e 'select is_locked from migration_lock;') && eval 'echo is_locked=$result' && if [ -z $result ]; then false; fi && if [ $result -ne 0 ]; then false; fi; do echo waiting for MySQL; sleep 2; done;" + + service: + type: ClusterIP + + annotations: {} + + # This allows one to point the service to an external backend. + # This is useful for local development where one wishes to hijack + # the communication from the service to the node layer and point + # to a specific endpoint (IP, Port, etc). + external: + enabled: false + # 10.0.2.2 is the magic IP for the host on virtualbox's network + ip: 10.0.2.2 + ports: + api: + name: http-api + externalPort: 3001 + + ingress: + enabled: true + ## @param ingress.pathType Ingress path type + ## + pathType: ImplementationSpecific + ## @param ingress.apiVersion Force Ingress API version (automatically detected if not set) + ## + apiVersion: + ## @param ingress.hostname Default host for the ingress record + ## + hostname: central-ledger-transfer-position.local + ## @param servicePort : port for the service + ## + servicePort: 80 + ## @param ingress.path Default path for the ingress record + ## NOTE: You may need to set this to '/*' in order to use this with ALB ingress controllers + path: / + ## @param ingress.annotations Additional custom annotations for the ingress record + ## NOTE: If `ingress.certManager=true`, annotation `kubernetes.io/tls-acme: "true"` will automatically be added + ## + annotations: + ## @param ingress.tls Enable TLS configuration for the host defined at `ingress.hostname` parameter + ## TLS certificates will be retrieved from a TLS secret with name: `{{- printf "%s-tls" .Values.ingress.hostname }}` + ## You can: + ## - Use the `ingress.secrets` parameter to create this TLS secret + ## - Relay on cert-manager to create it by setting `ingress.certManager=true` + ## - Relay on Helm to create self-signed certificates by setting `ingress.selfSigned=true` + ## + tls: false + ## @param ingress.certManager Add the corresponding annotations for cert-manager integration + ## + certManager: false + ## @param ingress.selfSigned Create a TLS secret for this ingress record using self-signed certificates generated by Helm + ## + selfSigned: false + ## @param ingress.extraHosts An array with additional hostname(s) to be covered with the ingress record + ## e.g: + ## extraHosts: + ## - name: transfer-api-svc.local + ## path: / + ## + extraHosts: + extraPaths: + extraTls: + secrets: + className: "nginx" + ## + resources: {} + # We usually recommend not to specify default resources and to leave this as a conscious + # choice for the user. This also increases chances charts run on environments with little + # resources, such as Minikube. If you do want to specify resources, uncomment the following + # lines, adjust them as necessary, and remove the curly braces after 'resources:'. + # limits: + # cpu: 100m + # memory: 128Mi + # requests: + # cpu: 100m + # memory: 128Mi + + centralledger-handler-transfer-get: + # Default values for central-ledger. + # This is a YAML-formatted file. + + # Declare variables to be passed into your templates. + enabled: true + replicaCount: 1 + containers: + api: + image: + repository: mojaloop/central-ledger + tag: v15.1.2.1 + pullPolicy: IfNotPresent + command: '["node", "src/handlers/index.js", "handler", "--get"]' + service: + ports: + api: + name: http-api + externalPort: 80 + internalPort: 3001 + readinessProbe: + enabled: true + httpGet: + path: /health + initialDelaySeconds: 60 + periodSeconds: 15 + livenessProbe: + enabled: true + httpGet: + path: /health + initialDelaySeconds: 60 + periodSeconds: 15 + + ## Pod scheduling preferences. + ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity + affinity: {} + + ## Node labels for pod assignment + ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector + nodeSelector: {} + + ## Set toleration for scheduler + ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ + tolerations: [] + + sidecar: + enabled: false + image: + repository: mojaloop/event-sidecar + tag: v12.0.0 + pullPolicy: IfNotPresent + readinessProbe: + enabled: true + initialDelaySeconds: 120 + periodSeconds: 15 + livenessProbe: + enabled: true + initialDelaySeconds: 90 + periodSeconds: 15 + config: + log_level: info + + ## metric configuration for prometheus instrumentation + metrics: + ## flag to enable/disable the metrics end-points + enabled: false + + config: + ## Forensic Logging sidecar + # this is for Forensic Logging Sidecar + forensicloggingsidecar_disabled: true + forensicloggingsidecar_host: forensicloggingsidecar-ledger + forensicloggingsidecar_port: 5678 + + error_handling: + include_cause_extension: false + truncate_extensions: true + + ## DB Configuration + # db_type can either be 'postgres' or 'mysql'. Ensure the correct DB is enabled and configured below: postgresql.enabled or mysql.enabled + db_type: 'mysql' + # db_driver can either be 'pg' or 'mysql'. Ensure the correct corresponding db_type above has been set. + db_driver: 'mysql' + db_host: '$release_name-centralledger-mysql' + db_port: 3306 + db_user: central_ledger + db_password: oyMxgZChuu + db_database: central_ledger + db_connection_pool_min: 10 + db_connection_pool_max: 30 + db_acquire_timeout_millis: 30000 + db_create_timeout_millis: 30000 + db_destroy_timeout_millis: 5000 + db_idle_timeout_millis: 30000 + db_reap_interval_millis: 1000 + db_create_retry_interval_millis: 200 + db_debug: false + + ## Log Configuration + log_level: info + log_transport: file + + # A comma-separated list of events that should return immediately instead of waiting for the event promises to resolve + # Any combination of: `log,audit,trace` + event_async_override: 'log,trace' + + ## Kafka Configuration + # this can be set if the dependency chart for kafka is disabled. If 'kafka_host' is commented out, then the name of the dependency chart will be used. + kafka_host: '$release_name-kafka' + kafka_port: 9092 + + ## Cache configuration + cache_enabled: false + cache_max_byte_size: 10000000 + cache_expires_in_ms: 1000 + + init: + enabled: true + kafka: + name: wait-for-kafka + repository: solsson/kafka + tag: 2.8.1 + pullPolicy: IfNotPresent + command: "until ./bin/kafka-broker-api-versions.sh --bootstrap-server $kafka_host:$kafka_port; do echo waiting for Kafka; sleep 2; done;" + env: {} + ## Env example + # env: + # envItem1: + # name: hello + # value: world + # + psql: + name: wait-for-postgres + repository: bowerswilkins/awaitpostgres + tag: latest + pullPolicy: IfNotPresent + mysql: + name: wait-for-mysql + repository: mysql + tag: 8.0.30 + pullPolicy: IfNotPresent + command: "until result=$(mysql -h $db_host -P $db_port -u $db_user --password=$db_password $db_database -ss -N -e 'select is_locked from migration_lock;') && eval 'echo is_locked=$result' && if [ -z $result ]; then false; fi && if [ $result -ne 0 ]; then false; fi; do echo waiting for MySQL; sleep 2; done;" + + service: + type: ClusterIP + + annotations: {} + + # This allows one to point the service to an external backend. + # This is useful for local development where one wishes to hijack + # the communication from the service to the node layer and point + # to a specific endpoint (IP, Port, etc). + external: + enabled: false + # 10.0.2.2 is the magic IP for the host on virtualbox's network + ip: 10.0.2.2 + ports: + api: + name: http-api + externalPort: 3001 + + ingress: + enabled: true + ## @param ingress.pathType Ingress path type + ## + pathType: ImplementationSpecific + ## @param ingress.apiVersion Force Ingress API version (automatically detected if not set) + ## + apiVersion: + ## @param ingress.hostname Default host for the ingress record + ## + hostname: central-ledger-transfer-get.local + ## @param servicePort : port for the service + ## + servicePort: 80 + ## @param ingress.path Default path for the ingress record + ## NOTE: You may need to set this to '/*' in order to use this with ALB ingress controllers + path: / + ## @param ingress.annotations Additional custom annotations for the ingress record + ## NOTE: If `ingress.certManager=true`, annotation `kubernetes.io/tls-acme: "true"` will automatically be added + ## + annotations: + ## @param ingress.tls Enable TLS configuration for the host defined at `ingress.hostname` parameter + ## TLS certificates will be retrieved from a TLS secret with name: `{{- printf "%s-tls" .Values.ingress.hostname }}` + ## You can: + ## - Use the `ingress.secrets` parameter to create this TLS secret + ## - Relay on cert-manager to create it by setting `ingress.certManager=true` + ## - Relay on Helm to create self-signed certificates by setting `ingress.selfSigned=true` + ## + tls: false + ## @param ingress.certManager Add the corresponding annotations for cert-manager integration + ## + certManager: false + ## @param ingress.selfSigned Create a TLS secret for this ingress record using self-signed certificates generated by Helm + ## + selfSigned: false + ## @param ingress.extraHosts An array with additional hostname(s) to be covered with the ingress record + ## e.g: + ## extraHosts: + ## - name: transfer-api-svc.local + ## path: / + ## + extraHosts: + extraPaths: + extraTls: + secrets: + className: "nginx" + ## + resources: {} + # We usually recommend not to specify default resources and to leave this as a conscious + # choice for the user. This also increases chances charts run on environments with little + # resources, such as Minikube. If you do want to specify resources, uncomment the following + # lines, adjust them as necessary, and remove the curly braces after 'resources:'. + # limits: + # cpu: 100m + # memory: 128Mi + # requests: + # cpu: 100m + # memory: 128Mi + + centralledger-handler-transfer-fulfil: + # Default values for central-ledger. + # This is a YAML-formatted file. + + # Declare variables to be passed into your templates. + enabled: true + replicaCount: 1 + containers: + api: + image: + repository: mojaloop/central-ledger + tag: v15.1.2.1 + pullPolicy: IfNotPresent + command: '["node", "src/handlers/index.js", "handler", "--fulfil"]' + service: + ports: + api: + name: http-api + externalPort: 80 + internalPort: 3001 + readinessProbe: + enabled: true + httpGet: + path: /health + initialDelaySeconds: 60 + periodSeconds: 15 + livenessProbe: + enabled: true + httpGet: + path: /health + initialDelaySeconds: 60 + periodSeconds: 15 + + ## Pod scheduling preferences. + ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity + affinity: {} + + ## Node labels for pod assignment + ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector + nodeSelector: {} + + ## Set toleration for scheduler + ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ + tolerations: [] + + sidecar: + enabled: true + image: + repository: mojaloop/event-sidecar + tag: v12.0.0 + pullPolicy: IfNotPresent + readinessProbe: + enabled: true + initialDelaySeconds: 120 + periodSeconds: 15 + livenessProbe: + enabled: true + initialDelaySeconds: 90 + periodSeconds: 15 + config: + log_level: info + + ## metric configuration for prometheus instrumentation + metrics: + ## flag to enable/disable the metrics end-points + enabled: true + + config: + ## Forensic Logging sidecar + # this is for Forensic Logging Sidecar + forensicloggingsidecar_disabled: true + forensicloggingsidecar_host: forensicloggingsidecar-ledger + forensicloggingsidecar_port: 5678 + + error_handling: + include_cause_extension: false + truncate_extensions: true + + ## DB Configuration + # db_type can either be 'postgres' or 'mysql'. Ensure the correct DB is enabled and configured below: postgresql.enabled or mysql.enabled + db_type: 'mysql' + # db_driver can either be 'pg' or 'mysql'. Ensure the correct corresponding db_type above has been set. + db_driver: 'mysql' + db_host: '$release_name-centralledger-mysql' + db_port: 3306 + db_user: central_ledger + db_password: oyMxgZChuu + db_database: central_ledger + db_connection_pool_min: 10 + db_connection_pool_max: 30 + db_acquire_timeout_millis: 30000 + db_create_timeout_millis: 30000 + db_destroy_timeout_millis: 5000 + db_idle_timeout_millis: 30000 + db_reap_interval_millis: 1000 + db_create_retry_interval_millis: 200 + db_debug: false + + ## Log Configuration + log_level: info + log_transport: file + + # A comma-separated list of events that should return immediately instead of waiting for the event promises to resolve + # Any combination of: `log,audit,trace` + event_async_override: 'log,trace' + + ## Kafka Configuration + # this can be set if the dependency chart for kafka is disabled. If 'kafka_host' is commented out, then the name of the dependency chart will be used. + kafka_host: '$release_name-kafka' + kafka_port: 9092 + + ## Cache configuration + cache_enabled: false + cache_max_byte_size: 10000000 + cache_expires_in_ms: 1000 + + init: + enabled: true + kafka: + name: wait-for-kafka + repository: solsson/kafka + tag: 2.8.1 + pullPolicy: IfNotPresent + command: "until ./bin/kafka-broker-api-versions.sh --bootstrap-server $kafka_host:$kafka_port; do echo waiting for Kafka; sleep 2; done;" + env: {} + ## Env example + # env: + # envItem1: + # name: hello + # value: world + # + psql: + name: wait-for-postgres + repository: bowerswilkins/awaitpostgres + tag: latest + pullPolicy: IfNotPresent + mysql: + name: wait-for-mysql + repository: mysql + tag: 8.0.30 + pullPolicy: IfNotPresent + command: "until result=$(mysql -h $db_host -P $db_port -u $db_user --password=$db_password $db_database -ss -N -e 'select is_locked from migration_lock;') && eval 'echo is_locked=$result' && if [ -z $result ]; then false; fi && if [ $result -ne 0 ]; then false; fi; do echo waiting for MySQL; sleep 2; done;" + + service: + type: ClusterIP + + annotations: {} + + # This allows one to point the service to an external backend. + # This is useful for local development where one wishes to hijack + # the communication from the service to the node layer and point + # to a specific endpoint (IP, Port, etc). + external: + enabled: false + # 10.0.2.2 is the magic IP for the host on virtualbox's network + ip: 10.0.2.2 + ports: + api: + name: http-api + externalPort: 3001 + + ingress: + enabled: true + ## @param ingress.pathType Ingress path type + ## + pathType: ImplementationSpecific + ## @param ingress.apiVersion Force Ingress API version (automatically detected if not set) + ## + apiVersion: + ## @param ingress.hostname Default host for the ingress record + ## + hostname: central-ledger-transfer-fulfil.local + ## @param servicePort : port for the service + ## + servicePort: 80 + ## @param ingress.path Default path for the ingress record + ## NOTE: You may need to set this to '/*' in order to use this with ALB ingress controllers + path: / + ## @param ingress.annotations Additional custom annotations for the ingress record + ## NOTE: If `ingress.certManager=true`, annotation `kubernetes.io/tls-acme: "true"` will automatically be added + ## + annotations: + ## @param ingress.tls Enable TLS configuration for the host defined at `ingress.hostname` parameter + ## TLS certificates will be retrieved from a TLS secret with name: `{{- printf "%s-tls" .Values.ingress.hostname }}` + ## You can: + ## - Use the `ingress.secrets` parameter to create this TLS secret + ## - Relay on cert-manager to create it by setting `ingress.certManager=true` + ## - Relay on Helm to create self-signed certificates by setting `ingress.selfSigned=true` + ## + tls: false + ## @param ingress.certManager Add the corresponding annotations for cert-manager integration + ## + certManager: false + ## @param ingress.selfSigned Create a TLS secret for this ingress record using self-signed certificates generated by Helm + ## + selfSigned: false + ## @param ingress.extraHosts An array with additional hostname(s) to be covered with the ingress record + ## e.g: + ## extraHosts: + ## - name: transfer-api-svc.local + ## path: / + ## + extraHosts: + extraPaths: + extraTls: + secrets: + className: "nginx" + ## + resources: {} + # We usually recommend not to specify default resources and to leave this as a conscious + # choice for the user. This also increases chances charts run on environments with little + # resources, such as Minikube. If you do want to specify resources, uncomment the following + # lines, adjust them as necessary, and remove the curly braces after 'resources:'. + # limits: + # cpu: 100m + # memory: 128Mi + # requests: + # cpu: 100m + # memory: 128Mi + + centralledger-handler-timeout: + # Default values for central-ledger. + # This is a YAML-formatted file. + + # Declare variables to be passed into your templates. + enabled: true + replicaCount: 1 + containers: + api: + image: + repository: mojaloop/central-ledger + tag: v15.1.2.1 + pullPolicy: IfNotPresent + command: '["node", "src/handlers/index.js", "handler", "--timeout"]' + service: + ports: + api: + name: http-api + externalPort: 80 + internalPort: 3001 + readinessProbe: + enabled: true + httpGet: + path: /health + initialDelaySeconds: 60 + periodSeconds: 15 + livenessProbe: + enabled: true + httpGet: + path: /health + initialDelaySeconds: 60 + periodSeconds: 15 + + ## Pod scheduling preferences. + ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity + affinity: {} + + ## Node labels for pod assignment + ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector + nodeSelector: {} + + ## Set toleration for scheduler + ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ + tolerations: [] + + sidecar: + enabled: true + image: + repository: mojaloop/event-sidecar + tag: v12.0.0 + pullPolicy: IfNotPresent + readinessProbe: + enabled: true + initialDelaySeconds: 120 + periodSeconds: 15 + livenessProbe: + enabled: true + initialDelaySeconds: 90 + periodSeconds: 15 + config: + log_level: info + + ## metric configuration for prometheus instrumentation + metrics: + ## flag to enable/disable the metrics end-points + enabled: false + + config: + ## Forensic Logging sidecar + # this is for Forensic Logging Sidecar + forensicloggingsidecar_disabled: true + forensicloggingsidecar_host: forensicloggingsidecar-ledger + forensicloggingsidecar_port: 5678 + + error_handling: + include_cause_extension: false + truncate_extensions: true + + ## DB Configuration + # db_type can either be 'postgres' or 'mysql'. Ensure the correct DB is enabled and configured below: postgresql.enabled or mysql.enabled + db_type: 'mysql' + # db_driver can either be 'pg' or 'mysql'. Ensure the correct corresponding db_type above has been set. + db_driver: 'mysql' + db_host: '$release_name-centralledger-mysql' + db_port: 3306 + db_user: central_ledger + db_password: oyMxgZChuu + db_database: central_ledger + db_connection_pool_min: 10 + db_connection_pool_max: 30 + db_acquire_timeout_millis: 30000 + db_create_timeout_millis: 30000 + db_destroy_timeout_millis: 5000 + db_idle_timeout_millis: 30000 + db_reap_interval_millis: 1000 + db_create_retry_interval_millis: 200 + db_debug: false + + ## Timeout Configuration + timeout: + expiration: '*/15 * * * * *' + timezone: UTC + + ## Log Configuration + log_level: info + log_transport: file + + # A comma-separated list of events that should return immediately instead of waiting for the event promises to resolve + # Any combination of: `log,audit,trace` + event_async_override: 'log,trace' + + ## Kafka Configuration + # this can be set if the dependency chart for kafka is disabled. If 'kafka_host' is commented out, then the name of the dependency chart will be used. + kafka_host: '$release_name-kafka' + kafka_port: 9092 + + ## Cache configuration + cache_enabled: false + cache_max_byte_size: 10000000 + cache_expires_in_ms: 1000 + + init: + enabled: true + kafka: + name: wait-for-kafka + repository: solsson/kafka + tag: 2.8.1 + pullPolicy: IfNotPresent + command: "until ./bin/kafka-broker-api-versions.sh --bootstrap-server $kafka_host:$kafka_port; do echo waiting for Kafka; sleep 2; done;" + env: {} + ## Env example + # env: + # envItem1: + # name: hello + # value: world + # + psql: + name: wait-for-postgres + repository: bowerswilkins/awaitpostgres + tag: latest + pullPolicy: IfNotPresent + mysql: + name: wait-for-mysql + repository: mysql + tag: 8.0.30 + pullPolicy: IfNotPresent + command: "until result=$(mysql -h $db_host -P $db_port -u $db_user --password=$db_password $db_database -ss -N -e 'select is_locked from migration_lock;') && eval 'echo is_locked=$result' && if [ -z $result ]; then false; fi && if [ $result -ne 0 ]; then false; fi; do echo waiting for MySQL; sleep 2; done;" + + service: + type: ClusterIP + + annotations: {} + + # This allows one to point the service to an external backend. + # This is useful for local development where one wishes to hijack + # the communication from the service to the node layer and point + # to a specific endpoint (IP, Port, etc). + external: + enabled: false + # 10.0.2.2 is the magic IP for the host on virtualbox's network + ip: 10.0.2.2 + ports: + api: + name: http-api + externalPort: 3001 + + ingress: + enabled: true + ## @param ingress.pathType Ingress path type + ## + pathType: ImplementationSpecific + ## @param ingress.apiVersion Force Ingress API version (automatically detected if not set) + ## + apiVersion: + ## @param ingress.hostname Default host for the ingress record + ## + hostname: central-ledger-timeout.local + ## @param servicePort : port for the service + ## + servicePort: 80 + ## @param ingress.path Default path for the ingress record + ## NOTE: You may need to set this to '/*' in order to use this with ALB ingress controllers + path: / + ## @param ingress.annotations Additional custom annotations for the ingress record + ## NOTE: If `ingress.certManager=true`, annotation `kubernetes.io/tls-acme: "true"` will automatically be added + ## + annotations: + ## @param ingress.tls Enable TLS configuration for the host defined at `ingress.hostname` parameter + ## TLS certificates will be retrieved from a TLS secret with name: `{{- printf "%s-tls" .Values.ingress.hostname }}` + ## You can: + ## - Use the `ingress.secrets` parameter to create this TLS secret + ## - Relay on cert-manager to create it by setting `ingress.certManager=true` + ## - Relay on Helm to create self-signed certificates by setting `ingress.selfSigned=true` + ## + tls: false + ## @param ingress.certManager Add the corresponding annotations for cert-manager integration + ## + certManager: false + ## @param ingress.selfSigned Create a TLS secret for this ingress record using self-signed certificates generated by Helm + ## + selfSigned: false + ## @param ingress.extraHosts An array with additional hostname(s) to be covered with the ingress record + ## e.g: + ## extraHosts: + ## - name: transfer-api-svc.local + ## path: / + ## + extraHosts: + extraPaths: + extraTls: + secrets: + className: "nginx" + ## + resources: {} + # We usually recommend not to specify default resources and to leave this as a conscious + # choice for the user. This also increases chances charts run on environments with little + # resources, such as Minikube. If you do want to specify resources, uncomment the following + # lines, adjust them as necessary, and remove the curly braces after 'resources:'. + # limits: + # cpu: 100m + # memory: 128Mi + # requests: + # cpu: 100m + # memory: 128Mi + + mysql: + enabled: true + nameOverride: "centralledger-mysql" + # Default values for Percona XtraDB Cluster + + ## percona image and version + ## ref: https://hub.docker.com/r/percona/percona-xtradb-cluster/tags/ + image: + repository: "percona/percona-xtradb-cluster" + tag: "5.7.19" + pullPolicy: IfNotPresent + + # Desired number of members of xtradb cluster + replicas: 1 + + ## Specify password for root user + ## + # mysqlRootPassword: not-a-secure-password + + ## Specify password for xtradb backup user + ## + # xtraBackupPassword: replicate-my-data + + ## Uncomment to create a database user + ## + mysqlUser: central_ledger + mysqlPassword: oyMxgZChuu + + ## Allow unauthenticated access, uncomment to enable + ## + # mysqlAllowEmptyPassword: true + + ## Uncomment to Create a database + ## + mysqlDatabase: central_ledger + + ## hosts to allow root user access from + # set to "127.0.0.1" to deny remote root. + allowRootFrom: "%" + + ## Persist data to a persitent volume + persistence: + enabled: false + ## percona data Persistent Volume Storage Class + ## If defined, storageClassName: + ## If set to "-", storageClassName: "", which disables dynamic provisioning + ## If undefined (the default) or set to null, no storageClassName spec is + ## set, choosing the default provisioner. (gp2 on AWS, standard on + ## GKE, AWS & OpenStack) + ## + # storageClass: "-" + accessMode: ReadWriteOnce + size: 8Gi + + ## Node labels for pod assignment + ## Ref: https://kubernetes.io/docs/user-guide/node-selection/ + ## + nodeSelector: {} + + ## Pod annotations + ## Ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/ + ## + podAnnotations: {} + + ## Tolerations labels for pod assignment + ## Allow the scheduling on tainted nodes (requires Kubernetes >= 1.6) + ## Ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ + ## + tolerations: [] + + ## Configure resource requests and limits + ## ref: http://kubernetes.io/docs/user-guide/compute-resources/ + ## + # resources: + # requests: + # memory: 256Mi + # cpu: 100m + + ## Configure the following values below if required + # performance_schema=ON + # max_connections=999 + # max_user_connections=999 + # thread_cache_size=999 + configFiles: + node.cnf: |+ + [client] + default-character-set=utf8mb4 + + [mysql] + default-character-set=utf8mb4 + + [mysqld] + collation-server = utf8mb4_unicode_ci + init-connect='SET NAMES utf8mb4' + character-set-server = utf8mb4 + datadir=/var/lib/mysql + default_storage_engine=InnoDB + binlog_format=ROW + innodb_flush_log_at_trx_commit = 1 + innodb_flush_method = O_DIRECT + innodb_file_per_table = 1 + innodb_autoinc_lock_mode=2 + bind_address = 0.0.0.0 + wsrep_slave_threads=2 + wsrep_cluster_address=gcomm:// + wsrep_provider=/usr/lib/galera3/libgalera_smm.so + wsrep_cluster_name=galera + wsrep_sst_method=xtrabackup-v2 + pxc_strict_mode=DISABLED + + ## When set to true will create sidecar for `prom/mysqld-exporter` + ## metrics exporting + metricsExporter: + enabled: true + + ## When set to true will create sidecar to tail mysql log + logTail: true + + service: + type: ClusterIP + port: 3306 + externalIPs: [] + + kafka: + enabled: true + testsEnabled: false + nameOverride: kafka + # ------------------------------------------------------------------------------ + # Kafka: + # ------------------------------------------------------------------------------ + + ## The StatefulSet installs 3 pods by default + replicas: 1 + + ## The kafka image repository + image: "confluentinc/cp-kafka" + + ## The kafka image tag + imageTag: "5.0.1" + + ## Specify a imagePullPolicy + ## ref: http://kubernetes.io/docs/user-guide/images/#pre-pulling-images + imagePullPolicy: "IfNotPresent" + + ## Configure resource requests and limits + ## ref: http://kubernetes.io/docs/user-guide/compute-resources/ + resources: {} + # limits: + # cpu: 200m + # memory: 1536Mi + # requests: + # cpu: 100m + # memory: 1024Mi + kafkaHeapOptions: "-Xmx1G -Xms1G" + + ## The StatefulSet Update Strategy which Kafka will use when changes are applied. + ## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#update-strategies + updateStrategy: + type: "OnDelete" + + ## Start and stop pods in Parallel or OrderedReady (one-by-one.) Note - Can not change after first release. + ## ref: https://kubernetes.io/docs/tutorials/stateful-application/basic-stateful-set/#pod-management-policy + podManagementPolicy: OrderedReady + + ## If RBAC is enabled on the cluster, the Kafka init container needs a service account + ## with permissisions sufficient to apply pod labels + rbac: + enabled: true + + ## The name of the storage class which the cluster should use. + # storageClass: default + + ## The subpath within the Kafka container's PV where logs will be stored. + ## This is combined with `persistence.mountPath`, to create, by default: /opt/kafka/data/logs + logSubPath: "logs" + + ## Use an alternate scheduler, e.g. "stork". + ## ref: https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/ + ## + # schedulerName: + + ## Pod scheduling preferences (by default keep pods within a release on separate nodes). + ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity + ## By default we don't set affinity + affinity: {} + ## Alternatively, this typical example defines: + ## antiAffinity (to keep Kafka pods on separate pods) + ## and affinity (to encourage Kafka pods to be collocated with Zookeeper pods) + # affinity: + # podAntiAffinity: + # requiredDuringSchedulingIgnoredDuringExecution: + # - labelSelector: + # matchExpressions: + # - key: app + # operator: In + # values: + # - kafka + # topologyKey: "kubernetes.io/hostname" + # podAffinity: + # preferredDuringSchedulingIgnoredDuringExecution: + # - weight: 50 + # podAffinityTerm: + # labelSelector: + # matchExpressions: + # - key: app + # operator: In + # values: + # - zookeeper + # topologyKey: "kubernetes.io/hostname" + + ## Node labels for pod assignment + ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector + nodeSelector: {} + + ## Readiness probe config. + ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/ + ## + readinessProbe: + initialDelaySeconds: 30 + periodSeconds: 10 + timeoutSeconds: 5 + successThreshold: 1 + failureThreshold: 3 + + ## Period to wait for broker graceful shutdown (sigterm) before pod is killed (sigkill) + ## ref: https://kubernetes-v1-4.github.io/docs/user-guide/production-pods/#lifecycle-hooks-and-termination-notice + ## ref: https://kafka.apache.org/10/documentation.html#brokerconfigs controlled.shutdown.* + terminationGracePeriodSeconds: 60 + + # Tolerations for nodes that have taints on them. + # Useful if you want to dedicate nodes to just run kafka + # https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ + tolerations: [] + # tolerations: + # - key: "key" + # operator: "Equal" + # value: "value" + # effect: "NoSchedule" + + ## External access. + ## + external: + enabled: false + servicePort: 19092 + firstListenerPort: 31090 + domain: cluster.local + init: + image: "lwolf/kubectl_deployer" + imageTag: "0.4" + imagePullPolicy: "IfNotPresent" + + ## Configuration Overrides. Specify any Kafka settings you would like set on the StatefulSet + ## here in map format, as defined in the official docs. + ## ref: https://kafka.apache.org/documentation/#brokerconfigs + ## + configurationOverrides: + ## Configure these to match the number of Kafka nodes for HA + "offsets.topic.replication.factor": 1 + "default.replication.factor": 1 + # "auto.leader.rebalance.enable": true + "auto.create.topics.enable": true + # "controlled.shutdown.enable": true + # "controlled.shutdown.max.retries": 100 + + ## Options required for external access via NodePort + ## ref: + ## - http://kafka.apache.org/documentation/#security_configbroker + ## - https://cwiki.apache.org/confluence/display/KAFKA/KIP-103%3A+Separation+of+Internal+and+External+traffic + ## + ## Setting "advertised.listeners" here appends to "PLAINTEXT://${POD_IP}:9092," + # "advertised.listeners": |- + # EXTERNAL://kafka.cluster.local:$((31090 + ${KAFKA_BROKER_ID})) + # "listener.security.protocol.map": |- + # PLAINTEXT:PLAINTEXT,EXTERNAL:PLAINTEXT + + ## A collection of additional ports to expose on brokers (formatted as normal containerPort yaml) + # Useful when the image exposes metrics (like prometheus, etc.) through a javaagent instead of a sidecar + additionalPorts: {} + + ## Persistence configuration. Specify if and how to persist data to a persistent volume. + ## + persistence: + enabled: false + + ## The size of the PersistentVolume to allocate to each Kafka Pod in the StatefulSet. For + ## production servers this number should likely be much larger. + ## + size: "1Gi" + + ## The location within the Kafka container where the PV will mount its storage and Kafka will + ## store its logs. + ## + mountPath: "/opt/kafka/data" + + ## Kafka data Persistent Volume Storage Class + ## If defined, storageClassName: + ## If set to "-", storageClassName: "", which disables dynamic provisioning + ## If undefined (the default) or set to null, no storageClassName spec is + ## set, choosing the default provisioner. (gp2 on AWS, standard on + ## GKE, AWS & OpenStack) + ## + # storageClass: + + jmx: + ## Rules to apply to the Prometheus JMX Exporter. Note while lots of stats have been cleaned and exposed, + ## there are still more stats to clean up and expose, others will never get exposed. They keep lots of duplicates + ## that can be derived easily. The configMap in this chart cleans up the metrics it exposes to be in a Prometheus + ## format, eg topic, broker are labels and not part of metric name. Improvements are gladly accepted and encouraged. + configMap: + + ## Allows disabling the default configmap, note a configMap is needed + enabled: true + + ## Allows setting values to generate confimap + ## To allow all metrics through (warning its crazy excessive) comment out below `overrideConfig` and set + ## `whitelistObjectNames: []` + overrideConfig: {} + # jmxUrl: service:jmx:rmi:///jndi/rmi://127.0.0.1:5555/jmxrmi + # lowercaseOutputName: true + # lowercaseOutputLabelNames: true + # ssl: false + # rules: + # - pattern: ".*" + + ## If you would like to supply your own ConfigMap for JMX metrics, supply the name of that + ## ConfigMap as an `overrideName` here. + overrideName: "" + + ## Port the jmx metrics are exposed in native jmx format, not in Prometheus format + port: 5555 + + ## JMX Whitelist Objects, can be set to control which JMX metrics are exposed. Only whitelisted + ## values will be exposed via JMX Exporter. They must also be exposed via Rules. To expose all metrics + ## (warning its crazy excessive and they aren't formatted in a prometheus style) (1) `whitelistObjectNames: []` + ## (2) commented out above `overrideConfig`. + whitelistObjectNames: # [] + - kafka.controller:* + - kafka.server:* + - java.lang:* + - kafka.network:* + - kafka.log:* + + ## Prometheus Exporters / Metrics + ## + prometheus: + ## Prometheus JMX Exporter: exposes the majority of Kafkas metrics + jmx: + enabled: true + + ## The image to use for the metrics collector + image: solsson/kafka-prometheus-jmx-exporter@sha256 + + ## The image tag to use for the metrics collector + imageTag: a23062396cd5af1acdf76512632c20ea6be76885dfc20cd9ff40fb23846557e8 + + ## Interval at which Prometheus scrapes metrics, note: only used by Prometheus Operator + interval: 10s + + ## Port jmx-exporter exposes Prometheus format metrics to scrape + port: 5556 + + resources: {} + # limits: + # cpu: 200m + # memory: 1Gi + # requests: + # cpu: 100m + # memory: 100Mi + + ## Prometheus Kafka Exporter: exposes complimentary metrics to JMX Exporter + kafka: + enabled: true + + ## The image to use for the metrics collector + image: danielqsj/kafka-exporter + + ## The image tag to use for the metrics collector + imageTag: v1.0.1 + + ## Interval at which Prometheus scrapes metrics, note: only used by Prometheus Operator + interval: 10s + + ## Port kafka-exporter exposes for Prometheus to scrape metrics + port: 9308 + + ## Resource limits + resources: {} + # limits: + # cpu: 200m + # memory: 1Gi + # requests: + # cpu: 100m + # memory: 100Mi + + operator: + ## Are you using Prometheus Operator? + enabled: false + + serviceMonitor: + # Namespace Prometheus is installed in + namespace: monitoring + + ## Defaults to whats used if you follow CoreOS [Prometheus Install Instructions](https://github.com/coreos/prometheus-operator/tree/master/helm#tldr) + ## [Prometheus Selector Label](https://github.com/coreos/prometheus-operator/blob/master/helm/prometheus/templates/prometheus.yaml#L65) + ## [Kube Prometheus Selector Label](https://github.com/coreos/prometheus-operator/blob/master/helm/kube-prometheus/values.yaml#L298) + selector: + prometheus: kube-prometheus + + # ------------------------------------------------------------------------------ + # Zookeeper: + # ------------------------------------------------------------------------------ + + zookeeper: + ## If true, install the Zookeeper chart alongside Kafka + ## ref: https://github.com/kubernetes/charts/tree/master/incubator/zookeeper + enabled: true + + ## ref: https://github.com/kubernetes/contrib/tree/master/statefulsets/zookeeper#stateful-set + # Desired quantity of ZooKeeper pods. This should always be (1,3,5, or 7) + replicaCount: 1 + + ## Configure Zookeeper resource requests and limits + ## ref: http://kubernetes.io/docs/user-guide/compute-resources/ + resources: + + ## The JVM heap size to allocate to Zookeeper + heap: "1G" + + persistence: + enabled: false + ## The amount of PV storage allocated to each Zookeeper pod in the statefulset + # size: "2Gi" + + ## Specify a Zookeeper imagePullPolicy + ## ref: http://kubernetes.io/docs/user-guide/images/#pre-pulling-images + imagePullPolicy: "IfNotPresent" + + ## If the Zookeeper Chart is disabled a URL and port are required to connect + url: "" + port: 2181 + + ## Pod scheduling preferences (by default keep pods within a release on separate nodes). + ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity + ## By default we don't set affinity: + affinity: {} # Criteria by which pod label-values influence scheduling for zookeeper pods. + # podAntiAffinity: + # requiredDuringSchedulingIgnoredDuringExecution: + # - topologyKey: "kubernetes.io/hostname" + # labelSelector: + # matchLabels: + # release: zookeeper + + centralsettlement: + centralsettlement-service: + enabled: true + replicaCount: 1 + containers: + api: + image: + repository: mojaloop/central-settlement + tag: v15.0.0 + pullPolicy: IfNotPresent + command: '["node", "src/api/index.js"]' + service: + type: ClusterIP + ports: + api: + name: http-api + externalPort: 80 + internalPort: 3007 + annotations: {} + # This allows one to point the service to an external backend. + # This is useful for local development where one wishes to hijack + # the communication from the service to the node layer and point + # to a specific endpoint (IP, Port, etc). + external: + enabled: false + # 10.0.2.2 is the magic IP for the host on virtualbox's network + ip: 10.0.2.2 + ports: + api: + name: http-api + externalPort: 3007 + readinessProbe: + enabled: true + httpGet: + path: /v2/health + initialDelaySeconds: 60 + periodSeconds: 15 + livenessProbe: + enabled: true + httpGet: + path: /v2/health + initialDelaySeconds: 60 + periodSeconds: 15 + + ## Pod scheduling preferences. + ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity + affinity: {} + + ## Node labels for pod assignment + ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector + nodeSelector: {} + + ## Set toleration for scheduler + ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ + tolerations: [] + + sidecar: + enabled: true + image: + repository: mojaloop/event-sidecar + tag: v12.0.0 + pullPolicy: IfNotPresent + command: '["npm", "run", "start"]' + service: + internalPort: 4001 + readinessProbe: + enabled: true + httpGet: + path: /health + initialDelaySeconds: 120 + periodSeconds: 15 + livenessProbe: + enabled: true + httpGet: + path: /health + initialDelaySeconds: 90 + periodSeconds: 15 + config: + event_log_grpc_host: localhost + event_log_grpc_port: 50051 + event_log_filter: 'audit:*, log:info, log:warn, log:error' + event_log_metadata_only: true + log_level: info + log_filter: 'error, warn, info' + + ## metric configuration for prometheus instrumentation + metrics: + ## flag to enable/disable the metrics end-points + enabled: false + config: + timeout: 5000 + prefix: moja_ + defaultLabels: + serviceName: central-settlement-service + + config: + ## Kafka Configuration + # this can be set if the dependency chart for kafka is disabled. If 'kafka_host' is commented out, then the name of the dependency chart will be used. + kafka_host: '$release_name-kafka' + kafka_port: 9092 + kafka: + consumer: + notification: + close: + config: + options: + mode: 2 + batchSize: 1 + pollFrequency: 10 + recursiveTimeout: 100 + messageCharset: 'utf8' + messageAsJSON: true + sync: true + consumeTimeout: 1000 + rdkafkaConf: + socket_keepalive_enable: true + event: + config: + options: + mode: 2 + batchSize: 1 + pollFrequency: 10 + recursiveTimeout: 100 + messageCharset: 'utf8' + messageAsJSON: true + sync: true + consumeTimeout: 1000 + rdkafkaConf: + socket_keepalive_enable: true + deferredsettlement: + close: + config: + options: + mode: 2 + batchSize: 1 + pollFrequency: 10 + recursiveTimeout: 100 + messageCharset: 'utf8' + messageAsJSON: true + sync: true + consumeTimeout: 1000 + rdkafkaConf: + socket_keepalive_enable: true + producer: + notification: + event: + config: + options: + messageCharset: 'utf8' + rdkafkaConf: + event_cb: true + compression_codec: 'none' + retry_backoff_ms: 100 + message_send_max_retries: 2 + socket_keepalive_enable: true + batch_num_messages: 100 + dr_cb: false + socket_blocking_max_ms: 1 + queue_buffering_max_ms: 1 + broker_version_fallback: '0.10.1.0' + api_version_request: true + topicConf: + request_required_acks: 'all' + partitioner: 'murmur2_random' + deferredsettlement: + close: + config: + options: + messageCharset: 'utf8' + rdkafkaConf: + event_cb: true + dr_cb: true + socket_keepalive_enable: true + topicConf: + request_required_acks: "all" + partitioner: 'murmur2_random' + ## DB Configuration + # db_type can either be 'postgres' or 'mysql'. Ensure the correct DB is enabled and configured below: postgresql.enabled or mysql.enabled + db_type: 'mysql' + # db_driver can either be 'pg' or 'mysql'. Ensure the correct corresponding db_type above has been set. + db_driver: 'mysql' + db_host: '$release_name-centralledger-mysql' + db_port: 3306 + db_user: central_ledger + db_password: oyMxgZChuu + db_database: central_ledger + db_connection_pool_min: 10 + db_connection_pool_max: 30 + db_acquire_timeout_millis: 30000 + db_create_timeout_millis: 30000 + db_destroy_timeout_millis: 5000 + db_idle_timeout_millis: 30000 + db_reap_interval_millis: 1000 + db_create_retry_interval_millis: 200 + db_debug: false + # Api Handler Configuration + handlers: + disabled: true + api: + disabled: false + # Settlement Window aggregation Configuration + window_aggregation: + retry_count: 3 + retry_interval: 3000 + hub_participant: + id: 1 + name: Hub + + ## Log config + log_level: info + log_transport: file + + ## Tracing Configuration + event_trace_vendor: mojaloop + event_log_filter: 'audit:*, log:warn, log:error' + # If set to true, only the metadata object from the event will be printed. + event_log_metadata_only: false + # A comma-separated list of events that should return immediately instead of waiting for the event promises to resolve + # Any combination of: `log,audit,trace` + event_async_override: 'log,trace' + event_trace_state_enabled: true + event_traceid_per_vendor: false + + ## Error Handling + error_handling: + include_cause_extension: false + truncate_extensions: true + + init: + enabled: true + mysql: + name: wait-for-mysql + repository: mysql + tag: 8.0.30 + pullPolicy: IfNotPresent + command: "until result=$(mysql -h $db_host -P $db_port -u $db_user --password=$db_password $db_database -ss -N -e 'select is_locked from migration_lock;') && eval 'echo is_locked=$result' && if [ -z $result ]; then false; fi && if [ $result -ne 0 ]; then false; fi; do echo waiting for MySQL; sleep 2; done;" + + service: + type: ClusterIP + ports: + api: + name: http-api + externalPort: 80 + internalPort: 3007 + annotations: {} + + # This allows one to point the service to an external backend. + # This is useful for local development where one wishes to hijack + # the communication from the service to the node layer and point + # to a specific endpoint (IP, Port, etc). + external: + enabled: false + # 10.0.2.2 is the magic IP for the host on virtualbox's network + ip: 10.0.2.2 + ports: + api: + name: http-api + externalPort: 3007 + ingress: + enabled: true + ## @param ingress.pathType Ingress path type + ## + pathType: ImplementationSpecific + ## @param ingress.apiVersion Force Ingress API version (automatically detected if not set) + ## + apiVersion: + ## @param ingress.hostname Default host for the ingress record + ## + hostname: central-settlement-service.local + ## @param servicePort : port for the service + ## + servicePort: 80 + ## @param ingress.path Default path for the ingress record + ## NOTE: You may need to set this to '/*' in order to use this with ALB ingress controllers + path: / + ## @param ingress.annotations Additional custom annotations for the ingress record + ## NOTE: If `ingress.certManager=true`, annotation `kubernetes.io/tls-acme: "true"` will automatically be added + ## + annotations: + ## @param ingress.tls Enable TLS configuration for the host defined at `ingress.hostname` parameter + ## TLS certificates will be retrieved from a TLS secret with name: `{{- printf "%s-tls" .Values.ingress.hostname }}` + ## You can: + ## - Use the `ingress.secrets` parameter to create this TLS secret + ## - Relay on cert-manager to create it by setting `ingress.certManager=true` + ## - Relay on Helm to create self-signed certificates by setting `ingress.selfSigned=true` + ## + tls: false + ## @param ingress.certManager Add the corresponding annotations for cert-manager integration + ## + certManager: false + ## @param ingress.selfSigned Create a TLS secret for this ingress record using self-signed certificates generated by Helm + ## + selfSigned: false + ## @param ingress.extraHosts An array with additional hostname(s) to be covered with the ingress record + ## e.g: + ## extraHosts: + ## - name: transfer-api-svc.local + ## path: / + ## + extraHosts: + extraPaths: + extraTls: + secrets: + className: "nginx" + ## + resources: {} + # We usually recommend not to specify default resources and to leave this as a conscious + # choice for the user. This also increases chances charts run on environments with little + # resources, such as Minikube. If you do want to specify resources, uncomment the following + # lines, adjust them as necessary, and remove the curly braces after 'resources:'. + # limits: + # cpu: 100m + # memory: 128Mi + # requests: + # cpu: 100m + # memory: 128Mi + + centralsettlement-handler-deferredsettlement: + enabled: true + replicaCount: 1 + + containers: + api: + image: + repository: mojaloop/central-settlement + tag: v15.0.0 + pullPolicy: IfNotPresent + command: '["node", "src/handlers/index.js", "h", "--deferredSettlement"]' + service: + type: ClusterIP + ports: + api: + name: http-api + externalPort: 80 + internalPort: 3007 + annotations: {} + # This allows one to point the service to an external backend. + # This is useful for local development where one wishes to hijack + # the communication from the service to the node layer and point + # to a specific endpoint (IP, Port, etc). + external: + enabled: false + # 10.0.2.2 is the magic IP for the host on virtualbox's network + ip: 10.0.2.2 + ports: + api: + name: http-api + externalPort: 3007 + readinessProbe: + enabled: true + httpGet: + path: /v2/health + initialDelaySeconds: 60 + periodSeconds: 15 + livenessProbe: + enabled: true + httpGet: + path: /v2/health + initialDelaySeconds: 60 + periodSeconds: 15 + + ## Pod scheduling preferences. + ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity + affinity: {} + + ## Node labels for pod assignment + ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector + nodeSelector: {} + + ## Set toleration for scheduler + ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ + tolerations: [] + + sidecar: + enabled: true + image: + repository: mojaloop/event-sidecar + tag: v12.0.0 + pullPolicy: IfNotPresent + command: '["npm", "run", "start"]' + service: + internalPort: 4001 + readinessProbe: + enabled: true + httpGet: + path: /health + initialDelaySeconds: 120 + periodSeconds: 15 + livenessProbe: + enabled: true + httpGet: + path: /health + initialDelaySeconds: 90 + periodSeconds: 15 + config: + event_log_grpc_host: localhost + event_log_grpc_port: 50051 + event_log_filter: 'audit:*, log:info, log:warn, log:error' + event_log_metadata_only: true + log_level: info + log_filter: 'error, warn, info' + + ## metric configuration for prometheus instrumentation + metrics: + ## flag to enable/disable the metrics end-points + enabled: false + config: + timeout: 5000 + prefix: moja_ + defaultLabels: + serviceName: central-settlement-handler-deferredsettlement + + config: + ## Kafka Configuration + # this can be set if the dependency chart for kafka is disabled. If 'kafka_host' is commented out, then the name of the dependency chart will be used. + kafka_host: '$release_name-kafka' + kafka_port: 9092 + kafka: + consumer: + notification: + close: + config: + options: + mode: 2 + batchSize: 1 + pollFrequency: 10 + recursiveTimeout: 100 + messageCharset: 'utf8' + messageAsJSON: true + sync: true + consumeTimeout: 1000 + rdkafkaConf: + socket_keepalive_enable: true + event: + config: + options: + mode: 2 + batchSize: 1 + pollFrequency: 10 + recursiveTimeout: 100 + messageCharset: 'utf8' + messageAsJSON: true + sync: true + consumeTimeout: 1000 + rdkafkaConf: + socket_keepalive_enable: true + deferredsettlement: + close: + config: + options: + mode: 2 + batchSize: 1 + pollFrequency: 10 + recursiveTimeout: 100 + messageCharset: 'utf8' + messageAsJSON: true + sync: true + consumeTimeout: 1000 + rdkafkaConf: + socket_keepalive_enable: true + producer: + notification: + event: + config: + options: + messageCharset: 'utf8' + rdkafkaConf: + event_cb: true + compression_codec: 'none' + retry_backoff_ms: 100 + message_send_max_retries: 2 + socket_keepalive_enable: true + batch_num_messages: 100 + dr_cb: false + socket_blocking_max_ms: 1 + queue_buffering_max_ms: 1 + broker_version_fallback: '0.10.1.0' + api_version_request: true + topicConf: + request_required_acks: 'all' + partitioner: 'murmur2_random' + deferredsettlement: + close: + config: + options: + messageCharset: 'utf8' + rdkafkaConf: + event_cb: true + dr_cb: true + socket_keepalive_enable: true + topicConf: + request_required_acks: "all" + partitioner: 'murmur2_random' + ## DB Configuration + # db_type can either be 'postgres' or 'mysql'. Ensure the correct DB is enabled and configured below: postgresql.enabled or mysql.enabled + db_type: 'mysql' + # db_driver can either be 'pg' or 'mysql'. Ensure the correct corresponding db_type above has been set. + db_driver: 'mysql' + db_host: '$release_name-centralledger-mysql' + db_port: 3306 + db_user: central_ledger + db_password: oyMxgZChuu + db_database: central_ledger + db_connection_pool_min: 10 + db_connection_pool_max: 30 + db_acquire_timeout_millis: 30000 + db_create_timeout_millis: 30000 + db_destroy_timeout_millis: 5000 + db_idle_timeout_millis: 30000 + db_reap_interval_millis: 1000 + db_create_retry_interval_millis: 200 + db_debug: false + # Api Handler Configuration + handlers: + disabled: false + api: + disabled: false + # Settlement Window aggregation Configuration + window_aggregation: + retry_count: 3 + retry_interval: 3000 + hub_participant: + id: 1 + name: Hub + + ## Log config + log_level: info + log_transport: file + + ## Tracing Configuration + event_trace_vendor: mojaloop + event_log_filter: 'audit:*, log:warn, log:error' + # If set to true, only the metadata object from the event will be printed. + event_log_metadata_only: false + # A comma-separated list of events that should return immediately instead of waiting for the event promises to resolve + # Any combination of: `log,audit,trace` + event_async_override: 'log,trace' + event_trace_state_enabled: true + event_traceid_per_vendor: false + + ## Error Handling + error_handling: + include_cause_extension: false + truncate_extensions: true + + init: + enabled: true + mysql: + name: wait-for-mysql + repository: mysql + tag: 8.0.30 + pullPolicy: IfNotPresent + command: "until result=$(mysql -h $db_host -P $db_port -u $db_user --password=$db_password $db_database -ss -N -e 'select is_locked from migration_lock;') && eval 'echo is_locked=$result' && if [ -z $result ]; then false; fi && if [ $result -ne 0 ]; then false; fi; do echo waiting for MySQL; sleep 2; done;" + kafka: + name: wait-for-kafka + repository: solsson/kafka + tag: 2.8.1 + pullPolicy: IfNotPresent + command: "until ./bin/kafka-broker-api-versions.sh --bootstrap-server $kafka_host:$kafka_port; do echo waiting for Kafka; sleep 2; done;" + env: {} + service: + type: ClusterIP + ports: + api: + name: http-api + externalPort: 80 + internalPort: 3007 + annotations: {} + + # This allows one to point the service to an external backend. + # This is useful for local development where one wishes to hijack + # the communication from the service to the node layer and point + # to a specific endpoint (IP, Port, etc). + external: + enabled: false + # 10.0.2.2 is the magic IP for the host on virtualbox's network + ip: 10.0.2.2 + ports: + api: + name: http-api + externalPort: 3007 + ingress: + enabled: true + ## @param ingress.pathType Ingress path type + ## + pathType: ImplementationSpecific + ## @param ingress.apiVersion Force Ingress API version (automatically detected if not set) + ## + apiVersion: + ## @param ingress.hostname Default host for the ingress record + ## + hostname: central-settlement-deferredsettlement.local + ## @param servicePort : port for the service + ## + servicePort: 80 + ## @param ingress.path Default path for the ingress record + ## NOTE: You may need to set this to '/*' in order to use this with ALB ingress controllers + path: / + ## @param ingress.annotations Additional custom annotations for the ingress record + ## NOTE: If `ingress.certManager=true`, annotation `kubernetes.io/tls-acme: "true"` will automatically be added + ## + annotations: + ## @param ingress.tls Enable TLS configuration for the host defined at `ingress.hostname` parameter + ## TLS certificates will be retrieved from a TLS secret with name: `{{- printf "%s-tls" .Values.ingress.hostname }}` + ## You can: + ## - Use the `ingress.secrets` parameter to create this TLS secret + ## - Relay on cert-manager to create it by setting `ingress.certManager=true` + ## - Relay on Helm to create self-signed certificates by setting `ingress.selfSigned=true` + ## + tls: false + ## @param ingress.certManager Add the corresponding annotations for cert-manager integration + ## + certManager: false + ## @param ingress.selfSigned Create a TLS secret for this ingress record using self-signed certificates generated by Helm + ## + selfSigned: false + ## @param ingress.extraHosts An array with additional hostname(s) to be covered with the ingress record + ## e.g: + ## extraHosts: + ## - name: transfer-api-svc.local + ## path: / + ## + extraHosts: + extraPaths: + extraTls: + secrets: + className: "nginx" + ## + resources: {} + # We usually recommend not to specify default resources and to leave this as a conscious + # choice for the user. This also increases chances charts run on environments with little + # resources, such as Minikube. If you do want to specify resources, uncomment the following + # lines, adjust them as necessary, and remove the curly braces after 'resources:'. + # limits: + # cpu: 100m + # memory: 128Mi + # requests: + # cpu: 100m + # memory: 128Mi + + centralsettlement-handler-grosssettlement: + ## Enable this handler if you wish to support Continuous Gross Settlement (CGS) and rule processing. + ## Note: Ensure that you have configured the appropriated settlementModels (refer to the associated tagged release on https://github.com/mojaloop/postman for an example). See below more information on how to configure rule processing for Interchange Fees. + enabled: true + replicaCount: 1 + containers: + api: + image: + repository: mojaloop/central-settlement + tag: v15.0.0 + pullPolicy: IfNotPresent + command: '["node", "src/handlers/index.js", "h", "--grossSettlement"]' + service: + type: ClusterIP + ports: + api: + name: http-api + externalPort: 80 + internalPort: 3007 + annotations: {} + # This allows one to point the service to an external backend. + # This is useful for local development where one wishes to hijack + # the communication from the service to the node layer and point + # to a specific endpoint (IP, Port, etc). + external: + enabled: false + # 10.0.2.2 is the magic IP for the host on virtualbox's network + ip: 10.0.2.2 + ports: + api: + name: http-api + externalPort: 3007 + readinessProbe: + enabled: true + httpGet: + path: /v2/health + initialDelaySeconds: 60 + periodSeconds: 15 + livenessProbe: + enabled: true + httpGet: + path: /v2/health + initialDelaySeconds: 60 + periodSeconds: 15 + + ## Pod scheduling preferences. + ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity + affinity: {} + + ## Node labels for pod assignment + ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector + nodeSelector: {} + + ## Set toleration for scheduler + ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ + tolerations: [] + + sidecar: + enabled: true + image: + repository: mojaloop/event-sidecar + tag: v12.0.0 + pullPolicy: IfNotPresent + command: '["npm", "run", "start"]' + service: + internalPort: 4001 + readinessProbe: + enabled: true + httpGet: + path: /health + initialDelaySeconds: 120 + periodSeconds: 15 + livenessProbe: + enabled: true + httpGet: + path: /health + initialDelaySeconds: 90 + periodSeconds: 15 + config: + event_log_grpc_host: localhost + event_log_grpc_port: 50051 + event_log_filter: 'audit:*, log:info, log:warn, log:error' + event_log_metadata_only: true + log_level: info + log_filter: 'error, warn, info' + + ## metric configuration for prometheus instrumentation + metrics: + ## flag to enable/disable the metrics end-points + enabled: false + config: + timeout: 5000 + prefix: moja_ + defaultLabels: + serviceName: central-settlement-handler-grosssettlement + + config: + ## Kafka Configuration + # this can be set if the dependency chart for kafka is disabled. If 'kafka_host' is commented out, then the name of the dependency chart will be used. + kafka_host: '$release_name-kafka' + kafka_port: 9092 + kafka: + consumer: + notification: + close: + config: + options: + mode: 2 + batchSize: 1 + pollFrequency: 10 + recursiveTimeout: 100 + messageCharset: 'utf8' + messageAsJSON: true + sync: true + consumeTimeout: 1000 + rdkafkaConf: + socket_keepalive_enable: true + event: + config: + options: + mode: 2 + batchSize: 1 + pollFrequency: 10 + recursiveTimeout: 100 + messageCharset: 'utf8' + messageAsJSON: true + sync: true + consumeTimeout: 1000 + rdkafkaConf: + socket_keepalive_enable: true + deferredsettlement: + close: + config: + options: + mode: 2 + batchSize: 1 + pollFrequency: 10 + recursiveTimeout: 100 + messageCharset: 'utf8' + messageAsJSON: true + sync: true + consumeTimeout: 1000 + rdkafkaConf: + socket_keepalive_enable: true + producer: + notification: + event: + config: + options: + messageCharset: 'utf8' + rdkafkaConf: + event_cb: true + compression_codec: 'none' + retry_backoff_ms: 100 + message_send_max_retries: 2 + socket_keepalive_enable: true + batch_num_messages: 100 + dr_cb: false + socket_blocking_max_ms: 1 + queue_buffering_max_ms: 1 + broker_version_fallback: '0.10.1.0' + api_version_request: true + topicConf: + request_required_acks: 'all' + partitioner: 'murmur2_random' + deferredsettlement: + close: + config: + options: + messageCharset: 'utf8' + rdkafkaConf: + event_cb: true + dr_cb: true + socket_keepalive_enable: true + topicConf: + request_required_acks: "all" + partitioner: 'murmur2_random' + ## DB Configuration + # db_type can either be 'postgres' or 'mysql'. Ensure the correct DB is enabled and configured below: postgresql.enabled or mysql.enabled + db_type: 'mysql' + # db_driver can either be 'pg' or 'mysql'. Ensure the correct corresponding db_type above has been set. + db_driver: 'mysql' + db_host: '$release_name-centralledger-mysql' + db_port: 3306 + db_user: central_ledger + db_password: oyMxgZChuu + db_database: central_ledger + db_connection_pool_min: 10 + db_connection_pool_max: 30 + db_acquire_timeout_millis: 30000 + db_create_timeout_millis: 30000 + db_destroy_timeout_millis: 5000 + db_idle_timeout_millis: 30000 + db_reap_interval_millis: 1000 + db_create_retry_interval_millis: 200 + db_debug: false + # Api Handler Configuration + handlers: + disabled: false + api: + disabled: false + # Settlement Window aggregation Configuration + window_aggregation: + retry_count: 3 + retry_interval: 3000 + hub_participant: + id: 1 + name: Hub + + ## Log config + log_level: info + log_transport: file + + ## Tracing Configuration + event_trace_vendor: mojaloop + event_log_filter: 'audit:*, log:warn, log:error' + # If set to true, only the metadata object from the event will be printed. + event_log_metadata_only: false + # A comma-separated list of events that should return immediately instead of waiting for the event promises to resolve + # Any combination of: `log,audit,trace` + event_async_override: 'log,trace' + event_trace_state_enabled: true + event_traceid_per_vendor: false + + ## Error Handling + error_handling: + include_cause_extension: false + truncate_extensions: true + + init: + enabled: true + mysql: + name: wait-for-mysql + repository: mysql + tag: 8.0.30 + pullPolicy: IfNotPresent + command: "until result=$(mysql -h $db_host -P $db_port -u $db_user --password=$db_password $db_database -ss -N -e 'select is_locked from migration_lock;') && eval 'echo is_locked=$result' && if [ -z $result ]; then false; fi && if [ $result -ne 0 ]; then false; fi; do echo waiting for MySQL; sleep 2; done;" + kafka: + name: wait-for-kafka + repository: solsson/kafka + tag: 2.8.1 + pullPolicy: IfNotPresent + command: "until ./bin/kafka-broker-api-versions.sh --bootstrap-server $kafka_host:$kafka_port; do echo waiting for Kafka; sleep 2; done;" + env: {} + service: + type: ClusterIP + ports: + api: + name: http-api + externalPort: 80 + internalPort: 3007 + annotations: {} + + # This allows one to point the service to an external backend. + # This is useful for local development where one wishes to hijack + # the communication from the service to the node layer and point + # to a specific endpoint (IP, Port, etc). + external: + enabled: false + # 10.0.2.2 is the magic IP for the host on virtualbox's network + ip: 10.0.2.2 + ports: + api: + name: http-api + externalPort: 3007 + ingress: + enabled: true + ## @param ingress.pathType Ingress path type + ## + pathType: ImplementationSpecific + ## @param ingress.apiVersion Force Ingress API version (automatically detected if not set) + ## + apiVersion: + ## @param ingress.hostname Default host for the ingress record + ## + hostname: central-settlement-rules.local + ## @param servicePort : port for the service + ## + servicePort: 80 + ## @param ingress.path Default path for the ingress record + ## NOTE: You may need to set this to '/*' in order to use this with ALB ingress controllers + path: / + ## @param ingress.annotations Additional custom annotations for the ingress record + ## NOTE: If `ingress.certManager=true`, annotation `kubernetes.io/tls-acme: "true"` will automatically be added + ## + annotations: + ## @param ingress.tls Enable TLS configuration for the host defined at `ingress.hostname` parameter + ## TLS certificates will be retrieved from a TLS secret with name: `{{- printf "%s-tls" .Values.ingress.hostname }}` + ## You can: + ## - Use the `ingress.secrets` parameter to create this TLS secret + ## - Relay on cert-manager to create it by setting `ingress.certManager=true` + ## - Relay on Helm to create self-signed certificates by setting `ingress.selfSigned=true` + ## + tls: false + ## @param ingress.certManager Add the corresponding annotations for cert-manager integration + ## + certManager: false + ## @param ingress.selfSigned Create a TLS secret for this ingress record using self-signed certificates generated by Helm + ## + selfSigned: false + ## @param ingress.extraHosts An array with additional hostname(s) to be covered with the ingress record + ## e.g: + ## extraHosts: + ## - name: transfer-api-svc.local + ## path: / + ## + extraHosts: + extraPaths: + extraTls: + secrets: + className: "nginx" + ## + resources: {} + # We usually recommend not to specify default resources and to leave this as a conscious + # choice for the user. This also increases chances charts run on environments with little + # resources, such as Minikube. If you do want to specify resources, uncomment the following + # lines, adjust them as necessary, and remove the curly braces after 'resources:'. + # limits: + # cpu: 100m + # memory: 128Mi + # requests: + # cpu: 100m + # memory: 128Mi + + centralsettlement-handler-rules: + ## Enable this handler if you wish to support Continuous Gross Settlement (CGS) and rule processing. + ## Note: Ensure that you have configured the appropriated settlementModels (refer to the associated tagged release on https://github.com/mojaloop/postman for an example). See below more information on how to configure rule processing for Interchange Fees. + enabled: true + replicaCount: 1 + containers: + api: + image: + repository: mojaloop/central-settlement + tag: v15.0.0 + pullPolicy: IfNotPresent + command: '["node", "src/handlers/index.js", "h", "--rules"]' + service: + type: ClusterIP + ports: + api: + name: http-api + externalPort: 80 + internalPort: 3007 + annotations: {} + # This allows one to point the service to an external backend. + # This is useful for local development where one wishes to hijack + # the communication from the service to the node layer and point + # to a specific endpoint (IP, Port, etc). + external: + enabled: false + # 10.0.2.2 is the magic IP for the host on virtualbox's network + ip: 10.0.2.2 + ports: + api: + name: http-api + externalPort: 3007 + readinessProbe: + enabled: true + httpGet: + path: /v2/health + initialDelaySeconds: 60 + periodSeconds: 15 + livenessProbe: + enabled: true + httpGet: + path: /v2/health + initialDelaySeconds: 60 + periodSeconds: 15 + + ## Pod scheduling preferences. + ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity + affinity: {} + + ## Node labels for pod assignment + ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector + nodeSelector: {} + + ## Set toleration for scheduler + ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ + tolerations: [] + + sidecar: + enabled: true + image: + repository: mojaloop/event-sidecar + tag: v12.0.0 + pullPolicy: IfNotPresent + command: '["npm", "run", "start"]' + service: + internalPort: 4001 + readinessProbe: + enabled: true + httpGet: + path: /health + initialDelaySeconds: 120 + periodSeconds: 15 + livenessProbe: + enabled: true + httpGet: + path: /health + initialDelaySeconds: 90 + periodSeconds: 15 + config: + event_log_grpc_host: localhost + event_log_grpc_port: 50051 + event_log_filter: 'audit:*, log:info, log:warn, log:error' + event_log_metadata_only: true + log_level: info + log_filter: 'error, warn, info' + + ## metric configuration for prometheus instrumentation + metrics: + ## flag to enable/disable the metrics end-points + enabled: false + config: + timeout: 5000 + prefix: moja_ + defaultLabels: + serviceName: central-settlement-handler-rules + + config: + ## Kafka Configuration + # this can be set if the dependency chart for kafka is disabled. If 'kafka_host' is commented out, then the name of the dependency chart will be used. + kafka_host: '$release_name-kafka' + kafka_port: 9092 + kafka: + consumer: + notification: + close: + config: + options: + mode: 2 + batchSize: 1 + pollFrequency: 10 + recursiveTimeout: 100 + messageCharset: 'utf8' + messageAsJSON: true + sync: true + consumeTimeout: 1000 + rdkafkaConf: + socket_keepalive_enable: true + event: + config: + options: + mode: 2 + batchSize: 1 + pollFrequency: 10 + recursiveTimeout: 100 + messageCharset: 'utf8' + messageAsJSON: true + sync: true + consumeTimeout: 1000 + rdkafkaConf: + socket_keepalive_enable: true + deferredsettlement: + close: + config: + options: + mode: 2 + batchSize: 1 + pollFrequency: 10 + recursiveTimeout: 100 + messageCharset: 'utf8' + messageAsJSON: true + sync: true + consumeTimeout: 1000 + rdkafkaConf: + socket_keepalive_enable: true + producer: + notification: + event: + config: + options: + messageCharset: 'utf8' + rdkafkaConf: + event_cb: true + compression_codec: 'none' + retry_backoff_ms: 100 + message_send_max_retries: 2 + socket_keepalive_enable: true + batch_num_messages: 100 + dr_cb: false + socket_blocking_max_ms: 1 + queue_buffering_max_ms: 1 + broker_version_fallback: '0.10.1.0' + api_version_request: true + topicConf: + request_required_acks: 'all' + partitioner: 'murmur2_random' + deferredsettlement: + close: + config: + options: + messageCharset: 'utf8' + rdkafkaConf: + event_cb: true + dr_cb: true + socket_keepalive_enable: true + topicConf: + request_required_acks: "all" + partitioner: 'murmur2_random' + ## DB Configuration + # db_type can either be 'postgres' or 'mysql'. Ensure the correct DB is enabled and configured below: postgresql.enabled or mysql.enabled + db_type: 'mysql' + # db_driver can either be 'pg' or 'mysql'. Ensure the correct corresponding db_type above has been set. + db_driver: 'mysql' + db_host: '$release_name-centralledger-mysql' + db_port: 3306 + db_user: central_ledger + db_password: oyMxgZChuu + db_database: central_ledger + db_connection_pool_min: 10 + db_connection_pool_max: 30 + db_acquire_timeout_millis: 30000 + db_create_timeout_millis: 30000 + db_destroy_timeout_millis: 5000 + db_idle_timeout_millis: 30000 + db_reap_interval_millis: 1000 + db_create_retry_interval_millis: 200 + db_debug: false + # Api Handler Configuration + handlers: + disabled: false + api: + disabled: false + # Settlement Window aggregation Configuration + window_aggregation: + retry_count: 3 + retry_interval: 3000 + hub_participant: + id: 1 + name: Hub + + ## Log config + log_level: info + log_transport: file + + ## Tracing Configuration + event_trace_vendor: mojaloop + event_log_filter: 'audit:*, log:warn, log:error' + # If set to true, only the metadata object from the event will be printed. + event_log_metadata_only: false + # A comma-separated list of events that should return immediately instead of waiting for the event promises to resolve + # Any combination of: `log,audit,trace` + event_async_override: 'log,trace' + event_trace_state_enabled: true + event_traceid_per_vendor: false + + ## Error Handling + error_handling: + include_cause_extension: false + truncate_extensions: true + + rules: + ## The rules object defines rules files represented as key-value pairs. These rules will be executed per commited transfer. + ## Expected key-value format for the rules object: + ## nameOfFile.js: fileContents + ## See below example of interchange fee rule. + + ## Default Empty Script - This is required as the rule engine requires a rule-file to function properly. + ## Note: Uncomment this and comment-out the interchangeFeeCalculation.js below is you wish to enable CGS processing but do not want Interchange Fee processing. + # defaultEmptyScript.js: | + # // ******************************************************** + # // Name: Default Empty Rule + # // Type: notification + # // Action: commit + # // Status: success + # // Start: 2020-06-01T00:00:00.000Z + # // End: 2100-12-31T23:59:59.999Z + # // Description: This is empty rules script + # // ******************************************************** + ## Globals: + # // payload: The contents of the message from the Kafka topic. + # // transfer: The transfer object. + # // # Functions: + ## Data retrieval functions: + # // getTransfer(transferId): Retrieves a mojaloop transfer from the central-ledger API. + ## Helper functions: + # // getExtensionValue(list, key): Gets a value from an extension list + # // log(message): allows the script to log to standard out for debugging purposes + # // Math functions: + # // multiply(number1, number2, decimalPlaces): Uses ml-number to handle multiplication of money values + # // Ledger functions: + # // addLedgerEntry: Adds a debit and credit ledger entry to the specified account to the specified DFSPs + # log('Running - DEFAULT EMPTY RULES SCRIPT') + + ## Interchange Fee Calculation Script - Ensure that a settlementModel (refer to the associated tagged release on https://github.com/mojaloop/postman for an example) is created for the ledgerAccounType "INTERCHANGE_FEE". + ## Note: Uncomment this is you wish to enable CGS processing but also want Interchange Fee processing. + interchangeFeeCalculation.js: | + /* eslint-disable no-undef */ + // ******************************************************** + // Name: Interchange fee calculation + // Type: notification + // Action: commit + // Status: success + // Start: 2020-06-01T00:00:00.000Z + // End: 2100-12-31T23:59:59.999Z + // Description: This script calculates the interchange fees between DFSPs where the account type is "Wallet" + // ******************************************************** + + ## Globals: + // payload: The contents of the message from the Kafka topic. + // transfer: The transfer object. + + // # Functions: + ## Data retrieval functions: + // getTransfer(transferId): Retrieves a mojaloop transfer from the central-ledger API. + + ## Helper functions: + // getExtensionValue(list, key): Gets a value from an extension list + // log(message): allows the script to log to standard out for debugging purposes + + // Math functions: + // multiply(number1, number2, decimalPlaces): Uses ml-number to handle multiplication of money values + + // Ledger functions: + // addLedgerEntry: Adds a debit and credit ledger entry to the specified account to the specified DFSPs + + log('Running - interchangeFeeCalculation') + + log(JSON.stringify(transfer)) + const payerFspId = transfer.payer.partyIdInfo.fspId + const payeeFspId = transfer.payee.partyIdInfo.fspId + + if ((payeeFspId !== payerFspId) && + (transfer.payee.partyIdInfo.extensionList && // WORKAROUND for issue #2149 + transfer.payer.partyIdInfo.extensionList && // WORKAROUND for issue #2149 + transfer.payee.partyIdInfo.extensionList.extension && // WORKAROUND for issue #2149 + transfer.payer.partyIdInfo.extensionList.extension) && // WORKAROUND for issue #2149 + (getExtensionValue(transfer.payee.partyIdInfo.extensionList.extension, 'accountType') === 'Wallet' && + getExtensionValue(transfer.payer.partyIdInfo.extensionList.extension, 'accountType') === 'Wallet') && + (transfer.transactionType.scenario === 'TRANSFER' && + transfer.transactionType.initiator === 'PAYER' && + transfer.transactionType.initiatorType === 'CONSUMER')) { + log(`Adding an interchange fee for Wallet to Wallet from ${payerFspId} to ${payeeFspId}`) + addLedgerEntry(payload.id, 'INTERCHANGE_FEE', // Ledger account type Id + 'INTERCHANGE_FEE', // Ledger entry type Id + multiply(transfer.amount.amount, 0.006, 2), + transfer.amount.currency, + payerFspId, + payeeFspId) + } + + init: + enabled: true + mysql: + name: wait-for-mysql + repository: mysql + tag: 8.0.30 + pullPolicy: IfNotPresent + command: "until result=$(mysql -h $db_host -P $db_port -u $db_user --password=$db_password $db_database -ss -N -e 'select is_locked from migration_lock;') && eval 'echo is_locked=$result' && if [ -z $result ]; then false; fi && if [ $result -ne 0 ]; then false; fi; do echo waiting for MySQL; sleep 2; done;" + kafka: + name: wait-for-kafka + repository: solsson/kafka + tag: 2.8.1 + pullPolicy: IfNotPresent + command: "until ./bin/kafka-broker-api-versions.sh --bootstrap-server $kafka_host:$kafka_port; do echo waiting for Kafka; sleep 2; done;" + env: {} + service: + type: ClusterIP + ports: + api: + name: http-api + externalPort: 80 + internalPort: 3007 + annotations: {} + + # This allows one to point the service to an external backend. + # This is useful for local development where one wishes to hijack + # the communication from the service to the node layer and point + # to a specific endpoint (IP, Port, etc). + external: + enabled: false + # 10.0.2.2 is the magic IP for the host on virtualbox's network + ip: 10.0.2.2 + ports: + api: + name: http-api + externalPort: 3007 + ingress: + enabled: true + ## @param ingress.pathType Ingress path type + ## + pathType: ImplementationSpecific + ## @param ingress.apiVersion Force Ingress API version (automatically detected if not set) + ## + apiVersion: + ## @param ingress.hostname Default host for the ingress record + ## + hostname: central-settlement-grosssettlement.local + ## @param servicePort : port for the service + ## + servicePort: 80 + ## @param ingress.path Default path for the ingress record + ## NOTE: You may need to set this to '/*' in order to use this with ALB ingress controllers + path: / + ## @param ingress.annotations Additional custom annotations for the ingress record + ## NOTE: If `ingress.certManager=true`, annotation `kubernetes.io/tls-acme: "true"` will automatically be added + ## + annotations: + ## @param ingress.tls Enable TLS configuration for the host defined at `ingress.hostname` parameter + ## TLS certificates will be retrieved from a TLS secret with name: `{{- printf "%s-tls" .Values.ingress.hostname }}` + ## You can: + ## - Use the `ingress.secrets` parameter to create this TLS secret + ## - Relay on cert-manager to create it by setting `ingress.certManager=true` + ## - Relay on Helm to create self-signed certificates by setting `ingress.selfSigned=true` + ## + tls: false + ## @param ingress.certManager Add the corresponding annotations for cert-manager integration + ## + certManager: false + ## @param ingress.selfSigned Create a TLS secret for this ingress record using self-signed certificates generated by Helm + ## + selfSigned: false + ## @param ingress.extraHosts An array with additional hostname(s) to be covered with the ingress record + ## e.g: + ## extraHosts: + ## - name: transfer-api-svc.local + ## path: / + ## + extraHosts: + extraPaths: + extraTls: + secrets: + className: "nginx" + ## + resources: {} + # We usually recommend not to specify default resources and to leave this as a conscious + # choice for the user. This also increases chances charts run on environments with little + # resources, such as Minikube. If you do want to specify resources, uncomment the following + # lines, adjust them as necessary, and remove the curly braces after 'resources:'. + # limits: + # cpu: 100m + # memory: 128Mi + # requests: + # cpu: 100m + # memory: 128Mi + + centraleventprocessor: + replicaCount: 1 + image: + repository: mojaloop/central-event-processor + tag: v12.0.0 + pullPolicy: IfNotPresent + init: + enabled: true + kafka: + name: wait-for-kafka + repository: solsson/kafka + tag: 2.8.1 + pullPolicy: IfNotPresent + command: "until ./bin/kafka-broker-api-versions.sh --bootstrap-server $kafka_host:$kafka_port; do echo waiting for Kafka; sleep 2; done;" + env: {} + ## Env example + # env: + # envItem1: + # name: hello + # value: world + # + mongodb: + name: wait-for-mongodb + repository: bitnami/mongodb + tag: 6.0.1 + pullPolicy: IfNotPresent + command: "mongosh mongodb://$mongo_host:$mongo_port --eval \"db.adminCommand('ping')\"" + + service: + name: central-event-processor + type: ClusterIP + externalPort: 80 + internalPort: 3080 + + annotations: {} + + # This allows one to point the service to an external backend. + # This is useful for local development where one wishes to hijack + # the communication from the service to the node layer and point + # to a specific endpoint (IP, Port, etc). + external: + enabled: false + # 10.0.2.2 is the magic IP for the host on virtualbox's network + ip: 10.0.2.2 + ports: + api: + name: central-event-processor + externalPort: 3080 + + readinessProbe: + enabled: true + httpGet: + path: /health + initialDelaySeconds: 30 + periodSeconds: 15 + + livenessProbe: + enabled: true + httpGet: + path: /health + initialDelaySeconds: 30 + periodSeconds: 15 + + ingress: + enabled: true + ## @param ingress.pathType Ingress path type + ## + pathType: ImplementationSpecific + ## @param ingress.apiVersion Force Ingress API version (automatically detected if not set) + ## + apiVersion: + ## @param ingress.hostname Default host for the ingress record + ## + hostname: central-event-processor.local + ## @param servicePort : port for the service + ## + servicePort: 80 + ## @param ingress.path Default path for the ingress record + ## NOTE: You may need to set this to '/*' in order to use this with ALB ingress controllers + path: / + ## @param ingress.annotations Additional custom annotations for the ingress record + ## NOTE: If `ingress.certManager=true`, annotation `kubernetes.io/tls-acme: "true"` will automatically be added + ## + annotations: + ## @param ingress.tls Enable TLS configuration for the host defined at `ingress.hostname` parameter + ## TLS certificates will be retrieved from a TLS secret with name: `{{- printf "%s-tls" .Values.ingress.hostname }}` + ## You can: + ## - Use the `ingress.secrets` parameter to create this TLS secret + ## - Relay on cert-manager to create it by setting `ingress.certManager=true` + ## - Relay on Helm to create self-signed certificates by setting `ingress.selfSigned=true` + ## + tls: false + ## @param ingress.certManager Add the corresponding annotations for cert-manager integration + ## + certManager: false + ## @param ingress.selfSigned Create a TLS secret for this ingress record using self-signed certificates generated by Helm + ## + selfSigned: false + ## @param ingress.extraHosts An array with additional hostname(s) to be covered with the ingress record + ## e.g: + ## extraHosts: + ## - name: transfer-api-svc.local + ## path: / + ## + extraHosts: + extraPaths: + extraTls: + secrets: + className: "nginx" + ## + + resources: {} + # We usually recommend not to specify default resources and to leave this as a conscious + # choice for the user. This also increases chances charts run on environments with little + # resources, such as Minikube. If you do want to specify resources, uncomment the following + # lines, adjust them as necessary, and remove the curly braces after 'resources:'. + # limits: + # cpu: 100m + # memory: 128Mi + # requests: + # cpu: 100m + # memory: 128Mi + + config: + ## Kafka Configuration + # this can be set if the dependency chart for kafka is disabled. If 'kafka_host' is commented out, then the name of the dependency chart will be used. + kafka_host: '$release_name-kafka' + kafka_port: 9092 + PORT: 3080 + mongo_host: '$release_name-cep-mongodb' + mongo_port: 27017 + mongo_user: mojaloop + mongo_password: password + mongo_database: mojaloop + central_ledger_admin_host: '$release_name-centralledger-service' + central_ledger_admin_port: 80 + hub_participant: + name: Hub + log_level: info + log_transport: file + + mongodb: + enabled: true + ## @param nameOverride String to partially override mongodb.fullname template (will maintain the release name) + ## + nameOverride: cep-mongodb + ## @param architecture MongoDB(®) architecture (`standalone` or `replicaset`) + ## + architecture: standalone + ## @param useStatefulSet Set to true to use a StatefulSet instead of a Deployment (only when `architecture=standalone`) + ## + useStatefulSet: false + ## MongoDB(®) Authentication parameters + ## + auth: + ## @param auth.enabled Enable authentication + ## ref: https://docs.mongodb.com/manual/tutorial/enable-authentication/ + ## + enabled: true + ## @param auth.rootUser MongoDB(®) root user + ## + rootUser: root + ## @param auth.rootPassword MongoDB(®) root password + ## ref: https://github.com/bitnami/bitnami-docker-mongodb/blob/master/README.md#setting-the-root-password-on-first-run + ## + rootPassword: adminpass + ## MongoDB(®) custom users and databases + ## ref: https://github.com/bitnami/bitnami-docker-mongodb/blob/master/README.md#creating-users-and-databases-on-first-run + ## @param auth.usernames List of custom users to be created during the initialization + ## @param auth.passwords List of passwords for the custom users set at `auth.usernames` + ## @param auth.databases List of custom databases to be created during the initialization + ## + usernames: + - 'mojaloop' + passwords: + - 'password' + databases: + - 'mojaloop' + ## @param auth.replicaSetKey Key used for authentication in the replicaset (only when `architecture=replicaset`) + ## + replicaSetKey: "" + ## @param auth.existingSecret Existing secret with MongoDB(®) credentials (keys: `mongodb-passwords`, `mongodb-root-password`, `mongodb-metrics-password`, ` mongodb-replica-set-key`) + ## NOTE: When it's set the previous parameters are ignored. + ## + existingSecret: "" + tls: + ## @param tls.enabled Enable MongoDB(®) TLS support between nodes in the cluster as well as between mongo clients and nodes + ## + enabled: false + ## @param tls.autoGenerated Generate a custom CA and self-signed certificates + ## + autoGenerated: true + ## @param tls.existingSecret Existing secret with TLS certificates (keys: `mongodb-ca-cert`, `mongodb-ca-key`, `client-pem`) + ## NOTE: When it's set it will disable certificate creation + ## + existingSecret: "" + ## Add Custom CA certificate + ## @param tls.caCert Custom CA certificated (base64 encoded) + ## @param tls.caKey CA certificate private key (base64 encoded) + ## + caCert: "" + caKey: "" + +ml-api-adapter: + enabled: true + + ml-api-adapter-service: + enabled: true + # Default values for ml-api-adapter. + # This is a YAML-formatted file. + # Declare variables to be passed into your templates. + replicaCount: 1 + image: + repository: mojaloop/ml-api-adapter + tag: v14.0.0 + command: '["node", "src/api/index.js"]' + ## Optionally specify an array of imagePullSecrets. + ## Secrets must be manually created in the namespace. + ## ref: https://kubernetes.io/docs/concepts/containers/images/#specifying-imagepullsecrets-on-a-pod + ## + # imagePullSecrets: + # - name: myregistrykey + pullPolicy: IfNotPresent + + ## Pod scheduling preferences. + ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity + affinity: {} + + ## Node labels for pod assignment + ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector + nodeSelector: {} + + ## Set toleration for scheduler + ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ + tolerations: [] + + sidecar: + enabled: true + image: + repository: mojaloop/event-sidecar + tag: v12.0.0 + pullPolicy: IfNotPresent + readinessProbe: + enabled: true + initialDelaySeconds: 120 + periodSeconds: 15 + livenessProbe: + enabled: true + initialDelaySeconds: 90 + periodSeconds: 15 + config: + log_level: info + + init: + enabled: true + image: + name: wait-for-kafka + repository: solsson/kafka + tag: 2.8.1 + pullPolicy: IfNotPresent + command: "until ./bin/kafka-broker-api-versions.sh --bootstrap-server $kafka_host:$kafka_port; do echo waiting for Kafka; sleep 2; done;" + env: {} + ## Env example + # env: + # envItem1: + # name: hello + # value: world + # + + ## metric configuration for prometheus instrumentation + metrics: + ## flag to enable/disable the metrics end-points + enabled: true + + config: + # this can be set if the dependency chart for kafka is disabled. If 'kafka_host' is commented out, then the name of the dependency chart will be used. + kafka_host: '$release_name-kafka' + kafka_port: 9092 + central_services_host: '$release_name-centralledger-service' + central_services_port: 80 + security: + callback: + rejectUnauthorized: true + max_callback_time_lag_dilation_milliseconds: 100 + max_fulfil_timeout_duration_seconds: 240 + + # Protocol versions used for validating (VALIDATELIST) incoming FSPIOP API Headers (Content-type, Accept), + # and for generating requests/callbacks from the Switch itself (DEFAULT value) + protocol_versions: { + "CONTENT": { + "DEFAULT": "1.1", + "VALIDATELIST": [ + "1", + "1.0", + "1.1" + ] + }, + "ACCEPT": { + "DEFAULT": "1", + "VALIDATELIST": [ + "1", + "1.0", + "1.1" + ] + } +} + ## Log Configuration + log_level: info + log_filter: 'error, warn, info' + log_transport: file + + ## Tracing Configuration + event_trace_vendor: mojaloop + event_log_filter: 'audit:*, log:warn, log:error' + # If set to true, only the metadata object from the event will be printed. + event_log_metadata_only: false + # A comma-separated list of events that should return immediately instead of waiting for the event promises to resolve + # Any combination of: `log,audit,trace` + event_async_override: 'log,trace' + + ## Error handling Configuration + error_handling: + include_cause_extension: false + truncate_extensions: true + + service: + type: ClusterIP + externalPort: 80 + internalPort: 3000 + + ingress: + enabled: true + ## @param ingress.pathType Ingress path type + ## + pathType: ImplementationSpecific + ## @param ingress.apiVersion Force Ingress API version (automatically detected if not set) + ## + apiVersion: + ## @param ingress.hostname Default host for the ingress record + ## + hostname: ml-api-adapter.local + ## @param servicePort : port for the service + ## + servicePort: 80 + ## @param ingress.path Default path for the ingress record + ## NOTE: You may need to set this to '/*' in order to use this with ALB ingress controllers + path: / + ## @param ingress.annotations Additional custom annotations for the ingress record + ## NOTE: If `ingress.certManager=true`, annotation `kubernetes.io/tls-acme: "true"` will automatically be added + ## + annotations: + ## @param ingress.tls Enable TLS configuration for the host defined at `ingress.hostname` parameter + ## TLS certificates will be retrieved from a TLS secret with name: `{{- printf "%s-tls" .Values.ingress.hostname }}` + ## You can: + ## - Use the `ingress.secrets` parameter to create this TLS secret + ## - Relay on cert-manager to create it by setting `ingress.certManager=true` + ## - Relay on Helm to create self-signed certificates by setting `ingress.selfSigned=true` + ## + tls: false + ## @param ingress.certManager Add the corresponding annotations for cert-manager integration + ## + certManager: false + ## @param ingress.selfSigned Create a TLS secret for this ingress record using self-signed certificates generated by Helm + ## + selfSigned: false + ## @param ingress.extraHosts An array with additional hostname(s) to be covered with the ingress record + ## e.g: + ## extraHosts: + ## - name: transfer-api-svc.local + ## path: / + ## + extraHosts: + extraPaths: + extraTls: + secrets: + className: "nginx" + ## + resources: {} + # We usually recommend not to specify default resources and to leave this as a conscious + # choice for the user. This also increases chances charts run on environments with little + # resources, such as Minikube. If you do want to specify resources, uncomment the following + # lines, adjust them as necessary, and remove the curly braces after 'resources:'. + # limits: + # cpu: 100m + # memory: 128Mi + # requests: + # cpu: 100m + # memory: 128Mi + + ml-api-adapter-handler-notification: + enabled: true + # Default values for ml-api-adapter. + # This is a YAML-formatted file. + # Declare variables to be passed into your templates. + replicaCount: 1 + image: + repository: mojaloop/ml-api-adapter + tag: v14.0.0 + command: '["node", "src/handlers/index.js", "handler", "--notification"]' + ## Optionally specify an array of imagePullSecrets. + ## Secrets must be manually created in the namespace. + ## ref: https://kubernetes.io/docs/concepts/containers/images/#specifying-imagepullsecrets-on-a-pod + ## + # imagePullSecrets: + # - name: myregistrykey + pullPolicy: IfNotPresent + + ## Pod scheduling preferences. + ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity + affinity: {} + + ## Node labels for pod assignment + ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector + nodeSelector: {} + + ## Set toleration for scheduler + ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ + tolerations: [] + + sidecar: + enabled: true + image: + repository: mojaloop/event-sidecar + tag: v12.0.0 + pullPolicy: IfNotPresent + readinessProbe: + enabled: true + initialDelaySeconds: 120 + periodSeconds: 15 + livenessProbe: + enabled: true + initialDelaySeconds: 90 + periodSeconds: 15 + config: + log_level: info + + init: + enabled: true + + ## metric configuration for prometheus instrumentation + metrics: + ## flag to enable/disable the metrics end-points + enabled: true + + config: + # this can be set if the dependency chart for kafka is disabled. If 'kafka_host' is commented out, then the name of the dependency chart will be used. + kafka_host: '$release_name-kafka' + kafka_port: 9092 + central_services_host: '$release_name-centralledger-service' + central_services_port: 80 + security: + callback: + rejectUnauthorized: true + max_callback_time_lag_dilation_milliseconds: 100 + max_fulfil_timeout_duration_seconds: 240 + + # Protocol versions used for validating (VALIDATELIST) incoming FSPIOP API Headers (Content-type, Accept), + # and for generating requests/callbacks from the Switch itself (DEFAULT value) + protocol_versions: { + "CONTENT": { + "DEFAULT": "1.1", + "VALIDATELIST": [ + "1", + "1.0", + "1.1" + ] + }, + "ACCEPT": { + "DEFAULT": "1", + "VALIDATELIST": [ + "1", + "1.0", + "1.1" + ] + } +} + ## Endpoint Cache Configuration + endpoint_cache_expiresInMs: 180000 + endpoint_cache_generateTimeoutMs: 30000 + + ## Send callback confirmation to PayeeFSP in addition to the Mojaloop v1.0 Spec Callback to PayerFSP + send_transfer_confirmation_to_payee: false + + ## Log Configuration + log_level: info + log_filter: 'error, warn, info' + log_transport: file + + ## Tracing Configuration + event_trace_vendor: mojaloop + event_log_filter: 'audit:*, log:warn, log:error' + # If set to true, only the metadata object from the event will be printed. + event_log_metadata_only: false + # A comma-separated list of events that should return immediately instead of waiting for the event promises to resolve + # Any combination of: `log,audit,trace` + event_async_override: 'log,trace' + + # Parameters for JWS signing requests generated by ml-api-adapter + endpointSecurity: + jwsSign: true + fspiopSourceSigningName: 'switch' + # jwsSigningKey: + # To generate this key: + # Private: + # ssh-keygen -t rsa -b 4096 -m PEM -f jwtRS256.key + # Public: + # openssl rsa -in jwtRS256.key -pubout -outform PEM -out jwtRS256.key.pub + # Should look like: + # -----BEGIN RSA PRIVATE KEY----- + # MIIJKQIBAAKCAgEAxfqaZivMPd4MpdBHu0jVMf3MSuSdkSMHn+sNJdDQfl+x4R5R + # .. + # .. + # mBynFpdjO0D3PnLKjnBDn1vFAfANOwVpGXCw5mn+484A/SIXYebWruFd03g4 + # -----END RSA PRIVATE KEY----- + # The following is an example key and shouldn't be used in production + jwsSigningKey: |- + -----BEGIN PRIVATE KEY----- + MIIEugIBADANBgkqhkiG9w0BAQEFAASCBKQwggSgAgEAAoIBAQDuB5HuHRH5BqI/ + VAC/ixm6lz8kJmigIB5jMxLrhB9cgqM+pb0O+is88VRHdxtw8eKG3nvrZYy/4nsJ + z32qo4sOIMqHWTlZgbURVK4FAUEZ/qn63UnXJ1YVqT4UGg31BBj2c1JdlxG2t4JV + DvzGrI2/ia/t4gYZCWrQz6a8OClBIaXu2t6EGFnysyS+1YDWtNIHO+z0lvAY9oad + 5MZPHN51o04eIoLO0tPfkz0+NDs4ECwUWuFAg8yo1hxnvSoERiCAwEbFgq2wDe1+ + oBhOpusd4VastD/TEqO8RhrwTodddOMKzapJPrQJuvTkrpkmkPOGE8DgIVHsULLR + UYEMKvTVAgMBAAECgf94Meq77xrcFg8sSqe5eNHYP39tvaWyqE7mY/slvpNDH5Pl + D/p21akS156E32BEJuYPk/TLiI2kMWjnvbHvNgr9tq8x3ToyTjtrg5clq8Hr1Ozo + FnFiqkVHMFPFPQZEVU64CQPA33DixuWjMWS3YINfCAinErBry0PiNZGmuFi1K/wy + e1z2F9WfG3IEBEe3NaeXwN55ZPJve0LtneJy3YqNwMg2FpPKBRHFV4lKTaU/hqhC + NK6HQoEXN4Y9AQHn53Fl8n0iNO3qx0Tb7EuGNFmZ2xTlpDKAp8M+BA5Qm5YDkbd6 + OoxbGj2YxZncbG+RsvICtVMLqIytubvYREY9WGkCgYEA+K64xhJzWV3cGc8/90ko + TryGMBj1ly5TNa1YyOQxl5z4Glc0aI8a+1vJGEAA+c/OEhMR8MRn3+QfV2LJOI5X + V8Zo2Ger6Ln99LBddTh2HXL3M60cMgs8MYGuJ75g5R/UHnJBLo7NFyVddCOMT3hc + AYSDN3XCw9ycqTw2/mJHB9kCgYEA9QiaCfTtnXdjMqLeYbp2uQEyyO6IZs956ym7 + sEQMwx/3wnlE9eiJ6iQxZfddkfOCyV/4MMAlYfpTBQFg7Cwb32Xrv3Ezy0HfZrnt + 5Nj4SVQWuOXJhdfC9dmTF+cvBeP+vC6PyDbikxdCo9+05chxS7I3MLxCue4qxy0C + QfQIE10CgYA+kHacHng2u45sT9/f7t/dL0DzSNRAvL7iekIkCIURh8RDnDzrMVWw + d18YYsHcF5PYqEOTN1aK1XGtIoVNXUJMKvaluy9c1a42qUhZ/WJ59jqLHbpCPOFf + 8yhFh3gJLQDIyCXt+K9Qa24fkfHy7Gz5VMVOZqohbJddXHDZfxAvwQKBgAdU947+ + tjF1BhHYz8Cq3KySfZuHj6tL4AEKYaRXlO4twbMe/9I/4AiShqvfZ/xbBfnSllGX + Hkc9P0iyDt1iQH9BxHkZAQy+7tlbDORBHcTL8FYeAhawKxRCK2WWtFB/zvqAhire + gY8XLhZLNlV91u4F6iLaL0DzAHKvRRcGH0u9AoGATNigZgbRRHJC21JucHeE0tP7 + HjGALvb4qn1o0oDHsxNY8i6vVNw9YeQpZaJhceuRHJTGcsq2dJSXpYwIhIVs/8RK + bKbkEndra96L6FRZN8LYBl8zbRUPx39ojGeSbFliQv1eaoA/1DDhCiC2NlcSmbJl + ecaG/Oyo/S+eM8nR7mc= + -----END PRIVATE KEY----- + + ## Error handling Configuration + error_handling: + include_cause_extension: false + truncate_extensions: true + + service: + type: ClusterIP + externalPort: 80 + internalPort: 3000 + + ingress: + enabled: true + ## @param ingress.pathType Ingress path type + ## + pathType: ImplementationSpecific + ## @param ingress.apiVersion Force Ingress API version (automatically detected if not set) + ## + apiVersion: + ## @param ingress.hostname Default host for the ingress record + ## + hostname: ml-api-adapter-notification.local + ## @param servicePort : port for the service + ## + servicePort: 80 + ## @param ingress.path Default path for the ingress record + ## NOTE: You may need to set this to '/*' in order to use this with ALB ingress controllers + path: / + ## @param ingress.annotations Additional custom annotations for the ingress record + ## NOTE: If `ingress.certManager=true`, annotation `kubernetes.io/tls-acme: "true"` will automatically be added + ## + annotations: + ## @param ingress.tls Enable TLS configuration for the host defined at `ingress.hostname` parameter + ## TLS certificates will be retrieved from a TLS secret with name: `{{- printf "%s-tls" .Values.ingress.hostname }}` + ## You can: + ## - Use the `ingress.secrets` parameter to create this TLS secret + ## - Relay on cert-manager to create it by setting `ingress.certManager=true` + ## - Relay on Helm to create self-signed certificates by setting `ingress.selfSigned=true` + ## + tls: false + ## @param ingress.certManager Add the corresponding annotations for cert-manager integration + ## + certManager: false + ## @param ingress.selfSigned Create a TLS secret for this ingress record using self-signed certificates generated by Helm + ## + selfSigned: false + ## @param ingress.extraHosts An array with additional hostname(s) to be covered with the ingress record + ## e.g: + ## extraHosts: + ## - name: transfer-api-svc.local + ## path: / + ## + extraHosts: + extraPaths: + extraTls: + secrets: + className: "nginx" + ## + resources: {} + # We usually recommend not to specify default resources and to leave this as a conscious + # choice for the user. This also increases chances charts run on environments with little + # resources, such as Minikube. If you do want to specify resources, uncomment the following + # lines, adjust them as necessary, and remove the curly braces after 'resources:'. + # limits: + # cpu: 100m + # memory: 128Mi + # requests: + # cpu: 100m + # memory: 128Mi + +emailnotifier: + enabled: false + replicaCount: 1 + + image: + repository: mojaloop/email-notifier + tag: v12.0.0 + pullPolicy: IfNotPresent + + init: + enabled: true + kafka: + name: wait-for-kafka + repository: solsson/kafka + tag: 2.8.1 + pullPolicy: IfNotPresent + command: "until ./bin/kafka-broker-api-versions.sh --bootstrap-server $kafka_host:$kafka_port; do echo waiting for Kafka; sleep 2; done;" + env: {} + ## Env example + # env: + # envItem1: + # name: hello + # value: world + + config: + ## Kafka Configuration + # this can be set if the dependency chart for kafka is disabled. If 'kafka_host' is commented out, then the name of the dependency chart will be used. + kafka_host: '$release_name-kafka' + kafka_port: 9092 + email: + host: 'smtp.gmail.com' + port: 587 + # secure_connection: false + user: 'user@gmail.com' + pass: 'pass' + ciphers: 'SSLv3' + PORT: 3081 + hub_participant: + name: Hub + log_level: 'info' + log_transport: 'file' + + service: + name: email-notifier + type: ClusterIP + externalPort: 80 + internalPort: 3081 + + annotations: {} + + # This allows one to point the service to an external backend. + # This is useful for local development where one wishes to hijack + # the communication from the service to the node layer and point + # to a specific endpoint (IP, Port, etc). + external: + enabled: false + # 10.0.2.2 is the magic IP for the host on virtualbox's network + ip: 10.0.2.2 + ports: + api: + name: email-notifier + externalPort: 3081 + + readinessProbe: + enabled: true + httpGet: + path: /health + initialDelaySeconds: 30 + periodSeconds: 15 + + livenessProbe: + enabled: true + httpGet: + path: /health + initialDelaySeconds: 30 + periodSeconds: 15 + + ingress: + enabled: true + ## @param ingress.pathType Ingress path type + ## + pathType: ImplementationSpecific + ## @param ingress.apiVersion Force Ingress API version (automatically detected if not set) + ## + apiVersion: + ## @param ingress.hostname Default host for the ingress record + ## + hostname: email-notifier.local + ## @param servicePort : port for the service + ## + servicePort: 80 + ## @param ingress.path Default path for the ingress record + ## NOTE: You may need to set this to '/*' in order to use this with ALB ingress controllers + path: / + ## @param ingress.annotations Additional custom annotations for the ingress record + ## NOTE: If `ingress.certManager=true`, annotation `kubernetes.io/tls-acme: "true"` will automatically be added + ## + annotations: + ## @param ingress.tls Enable TLS configuration for the host defined at `ingress.hostname` parameter + ## TLS certificates will be retrieved from a TLS secret with name: `{{- printf "%s-tls" .Values.ingress.hostname }}` + ## You can: + ## - Use the `ingress.secrets` parameter to create this TLS secret + ## - Relay on cert-manager to create it by setting `ingress.certManager=true` + ## - Relay on Helm to create self-signed certificates by setting `ingress.selfSigned=true` + ## + tls: false + ## @param ingress.certManager Add the corresponding annotations for cert-manager integration + ## + certManager: false + ## @param ingress.selfSigned Create a TLS secret for this ingress record using self-signed certificates generated by Helm + ## + selfSigned: false + ## @param ingress.extraHosts An array with additional hostname(s) to be covered with the ingress record + ## e.g: + ## extraHosts: + ## - name: transfer-api-svc.local + ## path: / + ## + extraHosts: + extraPaths: + extraTls: + secrets: + className: "nginx" + ## + + resources: {} + # We usually recommend not to specify default resources and to leave this as a conscious + # choice for the user. This also increases chances charts run on environments with little + # resources, such as Minikube. If you do want to specify resources, uncomment the following + # lines, adjust them as necessary, and remove the curly braces after 'resources:'. + # limits: + # cpu: 100m + # memory: 128Mi + # requests: + # cpu: 100m + # memory: 128Mi + +account-lookup-service: + enabled: true + + account-lookup-service: + enabled: true + # Default values for account-lookup-service. + # This is a YAML-formatted file. + # Declare variables to be passed into your templates. + + replicaCount: 1 + containers: + api: + image: + repository: mojaloop/account-lookup-service + tag: v14.0.0 + pullPolicy: IfNotPresent + command: '["node", "src/index.js", "server", "--api"]' + service: + ports: + api: + name: http-api + port: 4002 + admin: + image: + repository: mojaloop/account-lookup-service + tag: v14.0.0 + pullPolicy: IfNotPresent + command: '["node", "src/index.js", "server", "--admin"]' + service: + ports: + api: + name: http-admin + port: 4001 + + nameOverride: "" + fullnameOverride: "" + + sidecar: + enabled: true + image: + repository: mojaloop/event-sidecar + tag: v12.0.0 + pullPolicy: IfNotPresent + command: '["npm", "run", "start"]' + service: + internalPort: 4001 + readinessProbe: + enabled: true + httpGet: + path: /health + initialDelaySeconds: 120 + periodSeconds: 15 + livenessProbe: + enabled: true + httpGet: + path: /health + initialDelaySeconds: 90 + periodSeconds: 15 + config: + event_log_grpc_host: localhost + event_log_grpc_port: 50051 + event_log_filter: 'audit:*, log:info, log:warn, log:error' + event_log_metadata_only: true + log_level: info + log_filter: 'error, warn, info' + + ## metric configuration for prometheus instrumentation + metrics: + ## flag to enable/disable the metrics end-points + enabled: true + config: + timeout: 5000 + prefix: moja_ + defaultLabels: + serviceName: account-lookup-service + + config: + ## Central-Ledger config + central_services_host: '$release_name-centralledger-service' + central_services_port: 80 + + # Protocol versions used for validating (VALIDATELIST) incoming FSPIOP API Headers (Content-type, Accept), + # and for generating requests/callbacks from the Switch itself (DEFAULT value) + protocol_versions: { + "CONTENT": { + "DEFAULT": "1.1", + "VALIDATELIST": [ + "1", + "1.0", + "1.1" + ] + }, + "ACCEPT": { + "DEFAULT": "1", + "VALIDATELIST": [ + "1", + "1.0", + "1.1" + ] + } +} + # Log config + log_level: 'info' + log_transport: 'file' + + end_point_cache: + expiresIn: 180000 + generateTimeout: 30000 + + error_handling: + include_cause_extension: false + truncate_extensions: true + + ## DB Configuration + # db_type can either be 'postgres' or 'mysql'. Ensure the correct DB is enabled and configured below: postgresql.enabled or mysql.enabled + db_type: 'mysql' + # db_driver can either be 'pg' or 'mysql'. Ensure the correct corresponding db_type above has been set. + db_driver: 'mysql' + db_host: '$release_name-account-lookup-mysql' + db_port: 3306 + db_user: account_lookup + db_password: OdonPianoX + db_database: account_lookup + db_connection_pool_min: 10 + db_connection_pool_max: 30 + db_acquire_timeout_millis: 30000 + db_create_timeout_millis: 30000 + db_destroy_timeout_millis: 5000 + db_idle_timeout_millis: 30000 + db_reap_interval_millis: 1000 + db_create_retry_interval_millis: 200 + db_debug: false + display_routes: true + run_migrations: false + + endpointSecurity: + jwsSign: true + fspiopSourceSigningName: switch + # jwsSigningKey: + # To generate this key: + # Private: + # ssh-keygen -t rsa -b 4096 -m PEM -f jwtRS256.key + # Public: + # openssl rsa -in jwtRS256.key -pubout -outform PEM -out jwtRS256.key.pub + # Should look like: + # -----BEGIN RSA PRIVATE KEY----- + # MIIJKQIBAAKCAgEAxfqaZivMPd4MpdBHu0jVMf3MSuSdkSMHn+sNJdDQfl+x4R5R + # .. + # .. + # mBynFpdjO0D3PnLKjnBDn1vFAfANOwVpGXCw5mn+484A/SIXYebWruFd03g4 + # -----END RSA PRIVATE KEY----- + # The following is an example key and shouldn't be used in production + jwsSigningKey: |- + -----BEGIN PRIVATE KEY----- + MIIEugIBADANBgkqhkiG9w0BAQEFAASCBKQwggSgAgEAAoIBAQDuB5HuHRH5BqI/ + VAC/ixm6lz8kJmigIB5jMxLrhB9cgqM+pb0O+is88VRHdxtw8eKG3nvrZYy/4nsJ + z32qo4sOIMqHWTlZgbURVK4FAUEZ/qn63UnXJ1YVqT4UGg31BBj2c1JdlxG2t4JV + DvzGrI2/ia/t4gYZCWrQz6a8OClBIaXu2t6EGFnysyS+1YDWtNIHO+z0lvAY9oad + 5MZPHN51o04eIoLO0tPfkz0+NDs4ECwUWuFAg8yo1hxnvSoERiCAwEbFgq2wDe1+ + oBhOpusd4VastD/TEqO8RhrwTodddOMKzapJPrQJuvTkrpkmkPOGE8DgIVHsULLR + UYEMKvTVAgMBAAECgf94Meq77xrcFg8sSqe5eNHYP39tvaWyqE7mY/slvpNDH5Pl + D/p21akS156E32BEJuYPk/TLiI2kMWjnvbHvNgr9tq8x3ToyTjtrg5clq8Hr1Ozo + FnFiqkVHMFPFPQZEVU64CQPA33DixuWjMWS3YINfCAinErBry0PiNZGmuFi1K/wy + e1z2F9WfG3IEBEe3NaeXwN55ZPJve0LtneJy3YqNwMg2FpPKBRHFV4lKTaU/hqhC + NK6HQoEXN4Y9AQHn53Fl8n0iNO3qx0Tb7EuGNFmZ2xTlpDKAp8M+BA5Qm5YDkbd6 + OoxbGj2YxZncbG+RsvICtVMLqIytubvYREY9WGkCgYEA+K64xhJzWV3cGc8/90ko + TryGMBj1ly5TNa1YyOQxl5z4Glc0aI8a+1vJGEAA+c/OEhMR8MRn3+QfV2LJOI5X + V8Zo2Ger6Ln99LBddTh2HXL3M60cMgs8MYGuJ75g5R/UHnJBLo7NFyVddCOMT3hc + AYSDN3XCw9ycqTw2/mJHB9kCgYEA9QiaCfTtnXdjMqLeYbp2uQEyyO6IZs956ym7 + sEQMwx/3wnlE9eiJ6iQxZfddkfOCyV/4MMAlYfpTBQFg7Cwb32Xrv3Ezy0HfZrnt + 5Nj4SVQWuOXJhdfC9dmTF+cvBeP+vC6PyDbikxdCo9+05chxS7I3MLxCue4qxy0C + QfQIE10CgYA+kHacHng2u45sT9/f7t/dL0DzSNRAvL7iekIkCIURh8RDnDzrMVWw + d18YYsHcF5PYqEOTN1aK1XGtIoVNXUJMKvaluy9c1a42qUhZ/WJ59jqLHbpCPOFf + 8yhFh3gJLQDIyCXt+K9Qa24fkfHy7Gz5VMVOZqohbJddXHDZfxAvwQKBgAdU947+ + tjF1BhHYz8Cq3KySfZuHj6tL4AEKYaRXlO4twbMe/9I/4AiShqvfZ/xbBfnSllGX + Hkc9P0iyDt1iQH9BxHkZAQy+7tlbDORBHcTL8FYeAhawKxRCK2WWtFB/zvqAhire + gY8XLhZLNlV91u4F6iLaL0DzAHKvRRcGH0u9AoGATNigZgbRRHJC21JucHeE0tP7 + HjGALvb4qn1o0oDHsxNY8i6vVNw9YeQpZaJhceuRHJTGcsq2dJSXpYwIhIVs/8RK + bKbkEndra96L6FRZN8LYBl8zbRUPx39ojGeSbFliQv1eaoA/1DDhCiC2NlcSmbJl + ecaG/Oyo/S+eM8nR7mc= + -----END PRIVATE KEY----- + + # Thirdparty API Config + featureEnableExtendedPartyIdType: false + + init: + enabled: true + mysql: + enabled: true + name: wait-for-mysql + repository: mysql + tag: 8.0.30 + pullPolicy: IfNotPresent + command: "until mysql -h $db_host -P $db_port -u $db_user --password=$db_password $db_database -e 'select * from oracleEndpoint;' ; do echo waiting for MySQL; sleep 2; done;" + + service: + type: ClusterIP + port: 80 + + ingress: + enabled: true + ## @param ingress.pathType Ingress path type + ## + pathType: ImplementationSpecific + ## @param ingress.apiVersion Force Ingress API version (automatically detected if not set) + ## + apiVersion: + ## @param ingress.hostname Default host for the ingress record + ## + hostname: account-lookup-service.local + ## @param servicePort : port for the service + ## + servicePort: 4002 + ## @param ingress.path Default path for the ingress record + ## NOTE: You may need to set this to '/*' in order to use this with ALB ingress controllers + path: / + ## @param ingress.annotations Additional custom annotations for the ingress record + ## NOTE: If `ingress.certManager=true`, annotation `kubernetes.io/tls-acme: "true"` will automatically be added + ## + annotations: + ## @param ingress.tls Enable TLS configuration for the host defined at `ingress.hostname` parameter + ## TLS certificates will be retrieved from a TLS secret with name: `{{- printf "%s-tls" .Values.ingress.hostname }}` + ## You can: + ## - Use the `ingress.secrets` parameter to create this TLS secret + ## - Relay on cert-manager to create it by setting `ingress.certManager=true` + ## - Relay on Helm to create self-signed certificates by setting `ingress.selfSigned=true` + ## + tls: false + ## @param ingress.certManager Add the corresponding annotations for cert-manager integration + ## + certManager: false + ## @param ingress.selfSigned Create a TLS secret for this ingress record using self-signed certificates generated by Helm + ## + selfSigned: false + ## @param ingress.extraHosts An array with additional hostname(s) to be covered with the ingress record + ## e.g: + ## extraHosts: + ## - name: transfer-api-svc.local + ## path: / + ## + extraHosts: + extraPaths: + extraTls: + secrets: + className: "nginx" + ## + # - secretName: chart-example-tls + # hosts: + # - chart-example.local + + resources: {} + # We usually recommend not to specify default resources and to leave this as a conscious + # choice for the user. This also increases chances charts run on environments with little + # resources, such as Minikube. If you do want to specify resources, uncomment the following + # lines, adjust them as necessary, and remove the curly braces after 'resources:'. + # limits: + # cpu: 100m + # memory: 128Mi + # requests: + # cpu: 100m + # memory: 128Mi + + nodeSelector: {} + + tolerations: [] + + affinity: {} + + account-lookup-service-admin: + enabled: true + + # Default values for account-lookup-service. + # This is a YAML-formatted file. + # Declare variables to be passed into your templates. + + replicaCount: 1 + containers: + api: + image: + repository: mojaloop/account-lookup-service + tag: v14.0.0 + pullPolicy: IfNotPresent + command: '["node", "src/index.js", "server", "--api"]' + service: + ports: + api: + name: http-api + port: 4002 + admin: + image: + repository: mojaloop/account-lookup-service + tag: v14.0.0 + pullPolicy: IfNotPresent + command: '["node", "src/index.js", "server", "--admin"]' + service: + ports: + api: + name: http-admin + port: 4001 + + nameOverride: "" + fullnameOverride: "" + + sidecar: + enabled: true + image: + repository: mojaloop/event-sidecar + tag: v12.0.0 + pullPolicy: IfNotPresent + command: '["npm", "run", "start"]' + service: + internalPort: 4003 + readinessProbe: + enabled: true + httpGet: + path: /health + initialDelaySeconds: 120 + periodSeconds: 15 + livenessProbe: + enabled: true + httpGet: + path: /health + initialDelaySeconds: 90 + periodSeconds: 15 + config: + event_log_grpc_host: localhost + event_log_grpc_port: 50051 + event_log_filter: 'audit:*, log:info, log:warn, log:error' + event_log_metadata_only: true + log_level: info + log_filter: 'error, warn, info' + + ## metric configuration for prometheus instrumentation + metrics: + ## flag to enable/disable the metrics end-points + enabled: true + config: + timeout: 5000 + prefix: moja_ + defaultLabels: + serviceName: account-lookup-service-admin + + config: + ## Central-Ledger config + central_services_host: '$release_name-centralledger-service' + central_services_port: 80 + + # Protocol versions used for validating (VALIDATELIST) incoming FSPIOP API Headers (Content-type, Accept), + # and for generating requests/callbacks from the Switch itself (DEFAULT value) + protocol_versions: { + "CONTENT": { + "DEFAULT": "1.1", + "VALIDATELIST": [ + "1", + "1.0", + "1.1" + ] + }, + "ACCEPT": { + "DEFAULT": "1", + "VALIDATELIST": [ + "1", + "1.0", + "1.1" + ] + } +} + end_point_cache: + expiresIn: 180000 + generateTimeout: 30000 + + error_handling: + include_cause_extension: false + truncate_extensions: true + + ## DB Configuration + # db_type can either be 'postgres' or 'mysql'. Ensure the correct DB is enabled and configured below: postgresql.enabled or mysql.enabled + db_type: 'mysql' + # db_driver can either be 'pg' or 'mysql'. Ensure the correct corresponding db_type above has been set. + db_driver: 'mysql' + db_host: '$release_name-account-lookup-mysql' + db_port: 3306 + db_user: account_lookup + db_password: OdonPianoX + db_database: account_lookup + db_connection_pool_min: 10 + db_connection_pool_max: 30 + db_acquire_timeout_millis: 30000 + db_create_timeout_millis: 30000 + db_destroy_timeout_millis: 5000 + db_idle_timeout_millis: 30000 + db_reap_interval_millis: 1000 + db_create_retry_interval_millis: 200 + db_debug: false + + endpointSecurity: + jwsSign: false + fspiopSourceSigningName: switch + # jwsSigningKey: + # To generate this key: + # Private: + # ssh-keygen -t rsa -b 4096 -m PEM -f jwtRS256.key + # Public: + # openssl rsa -in jwtRS256.key -pubout -outform PEM -out jwtRS256.key.pub + # Should look like: + # -----BEGIN RSA PRIVATE KEY----- + # MIIJKQIBAAKCAgEAxfqaZivMPd4MpdBHu0jVMf3MSuSdkSMHn+sNJdDQfl+x4R5R + # .. + # .. + # mBynFpdjO0D3PnLKjnBDn1vFAfANOwVpGXCw5mn+484A/SIXYebWruFd03g4 + # -----END RSA PRIVATE KEY----- + # The following is an example key and shouldn't be used in production + jwsSigningKey: + # To generate this key: + # Private: + # ssh-keygen -t rsa -b 4096 -m PEM -f jwtRS256.key + # Public: + # openssl rsa -in jwtRS256.key -pubout -outform PEM -out jwtRS256.key.pub + # Should look like: + # -----BEGIN RSA PRIVATE KEY----- + # MIIJKQIBAAKCAgEAxfqaZivMPd4MpdBHu0jVMf3MSuSdkSMHn+sNJdDQfl+x4R5R + # .. + # .. + # mBynFpdjO0D3PnLKjnBDn1vFAfANOwVpGXCw5mn+484A/SIXYebWruFd03g4 + # -----END RSA PRIVATE KEY----- + + + display_routes: true + run_migrations: false + + # Log config + log_level: 'info' + log_transport: 'file' + + # Thirdparty API Config + featureEnableExtendedPartyIdType: false + + init: + enabled: true + mysql: + name: wait-for-mysql + repository: mysql + tag: 8.0.30 + pullPolicy: IfNotPresent + command: "until mysql -h $db_host -P $db_port -u $db_user --password=$db_password $db_database -e 'select version()' ; do echo waiting for MySQL; sleep 2; done;" + + service: + type: ClusterIP + port: 80 + + ingress: + enabled: true + ## @param ingress.pathType Ingress path type + ## + pathType: ImplementationSpecific + ## @param ingress.apiVersion Force Ingress API version (automatically detected if not set) + ## + apiVersion: + ## @param ingress.hostname Default host for the ingress record + ## + hostname: account-lookup-service-admin.local + ## @param servicePort : port for the service + ## + servicePort: 4002 + ## @param ingress.path Default path for the ingress record + ## NOTE: You may need to set this to '/*' in order to use this with ALB ingress controllers + path: / + ## @param ingress.annotations Additional custom annotations for the ingress record + ## NOTE: If `ingress.certManager=true`, annotation `kubernetes.io/tls-acme: "true"` will automatically be added + ## + annotations: + ## @param ingress.tls Enable TLS configuration for the host defined at `ingress.hostname` parameter + ## TLS certificates will be retrieved from a TLS secret with name: `{{- printf "%s-tls" .Values.ingress.hostname }}` + ## You can: + ## - Use the `ingress.secrets` parameter to create this TLS secret + ## - Relay on cert-manager to create it by setting `ingress.certManager=true` + ## - Relay on Helm to create self-signed certificates by setting `ingress.selfSigned=true` + ## + tls: false + ## @param ingress.certManager Add the corresponding annotations for cert-manager integration + ## + certManager: false + ## @param ingress.selfSigned Create a TLS secret for this ingress record using self-signed certificates generated by Helm + ## + selfSigned: false + ## @param ingress.extraHosts An array with additional hostname(s) to be covered with the ingress record + ## e.g: + ## extraHosts: + ## - name: transfer-api-svc.local + ## path: / + ## + extraHosts: + extraPaths: + extraTls: + secrets: + className: "nginx" + ## + # - secretName: chart-example-tls + # hosts: + # - chart-example.local + + resources: {} + # We usually recommend not to specify default resources and to leave this as a conscious + # choice for the user. This also increases chances charts run on environments with little + # resources, such as Minikube. If you do want to specify resources, uncomment the following + # lines, adjust them as necessary, and remove the curly braces after 'resources:'. + # limits: + # cpu: 100m + # memory: 128Mi + # requests: + # cpu: 100m + # memory: 128Mi + + nodeSelector: {} + + tolerations: [] + + affinity: {} + + als-oracle-pathfinder: + enabled: false + # Declare variables to be passed into your templates. + replicaCount: 1 + image: + repository: mojaloop/als-oracle-pathfinder + tag: v12.0.0 + pullPolicy: IfNotPresent + command: '["node", "/opt/app/src/index.js"]' + imagePullSecrets: [] + + readinessProbe: + enabled: true + httpGet: + path: / + initialDelaySeconds: 45 + periodSeconds: 15 + + livenessProbe: + enabled: true + httpGet: + path: / + initialDelaySeconds: 45 + periodSeconds: 15 + + config: + db: + type: 'mysql' + driver: 'mysql' + central_ledger: + host: '$release_name-centralledger-mysql' + port: '3306' + database: 'central_ledger' + user: 'central_ledger' + password: 'oyMxgZChuu' + account_lookup: + host: '$release_name-account-lookup-mysql' + port: '3306' + database: 'account_lookup' + user: 'account_lookup' + password: 'OdonPianoX' + log_level: 'info' + + pathfinder: + # Example host IP to be replaced by valid IP + host: 'localhost' + port: 7007 + queryTimeoutMs: 10000 + tls: + certs: + # These are example keys, please get valid keys for your deployment + client_cert: |- + -----BEGIN CERTIFICATE----- + MIIDejCCAmICCQClh6JWji+/NjANBgkqhkiG9w0BAQsFADB/MQswCQYDVQQGEwJV + UzEQMA4GA1UECAwHQWxhYmFtYTETMBEGA1UEBwwKTW9udGdvbWVyeTENMAsGA1UE + CgwEVGVzdDENMAsGA1UECwwEVGVzdDENMAsGA1UEAwwEVGVzdDEcMBoGCSqGSIb3 + DQEJARYNdGVzdEB0ZXN0LmNvbTAeFw0xOTEwMjkxNTMwNTFaFw0yOTEwMjYxNTMw + NTFaMH8xCzAJBgNVBAYTAlVTMRAwDgYDVQQIDAdBbGFiYW1hMRMwEQYDVQQHDApN + b250Z29tZXJ5MQ0wCwYDVQQKDARUZXN0MQ0wCwYDVQQLDARUZXN0MQ0wCwYDVQQD + DARUZXN0MRwwGgYJKoZIhvcNAQkBFg10ZXN0QHRlc3QuY29tMIIBIjANBgkqhkiG + 9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4MU4ipis7vrhsJl6Ad0hIF/nEGjTPG/6KliG + E1eaAVxOc/Pgw43quKjt846Aqwd9YoMp2NAx74xvZ4OnbMwSpjDQGRQbMY7Hiubs + UiJMqrst6S5AQqPHJoaErknVjRov0NyAUjia3HThtkqrRT52xTnTGYwc49zt+BKo + G4iurv40hfOTe4b7g3A64CVNEZe7t+qPbAIew9MU1X3OD3D0hzKZ8MstqebLbSPV + IflnzU+8Acg4mrMvSdf6OOveUUbf7r4QmfC9AerNVia/GcAvbG/GU+WEOnJfp+8X + Av+gfS0aM2pUbdrXLi/NxWnvw6bh8e+pjbBcli8roWmroRbFPwIDAQABMA0GCSqG + SIb3DQEBCwUAA4IBAQApH4oz7CWXzor91aU7bcdD5Ec/Z5QNDKXVrBcF5r+g83yz + bBphZrvDq+wOVigQ/JfmuAzRtK05WIpvxd22kvsKrDoViG9B+x+wDQm0tP0vY1Cp + EChdJLE1tAktRL49r8pzpOaUU7NrhYLP1tWrDDsCC3fPUwZzx9quem0xSYmC0BpT + Ug+hxw3uH7bsGhQkQnGrAoEwrsyq8M3lbw0pIUvq2S7t8lpHZvM5Ldkp5DM7SlJg + gBabAqScAeoqssFv4bsWINawn/7JvmFEb4kwep6pIf9Lh/rkCgsgyq2xEh/9LXNs + eCgyt9zbdU2HwsWnoOUEJ0Z4157ykgOkECCGErKl + -----END CERTIFICATE----- + client_key: |- + -----BEGIN PRIVATE KEY----- + MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDgxTiKmKzu+uGw + mXoB3SEgX+cQaNM8b/oqWIYTV5oBXE5z8+DDjeq4qO3zjoCrB31igynY0DHvjG9n + g6dszBKmMNAZFBsxjseK5uxSIkyquy3pLkBCo8cmhoSuSdWNGi/Q3IBSOJrcdOG2 + SqtFPnbFOdMZjBzj3O34EqgbiK6u/jSF85N7hvuDcDrgJU0Rl7u36o9sAh7D0xTV + fc4PcPSHMpnwyy2p5sttI9Uh+WfNT7wByDiasy9J1/o4695RRt/uvhCZ8L0B6s1W + Jr8ZwC9sb8ZT5YQ6cl+n7xcC/6B9LRozalRt2tcuL83Fae/DpuHx76mNsFyWLyuh + aauhFsU/AgMBAAECggEAWgPhvu+h4hsrI1Rznid2ysZdfR7d6chWgXruRvTAQmc7 + LAixLN+67rUIho+9S8E2H6uzqJbISM0PGH+LH3Eiztehn0mEEnbBxwjv/3ypA37u + xgG1znpUmUMqA7qiAV5JY/XKliMBMeTFOAHzUUnQuu+LcSHBuCeUTdL66/vzKTT4 + oCKwB1vcnzfL5NS/7ownAgLsjNj3pgORRAY9sTDzUkjwrrN/m5nEfghycAcyXHDJ + lQprc0xX4TI/Vd9ZkG+khAznkRaXiPJ1P1TwadgK5m53Imt2H3F0lmrhNCrul/l7 + F0Uf2tfNHHgSjyoGQkPryuqyf2NcMiUY1d4uCsnWEQKBgQDziD3gBkjguQZUc3Yb + DqiCtaLkavndmRTPaAyUk95dUuiVEMhnDm8L7T+03PhVDjtXdy4PQUm61xr/Kw4J + 1VUArbIjzcs+OEGNvq99stThRBvszwNRSWS4kYIur3+ggddrewtL7s+hiAqeK88L + n6vG4/eSKWJBQwF1001siKf7/QKBgQDsRxXGZkf+yVsuL/hSiadwRdD/OJ1O7gr2 + j8za6izaUX1anXLdPrvtOkdCgEC0Iy6hY0FMi0GWzklpY4SvZuxXlK6QkKB3SCE9 + E8RuOSFLouuaxgiau8MnAEUTkInTC+9foOa8znuOGC0JmzztlFf7P7CF8PoNTb4n + x4a9dQSE6wKBgAjPfgWT1KEksIDvqG80KY6JCbqf0ChfOGyEhCf/7YSM0lNKRyXL + VOMmky507BsPp7/zVNxCbWtwCs7+fMSITkn2/sHi2R6IJH7/ThQLGz6HG0eG+cTA + Ff/Da+VKfiCNcgC2c+MsYaCjblbomNX/0dQhPTyxeJeJ2AyuN1fc3c71AoGBAIA2 + tsc5e3nz9AmlOEA5uGWBTT8hjqNlIwfW0pg8mOhDbh188PbD8yBxDng0tmfJ66Ti + Am4x5v6ZpFaPDVJNLJT99pg2Ew2HU5ocHuydDcdIekc7jTHCD80bJWDPfyrKADRJ + UMxF0+AwmEftOGvHotKRJg4YzOfpNvXJHQGz/SbPAoGAALJa010eqPHuZKQxpW4z + 4dpt1Fr16cbLnmIk16zxnvPbPJeCtEx8IkwgLIWP6zPOESIGBTslGMq6xIgYaOXZ + G8S+fLF3J9sfE2gCJR1JSBXdlyWmcKJdyvhRt168hxVW1N4uHJ2KBA3vUhC/kRvh + 3XDCWsEkXqU0KRzt+TkWVOQ= + -----END PRIVATE KEY----- + pathfinder_cert: |- + -----BEGIN CERTIFICATE----- + MIIDejCCAmICCQClh6JWji+/NjANBgkqhkiG9w0BAQsFADB/MQswCQYDVQQGEwJV + UzEQMA4GA1UECAwHQWxhYmFtYTETMBEGA1UEBwwKTW9udGdvbWVyeTENMAsGA1UE + CgwEVGVzdDENMAsGA1UECwwEVGVzdDENMAsGA1UEAwwEVGVzdDEcMBoGCSqGSIb3 + DQEJARYNdGVzdEB0ZXN0LmNvbTAeFw0xOTEwMjkxNTMwNTFaFw0yOTEwMjYxNTMw + NTFaMH8xCzAJBgNVBAYTAlVTMRAwDgYDVQQIDAdBbGFiYW1hMRMwEQYDVQQHDApN + b250Z29tZXJ5MQ0wCwYDVQQKDARUZXN0MQ0wCwYDVQQLDARUZXN0MQ0wCwYDVQQD + DARUZXN0MRwwGgYJKoZIhvcNAQkBFg10ZXN0QHRlc3QuY29tMIIBIjANBgkqhkiG + 9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4MU4ipis7vrhsJl6Ad0hIF/nEGjTPG/6KliG + E1eaAVxOc/Pgw43quKjt846Aqwd9YoMp2NAx74xvZ4OnbMwSpjDQGRQbMY7Hiubs + UiJMqrst6S5AQqPHJoaErknVjRov0NyAUjia3HThtkqrRT52xTnTGYwc49zt+BKo + G4iurv40hfOTe4b7g3A64CVNEZe7t+qPbAIew9MU1X3OD3D0hzKZ8MstqebLbSPV + IflnzU+8Acg4mrMvSdf6OOveUUbf7r4QmfC9AerNVia/GcAvbG/GU+WEOnJfp+8X + Av+gfS0aM2pUbdrXLi/NxWnvw6bh8e+pjbBcli8roWmroRbFPwIDAQABMA0GCSqG + SIb3DQEBCwUAA4IBAQApH4oz7CWXzor91aU7bcdD5Ec/Z5QNDKXVrBcF5r+g83yz + bBphZrvDq+wOVigQ/JfmuAzRtK05WIpvxd22kvsKrDoViG9B+x+wDQm0tP0vY1Cp + EChdJLE1tAktRL49r8pzpOaUU7NrhYLP1tWrDDsCC3fPUwZzx9quem0xSYmC0BpT + Ug+hxw3uH7bsGhQkQnGrAoEwrsyq8M3lbw0pIUvq2S7t8lpHZvM5Ldkp5DM7SlJg + gBabAqScAeoqssFv4bsWINawn/7JvmFEb4kwep6pIf9Lh/rkCgsgyq2xEh/9LXNs + eCgyt9zbdU2HwsWnoOUEJ0Z4157ykgOkECCGErKl + -----END CERTIFICATE----- + pathfinder_intermediate_cert: |- + -----BEGIN CERTIFICATE----- + MIIDejCCAmICCQClh6JWji+/NjANBgkqhkiG9w0BAQsFADB/MQswCQYDVQQGEwJV + UzEQMA4GA1UECAwHQWxhYmFtYTETMBEGA1UEBwwKTW9udGdvbWVyeTENMAsGA1UE + CgwEVGVzdDENMAsGA1UECwwEVGVzdDENMAsGA1UEAwwEVGVzdDEcMBoGCSqGSIb3 + DQEJARYNdGVzdEB0ZXN0LmNvbTAeFw0xOTEwMjkxNTMwNTFaFw0yOTEwMjYxNTMw + NTFaMH8xCzAJBgNVBAYTAlVTMRAwDgYDVQQIDAdBbGFiYW1hMRMwEQYDVQQHDApN + b250Z29tZXJ5MQ0wCwYDVQQKDARUZXN0MQ0wCwYDVQQLDARUZXN0MQ0wCwYDVQQD + DARUZXN0MRwwGgYJKoZIhvcNAQkBFg10ZXN0QHRlc3QuY29tMIIBIjANBgkqhkiG + 9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4MU4ipis7vrhsJl6Ad0hIF/nEGjTPG/6KliG + E1eaAVxOc/Pgw43quKjt846Aqwd9YoMp2NAx74xvZ4OnbMwSpjDQGRQbMY7Hiubs + UiJMqrst6S5AQqPHJoaErknVjRov0NyAUjia3HThtkqrRT52xTnTGYwc49zt+BKo + G4iurv40hfOTe4b7g3A64CVNEZe7t+qPbAIew9MU1X3OD3D0hzKZ8MstqebLbSPV + IflnzU+8Acg4mrMvSdf6OOveUUbf7r4QmfC9AerNVia/GcAvbG/GU+WEOnJfp+8X + Av+gfS0aM2pUbdrXLi/NxWnvw6bh8e+pjbBcli8roWmroRbFPwIDAQABMA0GCSqG + SIb3DQEBCwUAA4IBAQApH4oz7CWXzor91aU7bcdD5Ec/Z5QNDKXVrBcF5r+g83yz + bBphZrvDq+wOVigQ/JfmuAzRtK05WIpvxd22kvsKrDoViG9B+x+wDQm0tP0vY1Cp + EChdJLE1tAktRL49r8pzpOaUU7NrhYLP1tWrDDsCC3fPUwZzx9quem0xSYmC0BpT + Ug+hxw3uH7bsGhQkQnGrAoEwrsyq8M3lbw0pIUvq2S7t8lpHZvM5Ldkp5DM7SlJg + gBabAqScAeoqssFv4bsWINawn/7JvmFEb4kwep6pIf9Lh/rkCgsgyq2xEh/9LXNs + eCgyt9zbdU2HwsWnoOUEJ0Z4157ykgOkECCGErKl + -----END CERTIFICATE----- + # rejectUnauthorized should be true in production + rejectUnauthorized: false + # The following paths are all relative to this directory containing the values file + client_cert_path: '/opt/app/secrets/client_cert.pem' + client_key_path: '/opt/app/secrets/client_key.pem' + root_cert_path: '/opt/app/secrets/pathfinder_cert.pem' + # Intermediate cert is optional, but will likely be required for mutual auth if + # rejectUnauthorized is true, as Neustar's certificate doesn't seem to have been signed by any + # certs in the Mozilla bundle, which is used by Node as default. + intermediate_cert_path: '/opt/app/secrets/pathfinder_intermediate_cert.pem' + + init: + enabled: true + waitForMysql: + name: wait-for-mysql + repository: mysql + tag: 8.0.30 + pullPolicy: IfNotPresent + command: "until mysql -h $db_host -P $db_port -u $db_user --password=$db_password $db_database -e 'select version()' ; do echo waiting for MySQL; sleep 2; done;" + initMysql: + centralLedger: + enabled: true + name: init-central-ledger-mysql + repository: mojaloop/als-oracle-pathfinder + tag: v12.0.0 + pullPolicy: IfNotPresent + command: mysql -h $db_host -P $db_port -u $db_user --password=$db_password $db_database -e "SET @service_name='$service_name'; source /opt/app/init-central-ledger.sql;"; + accountLookup: + enabled: true + name: init-account-lookup-mysql + repository: mojaloop/als-oracle-pathfinder + tag: v12.0.0 + pullPolicy: IfNotPresent + command: mysql -h $db_host -P $db_port -u $db_user --password=$db_password $db_database -e "SET @service_name='$service_name'; source /opt/app/init-account-lookup.sql;"; + populateMysql: + enabled: true + name: populate-mysql-tables + repository: mysql + tag: 8.0.30 + pullPolicy: IfNotPresent + command: "echo 'Nothing configured to be populated. Continuing...';" + service: + type: ClusterIP + name: http-api + port: 80 + + annotations: {} + + # This allows one to point the service to an external backend. + # This is useful for local development where one wishes to hijack + # the communication from the service to the node layer and point + # to a specific endpoint (IP, Port, etc). + external: + enabled: false + # 10.0.2.2 is the magic IP for the host on virtualbox's network + ip: 10.0.2.2 + ports: + provisioning: + name: http-api + externalPort: 3000 + + ingress: + enabled: true + ## @param ingress.pathType Ingress path type + ## + pathType: ImplementationSpecific + ## @param ingress.apiVersion Force Ingress API version (automatically detected if not set) + ## + apiVersion: + ## @param ingress.hostname Default host for the ingress record + ## + hostname: als-oracle-pathfinder.local + ## @param servicePort : port for the service + ## + servicePort: 80 + ## @param ingress.path Default path for the ingress record + ## NOTE: You may need to set this to '/*' in order to use this with ALB ingress controllers + path: / + ## @param ingress.annotations Additional custom annotations for the ingress record + ## NOTE: If `ingress.certManager=true`, annotation `kubernetes.io/tls-acme: "true"` will automatically be added + ## + annotations: + ## @param ingress.tls Enable TLS configuration for the host defined at `ingress.hostname` parameter + ## TLS certificates will be retrieved from a TLS secret with name: `{{- printf "%s-tls" .Values.ingress.hostname }}` + ## You can: + ## - Use the `ingress.secrets` parameter to create this TLS secret + ## - Relay on cert-manager to create it by setting `ingress.certManager=true` + ## - Relay on Helm to create self-signed certificates by setting `ingress.selfSigned=true` + ## + tls: false + ## @param ingress.certManager Add the corresponding annotations for cert-manager integration + ## + certManager: false + ## @param ingress.selfSigned Create a TLS secret for this ingress record using self-signed certificates generated by Helm + ## + selfSigned: false + ## @param ingress.extraHosts An array with additional hostname(s) to be covered with the ingress record + ## e.g: + ## extraHosts: + ## - name: transfer-api-svc.local + ## path: / + ## + extraHosts: + extraPaths: + extraTls: + secrets: + className: "nginx" + ## + resources: {} + # We usually recommend not to specify default resources and to leave this as a conscious + # choice for the user. This also increases chances charts run on environments with little + # resources, such as Minikube. If you do want to specify resources, uncomment the following + # lines, adjust them as necessary, and remove the curly braces after 'resources:'. + # limits: + # cpu: 100m + # memory: 128Mi + # requests: + # cpu: 100m + # memory: 128Mi + + mysql: + enabled: true + nameOverride: "account-lookup-mysql" + # Default values for Percona XtraDB Cluster + + ## percona image and version + ## ref: https://hub.docker.com/r/percona/percona-xtradb-cluster/tags/ + image: + repository: "percona/percona-xtradb-cluster" + tag: "5.7.19" + pullPolicy: IfNotPresent + + # Desired number of members of xtradb cluster + replicas: 1 + + ## Specify password for root user + ## + # mysqlRootPassword: not-a-secure-password + + ## Specify password for xtradb backup user + ## + # xtraBackupPassword: replicate-my-data + + ## Uncomment to create a database user + ## + mysqlUser: account_lookup + mysqlPassword: OdonPianoX + + ## Allow unauthenticated access, uncomment to enable + ## + # mysqlAllowEmptyPassword: true + + ## Uncomment to Create a database + ## + mysqlDatabase: account_lookup + + ## hosts to allow root user access from + # set to "127.0.0.1" to deny remote root. + allowRootFrom: "%" + + ## Persist data to a persitent volume + persistence: + enabled: false + ## percona data Persistent Volume Storage Class + ## If defined, storageClassName: + ## If set to "-", storageClassName: "", which disables dynamic provisioning + ## If undefined (the default) or set to null, no storageClassName spec is + ## set, choosing the default provisioner. (gp2 on AWS, standard on + ## GKE, AWS & OpenStack) + ## + # storageClass: "-" + accessMode: ReadWriteOnce + size: 8Gi + + ## Node labels for pod assignment + ## Ref: https://kubernetes.io/docs/user-guide/node-selection/ + ## + nodeSelector: {} + + ## Pod annotations + ## Ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/ + ## + podAnnotations: {} + + ## Tolerations labels for pod assignment + ## Allow the scheduling on tainted nodes (requires Kubernetes >= 1.6) + ## Ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ + ## + tolerations: [] + + ## Configure resource requests and limits + ## ref: http://kubernetes.io/docs/user-guide/compute-resources/ + ## + # resources: + # requests: + # memory: 256Mi + # cpu: 100m + + ## Configure the following values below if required + # performance_schema=ON + # max_connections=999 + # max_user_connections=999 + # thread_cache_size=999 + configFiles: + node.cnf: | + [client] + default-character-set=utf8mb4 + + [mysql] + default-character-set=utf8mb4 + + [mysqld] + collation-server = utf8mb4_unicode_ci + init-connect='SET NAMES utf8mb4' + character-set-server = utf8mb4 + datadir=/var/lib/mysql + default_storage_engine=InnoDB + binlog_format=ROW + innodb_flush_log_at_trx_commit = 1 + innodb_flush_method = O_DIRECT + innodb_file_per_table = 1 + innodb_autoinc_lock_mode=2 + bind_address = 0.0.0.0 + wsrep_slave_threads=2 + wsrep_cluster_address=gcomm:// + wsrep_provider=/usr/lib/galera3/libgalera_smm.so + wsrep_cluster_name=galera + wsrep_sst_method=xtrabackup-v2 + pxc_strict_mode=DISABLED + max_connections=999 + max_user_connections=994 + thread_cache_size=999 + ## When set to true will create sidecar for `prom/mysqld-exporter` + ## metrics exporting + metricsExporter: + enabled: true + + ## When set to true will create sidecar to tail mysql log + logTail: true + + service: + type: ClusterIP + port: 3306 + externalIPs: [] + +quoting-service: + # Declare variables to be passed into your templates. + replicaCount: 1 + image: + repository: mojaloop/quoting-service + tag: v15.0.2 + pullPolicy: IfNotPresent + + readinessProbe: + enabled: true + httpGet: + path: /health + initialDelaySeconds: 60 + periodSeconds: 15 + + livenessProbe: + enabled: true + httpGet: + path: /health + initialDelaySeconds: 60 + periodSeconds: 15 + + config: + + # Protocol versions used for validating (VALIDATELIST) incoming FSPIOP API Headers (Content-type, Accept), + # and for generating requests/callbacks from the Switch itself (DEFAULT value) + protocol_versions: { + "CONTENT": { + "DEFAULT": "1.1", + "VALIDATELIST": [ + "1", + "1.0", + "1.1" + ] + }, + "ACCEPT": { + "DEFAULT": "1", + "VALIDATELIST": [ + "1", + "1.0", + "1.1" + ] + } +} + ## DB Configuration + # db_type can either be 'postgres' or 'mysql'. Ensure the correct DB is enabled and configured below: postgresql.enabled or mysql.enabled + db_type: 'mysql' + # db_driver can either be 'pg' or 'mysql'. Ensure the correct corresponding db_type above has been set. + db_driver: 'mysql' + db_host: '$release_name-centralledger-mysql' + db_port: 3306 + db_user: central_ledger + db_password: oyMxgZChuu + db_database: central_ledger + db_connection_pool_min: 10 + db_connection_pool_max: 30 + db_acquire_timeout_millis: 30000 + db_create_timeout_millis: 30000 + db_destroy_timeout_millis: 5000 + db_idle_timeout_millis: 30000 + db_reap_interval_millis: 1000 + db_create_retry_interval_millis: 200 + db_debug: false + simple_routing_mode_enabled: true + log_level: 'info' + log_transport: 'file' + + # A comma-separated list of events that should return immediately instead of waiting for the event promises to resolve + # Any combination of: `log,audit,trace` + event_async_override: 'log,trace' + + ## Kafka Configuration (used for sidecar) + # this can be set if the dependency chart for kafka is disabled. If 'kafka_host' is commented out, then the name of the dependency chart will be used. + kafka_host: '$release_name-kafka' + kafka_port: 9092 + + error_handling: + include_cause_extension: false + truncate_extensions: true + + endpointSecurity: + jwsSign: true + fspiopSourceSigningName: 'switch' + # jwsSigningKey: + # To generate this key: + # Private: + # ssh-keygen -t rsa -b 4096 -m PEM -f jwtRS256.key + # Public: + # openssl rsa -in jwtRS256.key -pubout -outform PEM -out jwtRS256.key.pub + # Should look like: + # -----BEGIN RSA PRIVATE KEY----- + # MIIJKQIBAAKCAgEAxfqaZivMPd4MpdBHu0jVMf3MSuSdkSMHn+sNJdDQfl+x4R5R + # .. + # .. + # mBynFpdjO0D3PnLKjnBDn1vFAfANOwVpGXCw5mn+484A/SIXYebWruFd03g4 + # -----END RSA PRIVATE KEY----- + # The following is an example key and shouldn't be used in production + jwsSigningKey: |- + -----BEGIN PRIVATE KEY----- + MIIEugIBADANBgkqhkiG9w0BAQEFAASCBKQwggSgAgEAAoIBAQDuB5HuHRH5BqI/ + VAC/ixm6lz8kJmigIB5jMxLrhB9cgqM+pb0O+is88VRHdxtw8eKG3nvrZYy/4nsJ + z32qo4sOIMqHWTlZgbURVK4FAUEZ/qn63UnXJ1YVqT4UGg31BBj2c1JdlxG2t4JV + DvzGrI2/ia/t4gYZCWrQz6a8OClBIaXu2t6EGFnysyS+1YDWtNIHO+z0lvAY9oad + 5MZPHN51o04eIoLO0tPfkz0+NDs4ECwUWuFAg8yo1hxnvSoERiCAwEbFgq2wDe1+ + oBhOpusd4VastD/TEqO8RhrwTodddOMKzapJPrQJuvTkrpkmkPOGE8DgIVHsULLR + UYEMKvTVAgMBAAECgf94Meq77xrcFg8sSqe5eNHYP39tvaWyqE7mY/slvpNDH5Pl + D/p21akS156E32BEJuYPk/TLiI2kMWjnvbHvNgr9tq8x3ToyTjtrg5clq8Hr1Ozo + FnFiqkVHMFPFPQZEVU64CQPA33DixuWjMWS3YINfCAinErBry0PiNZGmuFi1K/wy + e1z2F9WfG3IEBEe3NaeXwN55ZPJve0LtneJy3YqNwMg2FpPKBRHFV4lKTaU/hqhC + NK6HQoEXN4Y9AQHn53Fl8n0iNO3qx0Tb7EuGNFmZ2xTlpDKAp8M+BA5Qm5YDkbd6 + OoxbGj2YxZncbG+RsvICtVMLqIytubvYREY9WGkCgYEA+K64xhJzWV3cGc8/90ko + TryGMBj1ly5TNa1YyOQxl5z4Glc0aI8a+1vJGEAA+c/OEhMR8MRn3+QfV2LJOI5X + V8Zo2Ger6Ln99LBddTh2HXL3M60cMgs8MYGuJ75g5R/UHnJBLo7NFyVddCOMT3hc + AYSDN3XCw9ycqTw2/mJHB9kCgYEA9QiaCfTtnXdjMqLeYbp2uQEyyO6IZs956ym7 + sEQMwx/3wnlE9eiJ6iQxZfddkfOCyV/4MMAlYfpTBQFg7Cwb32Xrv3Ezy0HfZrnt + 5Nj4SVQWuOXJhdfC9dmTF+cvBeP+vC6PyDbikxdCo9+05chxS7I3MLxCue4qxy0C + QfQIE10CgYA+kHacHng2u45sT9/f7t/dL0DzSNRAvL7iekIkCIURh8RDnDzrMVWw + d18YYsHcF5PYqEOTN1aK1XGtIoVNXUJMKvaluy9c1a42qUhZ/WJ59jqLHbpCPOFf + 8yhFh3gJLQDIyCXt+K9Qa24fkfHy7Gz5VMVOZqohbJddXHDZfxAvwQKBgAdU947+ + tjF1BhHYz8Cq3KySfZuHj6tL4AEKYaRXlO4twbMe/9I/4AiShqvfZ/xbBfnSllGX + Hkc9P0iyDt1iQH9BxHkZAQy+7tlbDORBHcTL8FYeAhawKxRCK2WWtFB/zvqAhire + gY8XLhZLNlV91u4F6iLaL0DzAHKvRRcGH0u9AoGATNigZgbRRHJC21JucHeE0tP7 + HjGALvb4qn1o0oDHsxNY8i6vVNw9YeQpZaJhceuRHJTGcsq2dJSXpYwIhIVs/8RK + bKbkEndra96L6FRZN8LYBl8zbRUPx39ojGeSbFliQv1eaoA/1DDhCiC2NlcSmbJl + ecaG/Oyo/S+eM8nR7mc= + -----END PRIVATE KEY----- + + sidecar: + enabled: true + image: + repository: mojaloop/event-sidecar + tag: v12.0.0 + pullPolicy: IfNotPresent + readinessProbe: + enabled: true + initialDelaySeconds: 120 + periodSeconds: 15 + livenessProbe: + enabled: true + initialDelaySeconds: 90 + periodSeconds: 15 + config: + event_log_grpc_host: localhost + event_log_grpc_port: 50051 + log_level: info + + init: + enabled: true + mysql: + name: wait-for-mysql + repository: mysql + tag: 8.0.30 + pullPolicy: IfNotPresent + command: "until result=$(mysql -h $db_host -P $db_port -u $db_user --password=$db_password $db_database -ss -N -e 'select is_locked from migration_lock;') && eval 'echo is_locked=$result' && if [ -z $result ]; then false; fi && if [ $result -ne 0 ]; then false; fi; do echo waiting for MySQL; sleep 2; done;" + + service: + type: ClusterIP + ports: + api: + name: http-api + externalPort: 80 + internalPort: 3002 + + annotations: {} + + # This allows one to point the service to an external backend. + # This is useful for local development where one wishes to hijack + # the communication from the service to the node layer and point + # to a specific endpoint (IP, Port, etc). + external: + enabled: false + # 10.0.2.2 is the magic IP for the host on virtualbox's network + ip: 10.0.2.2 + ports: + api: + name: http-api + externalPort: 3002 + + ingress: + enabled: true + ## @param ingress.pathType Ingress path type + ## + pathType: ImplementationSpecific + ## @param ingress.apiVersion Force Ingress API version (automatically detected if not set) + ## + apiVersion: + ## @param ingress.hostname Default host for the ingress record + ## + hostname: quoting-service.local + ## @param servicePort : port for the service + ## + servicePort: 80 + ## @param ingress.path Default path for the ingress record + ## NOTE: You may need to set this to '/*' in order to use this with ALB ingress controllers + path: / + ## @param ingress.annotations Additional custom annotations for the ingress record + ## NOTE: If `ingress.certManager=true`, annotation `kubernetes.io/tls-acme: "true"` will automatically be added + ## + annotations: + ## @param ingress.tls Enable TLS configuration for the host defined at `ingress.hostname` parameter + ## TLS certificates will be retrieved from a TLS secret with name: `{{- printf "%s-tls" .Values.ingress.hostname }}` + ## You can: + ## - Use the `ingress.secrets` parameter to create this TLS secret + ## - Relay on cert-manager to create it by setting `ingress.certManager=true` + ## - Relay on Helm to create self-signed certificates by setting `ingress.selfSigned=true` + ## + tls: false + ## @param ingress.certManager Add the corresponding annotations for cert-manager integration + ## + certManager: false + ## @param ingress.selfSigned Create a TLS secret for this ingress record using self-signed certificates generated by Helm + ## + selfSigned: false + ## @param ingress.extraHosts An array with additional hostname(s) to be covered with the ingress record + ## e.g: + ## extraHosts: + ## - name: transfer-api-svc.local + ## path: / + ## + extraHosts: + extraPaths: + extraTls: + secrets: + className: "nginx" + ## + resources: {} + # We usually recommend not to specify default resources and to leave this as a conscious + # choice for the user. This also increases chances charts run on environments with little + # resources, such as Minikube. If you do want to specify resources, uncomment the following + # lines, adjust them as necessary, and remove the curly braces after 'resources:'. + # limits: + # cpu: 100m + # memory: 128Mi + # requests: + # cpu: 100m + # memory: 128Mi + +transaction-requests-service: + # Declare variables to be passed into your templates. + replicaCount: 1 + image: + repository: mojaloop/transaction-requests-service + tag: v14.0.1 + pullPolicy: IfNotPresent + command: '["node", "src/index.js", "api"]' + + readinessProbe: + enabled: true + httpGet: + path: /health + initialDelaySeconds: 60 + periodSeconds: 15 + + livenessProbe: + enabled: true + httpGet: + path: /health + initialDelaySeconds: 60 + periodSeconds: 15 + + sidecar: + enabled: true + image: + repository: mojaloop/event-sidecar + tag: v12.0.0 + pullPolicy: IfNotPresent + command: '["npm", "run", "start"]' + service: + internalPort: 4001 + readinessProbe: + enabled: true + httpGet: + path: /health + initialDelaySeconds: 120 + periodSeconds: 15 + livenessProbe: + enabled: true + httpGet: + path: /health + initialDelaySeconds: 90 + periodSeconds: 15 + config: + event_log_grpc_host: localhost + event_log_grpc_port: 50051 + event_log_filter: 'audit:*, log:info, log:warn, log:error' + event_log_metadata_only: true + log_level: info + log_filter: 'error, warn, info' + + config: + central_services_host: '$release_name-centralledger-service' + central_services_port: 80 + + # Protocol versions used for validating (VALIDATELIST) incoming FSPIOP API Headers (Content-type, Accept), + # and for generating requests/callbacks from the Switch itself (DEFAULT value) + protocol_versions: { + "CONTENT": { + "DEFAULT": "1.1", + "VALIDATELIST": [ + "1", + "1.0", + "1.1" + ] + }, + "ACCEPT": { + "DEFAULT": "1", + "VALIDATELIST": [ + "1", + "1.0", + "1.1" + ] + } +} + log_level: info + log_transport: file + + error_handling: + include_cause_extension: false + truncate_extensions: true + + ## metric configuration for prometheus instrumentation + metrics: + ## flag to enable/disable the metrics end-points + enabled: false + config: + timeout: 5000 + prefix: moja_ + defaultLabels: + serviceName: transaction-requests + + init: + enabled: true + + service: + type: ClusterIP + ports: + api: + name: http-api + externalPort: 80 + internalPort: 4000 + + annotations: {} + + # This allows one to point the service to an external backend. + # This is useful for local development where one wishes to hijack + # the communication from the service to the node layer and point + # to a specific endpoint (IP, Port, etc). + external: + enabled: false + # 10.0.2.2 is the magic IP for the host on virtualbox's network + ip: 10.0.2.2 + ports: + api: + name: http-api + externalPort: 4000 + + ingress: + enabled: true + ## @param ingress.pathType Ingress path type + ## + pathType: ImplementationSpecific + ## @param ingress.apiVersion Force Ingress API version (automatically detected if not set) + ## + apiVersion: + ## @param ingress.hostname Default host for the ingress record + ## + hostname: transaction-request-service.local + ## @param servicePort : port for the service + ## + servicePort: 80 + ## @param ingress.path Default path for the ingress record + ## NOTE: You may need to set this to '/*' in order to use this with ALB ingress controllers + path: / + ## @param ingress.annotations Additional custom annotations for the ingress record + ## NOTE: If `ingress.certManager=true`, annotation `kubernetes.io/tls-acme: "true"` will automatically be added + ## + annotations: + ## @param ingress.tls Enable TLS configuration for the host defined at `ingress.hostname` parameter + ## TLS certificates will be retrieved from a TLS secret with name: `{{- printf "%s-tls" .Values.ingress.hostname }}` + ## You can: + ## - Use the `ingress.secrets` parameter to create this TLS secret + ## - Relay on cert-manager to create it by setting `ingress.certManager=true` + ## - Relay on Helm to create self-signed certificates by setting `ingress.selfSigned=true` + ## + tls: false + ## @param ingress.certManager Add the corresponding annotations for cert-manager integration + ## + certManager: false + ## @param ingress.selfSigned Create a TLS secret for this ingress record using self-signed certificates generated by Helm + ## + selfSigned: false + ## @param ingress.extraHosts An array with additional hostname(s) to be covered with the ingress record + ## e.g: + ## extraHosts: + ## - name: transfer-api-svc.local + ## path: / + ## + extraHosts: + extraPaths: + extraTls: + secrets: + className: "nginx" + ## + resources: {} + # We usually recommend not to specify default resources and to leave this as a conscious + # choice for the user. This also increases chances charts run on environments with little + # resources, such as Minikube. If you do want to specify resources, uncomment the following + # lines, adjust them as necessary, and remove the curly braces after 'resources:'. + # limits: + # cpu: 100m + # memory: 128Mi + # requests: + # cpu: 100m + # memory: 128Mi + +thirdparty: + enabled: false + auth-svc: + enabled: true + replicaCount: 1 + image: + repository: mojaloop/auth-service + tag: v13.0.2 + command: '[ "npm", "run", "start" ]' + pullPolicy: IfNotPresent + + ## Pod scheduling preferences. + ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity + affinity: {} + + ## Node labels for pod assignment + ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector + nodeSelector: {} + + ## Set toleration for scheduler + ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ + tolerations: [] + + livenessProbe: + initialDelaySeconds: 30 + httpGet: + path: /health + port: 4004 + readinessProbe: + initialDelaySeconds: 30 + httpGet: + path: /health + port: 4004 + + # Add extra environment variables here + env: + - name: NODE_ENV + value: production + # e.g. to change the Log Level: + # - name: LOG_LEVEL + # value: debug + + config: + production.json: { + "PORT": 4004, + "HOST": "0.0.0.0", + "PARTICIPANT_ID": "centralauth", + "REDIS": { + "PORT": 6379, + "HOST": "auth-svc-redis-svc", + "TIMEOUT": 100 + }, + "INSPECT": { + "DEPTH": 4, + "SHOW_HIDDEN": false, + "COLOR": true + }, + "SHARED": { + "THIRDPARTY_REQUESTS_ENDPOINT": "tp-api-svc:3008", + "ALS_ENDPOINT": "$release_name-account-lookup-service", + "JWS_SIGN": false, + "JWS_SIGNING_KEY": "/secrets/jwsSigningKey.key", + "WSO2_AUTH": { + "staticToken": "0706c62f-c022-3c42-8d14-8b5df128876d", + "tokenEndpoint": "", + "clientKey": "test-client-key", + "clientSecret": "test-client-secret", + "refreshSeconds": 3600 + }, + "TLS": { + "mutualTLS": { + "enabled": false + }, + "creds": { + "ca": "/secrets/client.crt", + "cert": "/secrets/client.crt", + "key": "/secrets/client.crt" + } + } + }, + "DATABASE": { + "client": "mysql", + "version": "5.5", + "connection": { + "host": "mysql-auth-svc", + "port": 3306, + "user": "auth-svc", + "password": "password", + "database": "auth-svc", + "timezone": "UTC" + }, + "pool": { + "min": 10, + "max": 10, + "acquireTimeoutMillis": 30000, + "createTimeoutMillis": 30000, + "destroyTimeoutMillis": 5000, + "idleTimeoutMillis": 30000, + "reapIntervalMillis": 1000, + "createRetryIntervalMillis": 200 + }, + "migrations": { + "tableName": "auth-svc", + "loadExtensions": [ + ".js" + ] + }, + "seeds": { + "loadExtensions": [ + ".js" + ] + } + }, + "DEMO_SKIP_VALIDATION_FOR_CREDENTIAL_IDS": [ + "HskU2gw4np09IUtYNHnxMM696jJHqvccUdBmd0xP6XEWwH0xLei1PUzDJCM19SZ3A2Ex0fNLw0nc2hrIlFnAtw" + ] +} + service: + type: ClusterIP + ports: + name: api + externalPort: 4004 + internalPort: 4004 + + ingress: + enabled: true + ## @param ingress.pathType Ingress path type + ## + pathType: ImplementationSpecific + ## @param ingress.apiVersion Force Ingress API version (automatically detected if not set) + ## + apiVersion: + ## @param ingress.hostname Default host for the ingress record + ## + hostname: auth-service.local + ## @param servicePort : port for the service + ## + servicePort: 4004 + ## @param ingress.path Default path for the ingress record + ## NOTE: You may need to set this to '/*' in order to use this with ALB ingress controllers + path: / + ## @param ingress.annotations Additional custom annotations for the ingress record + ## NOTE: If `ingress.certManager=true`, annotation `kubernetes.io/tls-acme: "true"` will automatically be added + ## + annotations: + ## @param ingress.tls Enable TLS configuration for the host defined at `ingress.hostname` parameter + ## TLS certificates will be retrieved from a TLS secret with name: `{{- printf "%s-tls" .Values.ingress.hostname }}` + ## You can: + ## - Use the `ingress.secrets` parameter to create this TLS secret + ## - Relay on cert-manager to create it by setting `ingress.certManager=true` + ## - Relay on Helm to create self-signed certificates by setting `ingress.selfSigned=true` + ## + tls: false + ## @param ingress.certManager Add the corresponding annotations for cert-manager integration + ## + certManager: false + ## @param ingress.selfSigned Create a TLS secret for this ingress record using self-signed certificates generated by Helm + ## + selfSigned: false + ## @param ingress.extraHosts An array with additional hostname(s) to be covered with the ingress record + ## e.g: + ## extraHosts: + ## - name: transfer-api-svc.local + ## path: / + ## + extraHosts: + extraPaths: + extraTls: + secrets: + className: "nginx" + ## + + consent-oracle: + enabled: true + replicaCount: 1 + image: + repository: mojaloop/als-consent-oracle + tag: v0.2.0 + command: '[ "npm", "run", "start" ]' + pullPolicy: IfNotPresent + + ## Pod scheduling preferences. + ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity + affinity: {} + + ## Node labels for pod assignment + ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector + nodeSelector: {} + + ## Set toleration for scheduler + ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ + tolerations: [] + + livenessProbe: + enabled: true + initialDelaySeconds: 30 + httpGet: + path: /health + port: 3000 + + readinessProbe: + enabled: true + initialDelaySeconds: 30 + httpGet: + path: /health + port: 3000 + + # Add exta environment variables here + env: [] + # e.g. + # - name: LOG_LEVEL + # value: debug + + config: + default.json: { + "PORT": 3000, + "HOST": "0.0.0.0", + "INSPECT": { + "DEPTH": 4, + "SHOW_HIDDEN": false, + "COLOR": true + }, + "DATABASE": { + "DIALECT": "mysql", + "HOST": "mysql-consent-oracle", + "PORT": 3306, + "USER": "consent-oracle", + "PASSWORD": "password", + "DATABASE": "consent-oracle", + "POOL_MIN_SIZE": 10, + "POOL_MAX_SIZE": 10, + "ACQUIRE_TIMEOUT_MILLIS": 30000, + "CREATE_TIMEOUT_MILLIS": 30000, + "DESTROY_TIMEOUT_MILLIS": 5000, + "IDLE_TIMEOUT_MILLIS": 30000, + "REAP_INTERVAL_MILLIS": 1000, + "CREATE_RETRY_INTERVAL_MILLIS": 200 + } +} + service: + type: ClusterIP + ports: + name: api + externalPort: 3000 + internalPort: 3000 + + ingress: + enabled: true + ## @param ingress.pathType Ingress path type + ## + pathType: ImplementationSpecific + ## @param ingress.apiVersion Force Ingress API version (automatically detected if not set) + ## + apiVersion: + ## @param ingress.hostname Default host for the ingress record + ## + hostname: consent-oracle.local + ## @param servicePort : port for the service + ## + servicePort: 3000 + ## @param ingress.path Default path for the ingress record + ## NOTE: You may need to set this to '/*' in order to use this with ALB ingress controllers + path: / + ## @param ingress.annotations Additional custom annotations for the ingress record + ## NOTE: If `ingress.certManager=true`, annotation `kubernetes.io/tls-acme: "true"` will automatically be added + ## + annotations: + ## @param ingress.tls Enable TLS configuration for the host defined at `ingress.hostname` parameter + ## TLS certificates will be retrieved from a TLS secret with name: `{{- printf "%s-tls" .Values.ingress.hostname }}` + ## You can: + ## - Use the `ingress.secrets` parameter to create this TLS secret + ## - Relay on cert-manager to create it by setting `ingress.certManager=true` + ## - Relay on Helm to create self-signed certificates by setting `ingress.selfSigned=true` + ## + tls: false + ## @param ingress.certManager Add the corresponding annotations for cert-manager integration + ## + certManager: false + ## @param ingress.selfSigned Create a TLS secret for this ingress record using self-signed certificates generated by Helm + ## + selfSigned: false + ## @param ingress.extraHosts An array with additional hostname(s) to be covered with the ingress record + ## e.g: + ## extraHosts: + ## - name: transfer-api-svc.local + ## path: / + ## + extraHosts: + extraPaths: + extraTls: + secrets: + className: "nginx" + ## + + tp-api-svc: + enabled: true + replicaCount: 1 + image: + repository: mojaloop/thirdparty-api-svc + tag: v13.0.2 + command: '[ "npm", "run", "start" ]' + pullPolicy: IfNotPresent + + ## Pod scheduling preferences. + ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity + affinity: {} + + ## Node labels for pod assignment + ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector + nodeSelector: {} + + ## Set toleration for scheduler + ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ + tolerations: [] + + livenessProbe: + initialDelaySeconds: 30 + httpGet: + path: /health + port: 3008 + readinessProbe: + initialDelaySeconds: 30 + httpGet: + path: /health + port: 3008 + + # Add exta environment variables here + env: [] + # e.g. to change the Log Level: + # - name: LOG_LEVEL + # value: debug + + config: + default.json: { + "PORT": 3008, + "HOST": "0.0.0.0", + "INSPECT": { + "DEPTH": 4, + "SHOW_HIDDEN": false, + "COLOR": true + }, + "ENDPOINT_CACHE_CONFIG": { + "expiresIn": 180000, + "generateTimeout": 30000 + }, + "ENDPOINT_SERVICE_URL": "http://$release_name-centralledger-service", + "PARTICIPANT_LIST_LOCAL": [ + "dfspa", + "dfspb" + ], + "ERROR_HANDLING": { + "includeCauseExtension": true, + "truncateExtensions": true + }, + "INSTRUMENTATION": { + "METRICS": { + "DISABLED": false, + "labels": { + "eventId": "*" + }, + "config": { + "timeout": 5000, + "prefix": "moja_3p_api", + "defaultLabels": { + "serviceName": "thirdparty-api-svc" + } + } + } + }, + "MOCK_CALLBACK": { + "transactionRequestId": "abc-12345", + "pispId": "pisp" + } +} + service: + type: ClusterIP + ports: + name: api + externalPort: 3008 + internalPort: 3008 + + ingress: + enabled: true + ## @param ingress.pathType Ingress path type + ## + pathType: ImplementationSpecific + ## @param ingress.apiVersion Force Ingress API version (automatically detected if not set) + ## + apiVersion: + ## @param ingress.hostname Default host for the ingress record + ## + hostname: tp-api-svc.local + ## @param servicePort : port for the service + ## + servicePort: 3008 + ## @param ingress.path Default path for the ingress record + ## NOTE: You may need to set this to '/*' in order to use this with ALB ingress controllers + path: / + ## @param ingress.annotations Additional custom annotations for the ingress record + ## NOTE: If `ingress.certManager=true`, annotation `kubernetes.io/tls-acme: "true"` will automatically be added + ## + annotations: + ## @param ingress.tls Enable TLS configuration for the host defined at `ingress.hostname` parameter + ## TLS certificates will be retrieved from a TLS secret with name: `{{- printf "%s-tls" .Values.ingress.hostname }}` + ## You can: + ## - Use the `ingress.secrets` parameter to create this TLS secret + ## - Relay on cert-manager to create it by setting `ingress.certManager=true` + ## - Relay on Helm to create self-signed certificates by setting `ingress.selfSigned=true` + ## + tls: false + ## @param ingress.certManager Add the corresponding annotations for cert-manager integration + ## + certManager: false + ## @param ingress.selfSigned Create a TLS secret for this ingress record using self-signed certificates generated by Helm + ## + selfSigned: false + ## @param ingress.extraHosts An array with additional hostname(s) to be covered with the ingress record + ## e.g: + ## extraHosts: + ## - name: transfer-api-svc.local + ## path: / + ## + extraHosts: + extraPaths: + extraTls: + secrets: + className: "nginx" + ## + +simulator: + enabled: true + # Default values for simulators. + # This is a YAML-formatted file. + # Declare variables to be passed into your templates. + + replicaCount: 1 + + image: + repository: mojaloop/simulator + tag: v12.0.0 + pullPolicy: IfNotPresent + + imagePullSecrets: [] + # - name: {{replace with credential}} + + ## Pod scheduling preferences. + ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity + affinity: {} + + ## Node labels for pod assignment + ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector + nodeSelector: {} + + ## Set toleration for scheduler + ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ + tolerations: [] + + metrics: + enabled: true + prefix: moja_ + timeout: 5000 + defaultLabels: + serviceName: simulator + + config: + ## Set debug level for log output + LOG_LEVEL: 'info' + + ## Add '$release' into any of the *_SERVICE_ENDPOINT values to include the release name as part of the deployment + PARTIES_SERVICE_ENDPOINT: 'http://$release_name-account-lookup-service' + QUOTES_SERVICE_ENDPOINT: 'http://$release_name-quoting-service' + TRANSFERS_SERVICE_ENDPOINT: 'http://$release_name-ml-api-adapter-service' + BULK_TRANSFERS_SERVICE_ENDPOINT: 'http://$release_name-bulk-api-adapter-service' + TRANSACTION_REQUESTS_SERVICE_ENDPOINT: 'http://$release_name-transaction-requests-service' + ## Disable the fulfil response callback + TRANSFERS_FULFIL_RESPONSE_DISABLED: false + ## Set the fulfil response response information + TRANSFERS_FULFILMENT: 'XoSz1cL0tljJSCp_VtIYmPNw-zFUgGfbUqf69AagUzY' + TRANSFERS_CONDITION: 'HOr22-H3AfTDHrSkPjJtVPRdKouuMkDXTR4ejlQa8Ks' + TRANSFERS_ILPPACKET: 'AQAAAAAAAADIEHByaXZhdGUucGF5ZWVmc3CCAiB7InRyYW5zYWN0aW9uSWQiOiIyZGY3NzRlMi1mMWRiLTRmZjctYTQ5NS0yZGRkMzdhZjdjMmMiLCJxdW90ZUlkIjoiMDNhNjA1NTAtNmYyZi00NTU2LThlMDQtMDcwM2UzOWI4N2ZmIiwicGF5ZWUiOnsicGFydHlJZEluZm8iOnsicGFydHlJZFR5cGUiOiJNU0lTRE4iLCJwYXJ0eUlkZW50aWZpZXIiOiIyNzcxMzgwMzkxMyIsImZzcElkIjoicGF5ZWVmc3AifSwicGVyc29uYWxJbmZvIjp7ImNvbXBsZXhOYW1lIjp7fX19LCJwYXllciI6eyJwYXJ0eUlkSW5mbyI6eyJwYXJ0eUlkVHlwZSI6Ik1TSVNETiIsInBhcnR5SWRlbnRpZmllciI6IjI3NzEzODAzOTExIiwiZnNwSWQiOiJwYXllcmZzcCJ9LCJwZXJzb25hbEluZm8iOnsiY29tcGxleE5hbWUiOnt9fX0sImFtb3VudCI6eyJjdXJyZW5jeSI6IlVTRCIsImFtb3VudCI6IjIwMCJ9LCJ0cmFuc2FjdGlvblR5cGUiOnsic2NlbmFyaW8iOiJERVBPU0lUIiwic3ViU2NlbmFyaW8iOiJERVBPU0lUIiwiaW5pdGlhdG9yIjoiUEFZRVIiLCJpbml0aWF0b3JUeXBlIjoiQ09OU1VNRVIiLCJyZWZ1bmRJbmZvIjp7fX19' + MOCK_JWS_SIGNATURE: 'abcJjvNrkyK2KBieDUbGfhaBUn75aDUATNF4joqA8OLs4QgSD7i6EO8BIdy6Crph3LnXnTM20Ai1Z6nt0zliS_qPPLU9_vi6qLb15FOkl64DQs9hnfoGeo2tcjZJ88gm19uLY_s27AJqC1GH1B8E2emLrwQMDMikwQcYvXoyLrL7LL3CjaLMKdzR7KTcQi1tCK4sNg0noIQLpV3eA61kess' + + service: + type: ClusterIP + port: 80 + targetPort: http + + readinessProbe: + enabled: true + httpGet: + path: /health + port: 8444 + scheme: HTTP + initialDelaySeconds: 5 + periodSeconds: 15 + livenessProbe: + enabled: true + httpGet: + path: /health + port: 8444 + scheme: HTTP + initialDelaySeconds: 5 + periodSeconds: 15 + + ingress: + enabled: true + ## @param ingress.pathType Ingress path type + ## + pathType: ImplementationSpecific + ## @param ingress.apiVersion Force Ingress API version (automatically detected if not set) + ## + apiVersion: + ## @param ingress.hostname Default host for the ingress record + ## + hostname: moja-simulator.local + ## @param servicePort : port for the service + ## + servicePort: 80 + ## @param ingress.path Default path for the ingress record + ## NOTE: You may need to set this to '/*' in order to use this with ALB ingress controllers + path: / + ## @param ingress.annotations Additional custom annotations for the ingress record + ## NOTE: If `ingress.certManager=true`, annotation `kubernetes.io/tls-acme: "true"` will automatically be added + ## + annotations: + ## @param ingress.tls Enable TLS configuration for the host defined at `ingress.hostname` parameter + ## TLS certificates will be retrieved from a TLS secret with name: `{{- printf "%s-tls" .Values.ingress.hostname }}` + ## You can: + ## - Use the `ingress.secrets` parameter to create this TLS secret + ## - Relay on cert-manager to create it by setting `ingress.certManager=true` + ## - Relay on Helm to create self-signed certificates by setting `ingress.selfSigned=true` + ## + tls: false + ## @param ingress.certManager Add the corresponding annotations for cert-manager integration + ## + certManager: false + ## @param ingress.selfSigned Create a TLS secret for this ingress record using self-signed certificates generated by Helm + ## + selfSigned: false + ## @param ingress.extraHosts An array with additional hostname(s) to be covered with the ingress record + ## e.g: + ## extraHosts: + ## - name: transfer-api-svc.local + ## path: / + ## + extraHosts: + extraPaths: + extraTls: + secrets: + className: "nginx" + ## + # - secretName: chart-example-tls + # hosts: + # - chart-example.local + + resources: {} + # We usually recommend not to specify default resources and to leave this as a conscious + # choice for the user. This also increases chances charts run on environments with little + # resources, such as Minikube. If you do want to specify resources, uncomment the following + # lines, adjust them as necessary, and remove the curly braces after 'resources:'. + # limits: + # cpu: 100m + # memory: 128Mi + # requests: + # cpu: 100m + # memory: 128Mi + +mojaloop-simulator: + enabled: true + # Default values for mojaloop-simulator. + # This is a YAML-formatted file. + # Declare variables to be passed into your templates. + + # Usage: + # Add simulators to the simulators object. The following example will create two simulators, + # 'payerfsp' and 'payeefsp' that will be created with the default values available lower in this + # file. + # + # simulators: + # payerfsp: {} + # payeefsp: {} + # + # The default values can be overridden for all sims by modifying mojaloop-simulator.defaults in + # your parent chart. They can also be overriden per-simulator. The following example will result in + # a payerfsp without a cache and a payeefsp with a cache. + # + # simulators: + # payerfsp: + # config: + # cache: + # enabled: false + # payeefsp: {} + # + # If you want to disable any of the default simulators, you can define the values to null in this file. + # + # simlators: + # payerfsp: null + # payeefsp: null + # + + # TODO & notes: + # * do the port _numbers_ matter at all? Can we get rid of them? + # * for Mowali, how are JWS and TLS secrets being set up? + # * support arbitrary init containers + config (that might just be config that goes into defaults + # or something?). Supply all config and volumes to the init containers. + # * create some test containers + # * parametrise imagePullSecretName (global? like https://github.com/bitnami/charts/tree/master/bitnami/redis#parameters) + # * generate JWS private/public keys, so the user does not need to supply keys at all. + # * generate public key from private, so the user only needs to supply private keys for each sim? + # (_might_ be possible with a job or init container or similar). + # * support mTLS auto-cert generation + # * probably eliminate all config that shouldn't actually be changed by a user, e.g. + # JWS_VERIFICATION_KEYS_DIRECTORY. That's a good configuration option to have for other contexts, + # such as running the sim locally or in docker-compose but in this context it's _an + # implementation detail_. The chart user should not have to worry about it, and we should not + # have to test the effect of changing it. + # Also + # INBOUND_LISTEN_PORT + # OUTBOUND_LISTEN_PORT + # * make ingress more generic- do not preconfigure annotations + # * think about labels a little more carefully- the app should probably always be "mojaloop-simulator" + # * add config map and hashes to the deployments so that a configmap change triggers a rolling + # update + # * support JWS public keys for other entities. Add a note in the documentation that they must map + # directly to the value that will be received in the FSPIOP-Source (check this is correct) + # * update labels to be compliant. E.g. app.kubernetes.io/name or whatever + # * rename ".Values.defaults.config" as it's pretty a useless name + # * support arbitrary sidecars? + # * use the redis subchart? https://github.com/bitnami/charts/tree/master/bitnami/redis + # - this would mean a single instance of redis (probably good) + # - might need to have the simulators use separate databases per simulator, or prefix all of + # their keys with their own name, or something + # * allow the user to optionally specify the namespace, with the caveat that that namespace will + # need to be created manually before the release is deployed. There may be a horrible hack (which + # I have not tried) whereby all templates are moved to a different directory, say ./xtemplates, + # then all are imported using {{ .Files.Glob }} and {{ .Files.Get }} then templated into a single + # amazing template with {{ template }}. At the top of this template goes a namespace. The + # consequence of this is that the namespace is created first, enabling this beautiful pattern. + # Remember, with great power comes great responsibility. (In other words, we probably have a + # responsibility to _not_ do this). + # * should redis be a statefulset? optionally? what does the bitnami chart do? + # * move labels into helpers + # * autogenerate ILP stuff? + # * defaults.resources looks like it's used nowhere- check this and remove it as appropriate + # * look for references to replicaCount in the charts/values. Is it set, or whatever? + # * scale Redis + # * changing JWS_SIGNING_KEY_PATH currently breaks the chart because it's nastily hard-coded. It + # should be possible to use the Spring filepath functions to avoid this. Similarly, changing + # RULES_FILE will have a similar effect. Alternatively, make these unconfigured by default. I.e. + # comment them out, hard-code them and add a warning to the user in the config. (Is there a + # scenario where the user should want to configure them? I don't think so..). + # (https://masterminds.github.io/sprig/paths.html) + # * put sim inbound API on port 80 + # * supply more documentation, especially a range of examples, and preferably documentation that is + # executable + # * share configmaps, secrets with init containers + # * share an emptyDir volume between init containers and main containers + # * allow init containers to create secrets and put them on persistent volumes, or emptyDirs, then + # allow main containers to access those + # * do not put environment variables in configmaps, instead put them straight into the deployments. + # This makes the deployment much easier to manage. + # * Remember, labels are _for_ identifying stuff. So labels should probably be like "release" + # (.Release.Name or similar) "chart" (.Chart.Name or similar) "simulator" (e.g. payerfsp, + # payeefsp) "sim-component" (e.g. backend, scheme-adapter, cache) + # * can _probably_ remove port numbers from services to simplify chart (although perhaps not? try + # to port-forward with a named port instead of a numbered port?) + + + simulators: + ## Every key added to this `simulators` object will be a simulator that takes on the default + ## config below. The default is deliberately left empty so nothing is deployed by default. + # payerfsp: {} + # payeefsp: {} + ## Default FSPs for Mojaloop Postman Scripts + payerfsp: + ingress: + hosts: + - sim-payerfsp.local + config: + schemeAdapter: + secrets: + jws: + # The following is an example key and shouldn't be used in production + privateKey: |- + -----BEGIN PRIVATE KEY----- + MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCg9eU66hg4ZAE6 + jM4U8ylXQwUz9cdmzS3JyW+1bbgv77peMKSU/wFsi4QRwmbrYze9baFnGCKnS75E + vCchib5vJxp3MDWzi/TGxmzgWdJRzkyCiI5C6dCgVL71MjsFgN3TN63wEf5sEU2I + eoJ8yXJM0pUG9f9NO7p/IGliDmt6C7EA7D9kQWigufmX0ZTVNKI07fKwC/AEKLp7 + kx99pvsCq8m184EEL15Q/NhA7R/5zKoHvmJa6Jd7tM0i0xn8IKOkNVFu3YIafAEC + QWQwRbanFEeRc3tH3bEoYM8c74r+W+YxCG7nUf16XCk132XVffbHVl+wFgo18YB/ + sAJmcbePAgMBAAECggEAGQGKnsf+gkg7DqMQYx3Rxt5BISzmURjAK9CxG6ETk9Lt + A7QP5ZvmVzwnhPDMN3Z/Et1EzXTo8U+pnBkVBTdWkAMlr+2b8ixklzr9cC9UJuRj + a4YWf9u+TyJLVmF63OSD0cwdKCZLffOENZc+zW8oZDn08BNomdGVLCnXZWXzGY8X + KaJTJr29jEgkKOqFXdAHrsmj7TBtqSLZKx2IHdCmi05+5JCxVLPgnDiCicZ9zEii + yWw57Q1migFIcw6ZQP4RyjgH1o70B+zo3OL7IQEirE17GUgK16XD8xi8hWCYTj5n + xOz9yfVfPuYom/9Xbm5kYJZKE2HOZ3Lg8pUnWncuNQKBgQDbaOoACQPhVxQK1qYR + RbW0I5Rn0EDxzsFPEpu3eXHoIYGXi8u/ew9AzFmGu+tKYJV5V4BCXo5x2ddE+B8B + dXhyHLGfeV8tWKYKBpatolVxxKDL/9fnxoGIAO9cc91ieOm5JxmKscCVP1UnOXHZ + uomSfAbGQwYDtMd2bJKkE1z0qwKBgQC7zacuv1PMaDFksHuNNRG+aZ74pJ77msht + vJoKyaQcktD0xmIXhFfJvK4cclzG7s5jxCsu2ejimgmfVzgXlLEMrJFvSdFkD2SS + gGqoxq5c9g8ssvt7xwr7aJ+VYYWTWRzJrOUny+99UbwHedu0EHL1BYILwy67Lium + sgUeeCEgrQKBgGv+7f7qcRB/jgvvr3oc990dDjUzGmRrQlcrb54Vlu2NYH45fyZW + 6iEY9JAO+zd25tv9J9KDPFXpxb3a61gKfCie2wcF9MUbN08EAzKgDrKa+BKxcZJR + 8PwCic7V8QhBP7m09yt/Zq2PqNhPvCxRVtnVVnhMES/N0cgGlP9R0JVVAoGAHU2/ + kmnEN5bibiWjgasQM7fjWETHkdbbA1R0bM59zv+Rnz/9OlIqKI5KVKH7nAbTKXoI + iuzxi7ohWj2PwQ4wehvLLaRFCenk9X8YJXGq71Jtl7ntx6iNLCFtFS/8WbuD5GwX + 7ZfCrLk+L6RyBayzY0wSuKch+Y8AvKf2aISyFpkCgYEAjSfEjz9Cn+27HdiMoBwa + +fyyoosci/6OBxj/WTKvV6KUYLBfFoAYpb9rqrbvnfyyc0UiAYQeMJAOWQ1kkzY4 + zXs63iPQi2UeGPJZ7RsT+31DSaG9YiQdrInsUrlm8hi1C7Pg/NNt6Y1G0WhWYrvF + iNK0yCENMhSoOTtbT9tmGi0= + -----END PRIVATE KEY----- + publicKey: |- + -----BEGIN PUBLIC KEY----- + MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAoPXlOuoYOGQBOozOFPMp + V0MFM/XHZs0tyclvtW24L++6XjCklP8BbIuEEcJm62M3vW2hZxgip0u+RLwnIYm+ + bycadzA1s4v0xsZs4FnSUc5MgoiOQunQoFS+9TI7BYDd0zet8BH+bBFNiHqCfMly + TNKVBvX/TTu6fyBpYg5reguxAOw/ZEFooLn5l9GU1TSiNO3ysAvwBCi6e5Mffab7 + AqvJtfOBBC9eUPzYQO0f+cyqB75iWuiXe7TNItMZ/CCjpDVRbt2CGnwBAkFkMEW2 + pxRHkXN7R92xKGDPHO+K/lvmMQhu51H9elwpNd9l1X32x1ZfsBYKNfGAf7ACZnG3 + jwIDAQAB + -----END PUBLIC KEY----- + payeefsp: + ingress: + hosts: + - sim-payeefsp.local + config: + schemeAdapter: + secrets: + jws: + # The following is an example key and shouldn't be used in production + privateKey: |- + -----BEGIN PRIVATE KEY----- + MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDMu126miewCUCT + 7f49B0SyCPFGzmqGSs9rTPbk1se+BBhqfhsfkZj6cRRfrlg3rme6we0Ib2AF5TQL + noSBlDAimQcNOHXrqpAY/B0l/mgyUwmfv0NJ3UjZuCFuw3HRrU/oSUfXoDITC+Bi + 120w4FY2B/vPn+1iC/tsaCayneoaV/Sedq7H9+smEnQfGl3p5QJp/B2Ws3Bz1HqI + IoxLEaO9VMeDHQPvNJn/7g9erqA5vIhmgLS46worOVjdRLH2SECH73qp8Wg0rJ8Y + eW2kQ8kuY4uHcG3MO6drYrC011U0ZyM90KV7dv2Y0h2FHlpn9s/pmb630m5ELpnB + T/pYTLcXAgMBAAECggEADqk6Qz3SgBeMMYEWYZ4ZdsW6Ktpm+Xqg/kDy4JywOB9z + SikBXeeKH3Z6ltwq2BicDV020Wb8Zt+s3vTOmLhDzC544/hPmtKfjWfR2eHX6gaq + m+8ml+20pQFmb4Kn2MlC/Xzwm/SOXBvPyUmTua95rQExsK12DT0+F4YhLfhYsTh2 + HfkEzdFW4rrd+9ddKG1ZANS4ZaiMyzhtvUWeEBypBtVf+kBk+51t9pLCdjuynb8I + WylSDhikT3/YQ/3g/Sz3SMp1u4x0GQe9FWYrnPzzp5LnM5fm49v8JWVHUvd0TOi0 + dQV+LYlgSD38YPpi4iKQSh0Zf0EBfbA83GsX2ArJ7QKBgQDmvcA6PqPo0OV/7RKY + JuziA3TpucL8iVM1i7/Lv6+VkX88uDvEjwLoNAiYcgIm/CMK7WAwA+Dzn4r38EHB + BKF4KRhP0qQS0KLXsd0tdsmAB0In7+cbKL4ttqNUP98xZAkTLJq9PXqTKN0qtyw4 + SfIsVMjDGoeSdWHObZYbGKICfQKBgQDjJLwolDrVX29V4zVmxQYH5iN+5kwKXHXj + suHBrW02Oj/GQFh3Xj6JQi3mzTWYhHwhA4pdaQtNYqTaz9Ic/O1VNPic2ovtg+cd + 7sh86qdQ4QZYhN3RT4oX///u6+UK90llh9hEBo3GuZ4X47tuByNtD4SFAlULrkSm + fW4XaC3gIwKBgGil6HfCDx65F00UnVlKVicPQEf8ivVz5rwjPIJQ1nZ0PYuxVtIH + tl7PspJJKra5pb7/957vM2fqlOFsIrZCvmS75p3VP7qUyzYeIdzLwgmBwTxRrrP/ + n3kmGx9LtJM29nKuySNIrb3uS5hi6PhCeUYn0cHC13fSKuCvjOOPIXMVAoGBAJg+ + CPdR0tUs8Byq+yH0sIQe1m+5wAG50zJYtUPxD6AnDpO8kQ8A1f19o/JsXJ3rPp+K + FfVh8LdfhIs8e+H+DLztkizftqXtoLzJTQuc46QsDurJszsVisNnTI1BAvWEpWct + 0+BUXDZ0NuhgNUIb+rygh/v2gjYgCddlfqKlqwntAoGBAM5Kpp5R0G0ioAuqGqfZ + sHEdLqJMSepgc6c7RC+3G/svtS2IqCfyNfVMM3qV5MY3J7KnAVjGOw2oJbXcPLXa + uutsVVmPx2d/x2LZdc8dYYcdOQZvrUhmALhAPXM4SRujakxh+Uxi1VOiW+fZL8aW + uu1pxuWD0gTJxFkp6u4YIAhw + -----END PRIVATE KEY----- + publicKey: |- + -----BEGIN PUBLIC KEY----- + MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAzLtduponsAlAk+3+PQdE + sgjxRs5qhkrPa0z25NbHvgQYan4bH5GY+nEUX65YN65nusHtCG9gBeU0C56EgZQw + IpkHDTh166qQGPwdJf5oMlMJn79DSd1I2bghbsNx0a1P6ElH16AyEwvgYtdtMOBW + Ngf7z5/tYgv7bGgmsp3qGlf0nnaux/frJhJ0Hxpd6eUCafwdlrNwc9R6iCKMSxGj + vVTHgx0D7zSZ/+4PXq6gObyIZoC0uOsKKzlY3USx9khAh+96qfFoNKyfGHltpEPJ + LmOLh3BtzDuna2KwtNdVNGcjPdCle3b9mNIdhR5aZ/bP6Zm+t9JuRC6ZwU/6WEy3 + FwIDAQAB + -----END PUBLIC KEY----- + testfsp1: + ingress: + hosts: + - sim-testfsp1.local + config: + schemeAdapter: + secrets: + jws: + # The following is an example key and shouldn't be used in production + privateKey: |- + -----BEGIN PRIVATE KEY----- + MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDZHci4QOmoO2xL + 3p6YjS90Iml5v+WcLFHY3DnHpncaML09EUInaCxLZmrvQ1pRDnJauutn0Nnw+OAJ + ep+1Qobja4WyJssWk3T0iNC5kIO4CQJ0SMyCb7GJ6zjtqNHOXp685zQKWRAFlUbJ + uX1ECvo1FMU5iRiMnTFLQw2R9GQOI4S7kED9cpvmgtvJUyMbK8uDJLWDjXHh8D4J + xvk8Q1qH12qQUnePbXxGz5sbK2tWqusIKNXUWIj5j1iMq5NFGjtT+NwYct8RzthF + w/ZT2izFDEW+EfFHtbR7vh8BTwHxggnPCNpC+sSH1IlFzYhmyHoR0EBdeZuTiwcr + KGhfRvJRAgMBAAECggEAJ1r6QMfncsq+sSv71Iw3D1aThvGtZbc06NnWkWWPzkwK + aXDg7HK6ILrCZHdxfiLfwKmENU/KyZ7bQWycWYdjGwMo+2eDxaZZ+193ckOLVMcx + TjHJ/FTRuj3MlmvVCBLntDc2nC+Ts2dhKvy4A6b3vrpym6DJtedigZF4er3xiww4 + a9XV7vr5xDEjf4kFWWGtEDuF+4YAEBbmD76cRyF5Hv8eoU0MELCelHqL1jL7W6/5 + sTfbTxRIFO3wmJhW2ZRRyD9EN5lmP9dROxIE4H3tRBihUJVDBA0IXGiE2Z+NjOUJ + ycbZVT0LMa3XeYKdrhHRGFafWPSPIJCyQOIK33V6BwKBgQD/TjS9sXJ9hXu53bM1 + 8/X780kUp66GQF5V+QhMAVW/6BdQ1Fkhv6AuJZl+FujBRszSdl96thILy87qkP+n + dUDxXn5B2B7MQ1K7uwmKrYW087BfDPa+3R7wKJ4fndIhrqANGy1KCfwhe8GJEzpP + vlI4JeInrgMXyQgZgj+65zE22wKBgQDZtPu1MD8SJVvUYXgP1u0XqJWZDo5dndI1 + KA7UlefbBqqtZ87EP7zxcTZHaRLuMBPEppH4+K4NsopnZh4rD+bV/NOJ/rI6PMZe + zIkjLYE+KTgvM7pvwDy+q08fDYnucS4xnHOjLzw8/l4ptJ1uigXkx8PSl94118+5 + h4Ac4ZL1QwKBgQCk/3MggXT/4GvU9I4kuVVpjpLVkYU+aI1PPNH65QX5L9MZvxMX + t5ObH1uy3LVybAJlpnEQimjhTMeeWzWOkT32gF5SyY0l8AChKUECaiC2kKOU2nkB + Y0Diby26OzIZ6JSxw7WiWw+iyCuNHmsaLGNQvFML1+9RyO++JKpxbYcl7wKBgBbd + Vi5CYe1i9REKJ5TqSr5YW1XW3Ibig2hHy77x+4baXWSW6XVdCFgHPt8jHvTbIche + gig23fjcToLri7GUGvdQdVsh39AT//WG38RNDCzeIWN7uFHyS67uyQGG53yecG6P + cumplVcGlBcnO/2XC2VqwZtFjfXzs4JVw9PEsS2HAoGANdd6dNf7ETpBgAlesWgS + 73JAElMGkQH42dqejEzMa5CXUCPLQdqHCgxaT4M25c6F8tUhb2qSvV+Cl+zVkqlA + CpocM6+FV4oYNLIJUtNJj+XLbDkV2XjXYzuzcGlDd9HAv6hzg0zHOhN6ETsxqIx7 + dvV4dxN19eDirp9AVl6k3Ew= + -----END PRIVATE KEY----- + publicKey: |- + -----BEGIN PUBLIC KEY----- + MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2R3IuEDpqDtsS96emI0v + dCJpeb/lnCxR2Nw5x6Z3GjC9PRFCJ2gsS2Zq70NaUQ5yWrrrZ9DZ8PjgCXqftUKG + 42uFsibLFpN09IjQuZCDuAkCdEjMgm+xies47ajRzl6evOc0ClkQBZVGybl9RAr6 + NRTFOYkYjJ0xS0MNkfRkDiOEu5BA/XKb5oLbyVMjGyvLgyS1g41x4fA+Ccb5PENa + h9dqkFJ3j218Rs+bGytrVqrrCCjV1FiI+Y9YjKuTRRo7U/jcGHLfEc7YRcP2U9os + xQxFvhHxR7W0e74fAU8B8YIJzwjaQvrEh9SJRc2IZsh6EdBAXXmbk4sHKyhoX0by + UQIDAQAB + -----END PUBLIC KEY----- + testfsp2: + ingress: + hosts: + - sim-testfsp2.local + config: + schemeAdapter: + secrets: + jws: + # The following is an example key and shouldn't be used in production + privateKey: |- + -----BEGIN PRIVATE KEY----- + MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQC/uTQyrLSNJcWk + cP39r5iXl2Nerod3IL4GxID+xEpzMQEpDJbyYQlUgsAqQ6JtbMrt75ImNA9sWOCq + JRm9Ejn6CAeRIlcRXbwGLawXnwDXmxCPBpKQTa8HAsAvkZ+1KZqjRBKjNJ9D5EXD + Y36WhEZh51dmlEyxgWvW4DWpq9wGOiPsmo+kgPtRpOBfDAdZtX6Pa6FB+i2pG85D + kpObHkclr5WM+77EALuaZwv53GZ4GlskkPkuLwHyCAlcYlST4SfpdIiBmRDq8q8L + 0fJqwTpZktdT4kmgKnbCQI81NHHM8TY8aeUjRrhk/b/L/bJpxzgdAYGEQxz5JVP9 + VJloxL4BAgMBAAECggEAGZJlDy5AbcQgOrj0c7IIXw3K6/3I5T+JgQMUNobtbDRY + 1IYQmxcMxMgkw+5d+4zjez11R6GxffDT1HXa20BTWdFY2weSx+bx9XwBhGwJk3hk + CsOkaFloMz3vbtjUTbhVHxotBzY1WPuZP4CliYNulM/jtTOqEBH0VYZ1ueIJmI3N + EtSUO1IAYO8SyP4sozLpAIfp4+ftML4HVCiD6aKdVl38S3PX65j1Q3x9Jz3GBSBo + 9UA6cQHRoCMrujeIAeY2uUCevhdm75xoywVFSCpRCguFxIX5GbvISJRL8XFNhDHl + OY7yHSOJSmnedFh8oRwBDKkoxhwb+nn1wjf4FXdY/QKBgQDgRuqPx2ou25vKOnx1 + G/xvvMLWzB9KF2wqqFP4uNv0dI9qJ7zCf1ifneAv/CEU+JwX5KJknUtanCpWZare + vlWSH0UItgs0cgEKjKFwYzXIlc06TffkFz+UlGlLXSFD3BR59xmOY/ZwXlgPz4iW + 6TefXvrU+jNGigJVIYEMzBaCLQKBgQDa14VuCOjMa0YtzAd1cQ2jd8dYovnko/J0 + OQtdx9WoEdeKsCJ8cwVJxSOF4739i0h2Bxa/lLI6mn9VuBKddBLThO1+vBCQ1SCi + rQGYy1JUchy7OTBo1pEMAQ9AsFGXDMg4/uWdM18O9JwDHAIKsj+vGP+NTgVSO5Cq + lO6QgG+TpQKBgHsKLNDoQ/alAFj3sSPGUL00P2f74AaTxwG4CylesTzxXWSNnF7P + 4lzfDgkFN1j78xaglf7A1IBHQGrZp94/aU6a3RKkXI1PJgcVk9PGedErbcXY1HBL + 2NO4f/Oaig9ig9FNoLWfXanT+FfkMTkphRxnzRBemxbNy+3MTbIpnQeZAoGBAMSF + yKAAxjZUm2gjEguoI6xJsy3o5WoqxF8Unx1viHHu29YCyGVj0TrnGzhwRTx8KO08 + /nO677bq6TCsJaNaClICzFgEQQgfLLiJjqaM5/lHpH+JIuzyyryx8uWPsSVpaCCu + 3rol2NaQWc39B+RdIA148H0PtH2dWhOlvPrtK8W1AoGBAMza6OkhyCIzSTKVSWuF + dvIUbj6jjFLuRapusG+JX+B12Upa6Z3lOHe7e0VWq3rgTktnfqf2gO55b+3o30o4 + ww+sGmRdqMTuPCCZx41XT/v0loYm+ik1GAJz1TUFDDtXlouD2QCDJJfZqPIQf29/ + bFt8u+844ddF0+j5r5Q2aXdR + -----END PRIVATE KEY----- + publicKey: |- + -----BEGIN PUBLIC KEY----- + MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAv7k0Mqy0jSXFpHD9/a+Y + l5djXq6HdyC+BsSA/sRKczEBKQyW8mEJVILAKkOibWzK7e+SJjQPbFjgqiUZvRI5 + +ggHkSJXEV28Bi2sF58A15sQjwaSkE2vBwLAL5GftSmao0QSozSfQ+RFw2N+loRG + YedXZpRMsYFr1uA1qavcBjoj7JqPpID7UaTgXwwHWbV+j2uhQfotqRvOQ5KTmx5H + Ja+VjPu+xAC7mmcL+dxmeBpbJJD5Li8B8ggJXGJUk+En6XSIgZkQ6vKvC9HyasE6 + WZLXU+JJoCp2wkCPNTRxzPE2PGnlI0a4ZP2/y/2yacc4HQGBhEMc+SVT/VSZaMS+ + AQIDAQAB + -----END PUBLIC KEY----- + testfsp3: + ingress: + hosts: + - sim-testfsp3.local + config: + schemeAdapter: + secrets: + jws: + # The following is an example key and shouldn't be used in production + privateKey: |- + -----BEGIN PRIVATE KEY----- + MIIEuwIBADANBgkqhkiG9w0BAQEFAASCBKUwggShAgEAAoIBAQCZKXDVFI703fvK + SdDnFukWC6EbQipNSg+MzzZvt+E/ynkBO35QK4E9Z3RgOWS74GxMI+K+h6k4+3Z0 + XQJjJAj8dPeserCMnTgThQ76fZ5kDi3YtdoFoxvNVQhTVBGe4soocb/H6XKoUXVH + qDI4J+KiW4t/bz3OnVRhHIzCdnM5kGFQnXchWgL3ymhueU8m2d6532GqsEbhC9dZ + D3cbo757UZAn4TZUgiTVSlY07e4nUulUvVV0+pQmjZMwBQNxonBVkFQWuitrbMVh + ZYEYUL5tB07OAfN/p2LcxumCJ49dGqLvC0VyMsGQkZ3dS9kNKx/sP67xlSl9YeCI + PN95wxcFAgMBAAECggEAB+EQ4h/89O3e+SGpAPiZTxOUFAkEyTIz1CR6kIstNhEB + 4iVYzykBV2D/3YZ9cOxk/r1N3WgGUggCGlYlPEtO1UJk8g//8jaRNEYWZp582nkR + mEWjjKWUOR8pu0JYdUTM0Va2CYrayUMGoPXZzNtPiCw5q0C3pycRDdngQMaKgra7 + kj0pOITHpgN4bCPeutKAX514aD+nobJ4UOjcWcAemuoM4ZSl/tqZziXAHi3DjuIL + jTfeBKae7tViUuQPwxcCNffTAsKAlI0BaD10fb1gzwLZkY4E8LThlIR3Pk6BdPlA + ab0Gu9rtgIbPJnNFp5QWMVelW+2WF2qWfszu2HloFQKBgQDLhLh8xsP2ioGWLyFl + JKGDzyNYn+MC3ZWaNttsprl+hBXRMGXfMDlGSJ0WAHYDgjMJIcZqUmPGGchQkwC0 + QnTeRbFLSlzVormqYVxJqrlNs3t0KRqarq1S3aFEPQI/aLBjsuXFlHegdpLJHQW6 + exZvU4+ShS+LMZeu/ywqsUIqgwKBgQDAqG3mFmY3NYZLAA2YWsxU2bQyHgqnK7CJ + XZxZ+FE+2Xo2EqAMM3fJj5IShlCnjE7ciMt1hyigKTZlKIiO7iOCAiZ0P4XOZuOA + p3wQEFCjfl7mjTXj75LzWTla+92B1t2tHhYXdd1y3M3yci8UK76MxCZrK/ol4oN5 + UhEHQaeh1wJ/XQNLTbuJ1CN5Fip0GMWlC5ifjuGD3stmlBR+NCn+nNPBJNn5tQdV + JcoKAQQ062WV7ZaCGBWPg/pEko6cw8Wbo/o2DTLvOrQkJrpYc1KTXe+pfG1Mu2UZ + 0cV47rbzUAeIlggs+x/fjHakn0WkWJXoqviFpXE5SWRg7pmwldJtawKBgQCEj9/+ + n475kgSzenfgSympgJqymWUvHaq8+gJpDampmy6yIiKqAof70qPpxy2b+7kPmbiV + R8i2W2UoObmsz0LzY9NdzY+eM8F6dsOwsekqdfuKm8Nm8SOl+dCzP/ZsLpIdWkRN + JDaZoEC8/8BRGsBkT1s4Bux6QN/CDKvW2GAlxQKBgDcTDbSxhmyMjDJr5p1oy4re + Ju0bMtFyf95B2mqMw781JoKxXHfHNBwtHgku1JHSKtTRCH7w4uoLrN+dDXd68Q6b + qmJ4KNL+8ac2sJWOyjWP2bB62/Yqx/XcFJXHbfnvSEXRGav+D/aq3xkmRDwa8wqM + zmVQaekRl4XbZA8+Fvgw + -----END PRIVATE KEY----- + publicKey: |- + -----BEGIN PUBLIC KEY----- + MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAmSlw1RSO9N37yknQ5xbp + FguhG0IqTUoPjM82b7fhP8p5ATt+UCuBPWd0YDlku+BsTCPivoepOPt2dF0CYyQI + /HT3rHqwjJ04E4UO+n2eZA4t2LXaBaMbzVUIU1QRnuLKKHG/x+lyqFF1R6gyOCfi + oluLf289zp1UYRyMwnZzOZBhUJ13IVoC98pobnlPJtneud9hqrBG4QvXWQ93G6O+ + e1GQJ+E2VIIk1UpWNO3uJ1LpVL1VdPqUJo2TMAUDcaJwVZBUFrora2zFYWWBGFC+ + bQdOzgHzf6di3MbpgiePXRqi7wtFcjLBkJGd3UvZDSsf7D+u8ZUpfWHgiDzfecMX + BQIDAQAB + -----END PUBLIC KEY----- + testfsp4: + ingress: + hosts: + - sim-testfsp4.local + config: + schemeAdapter: + secrets: + jws: + # The following is an example key and shouldn't be used in production + privateKey: |- + -----BEGIN PRIVATE KEY----- + MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDH5Q+uzIdf7yTX + 4A23TTaGSCMU6ieKUmg2qsRJ0/lnk50A0eFQb98ux/XT90oEpqa8dqpla7lic3BK + XdWoUYI+zmauzepTE3L0IZJB7VzQcPfbZiFG7OrGPAUtxxz4FBbKSA7FJnchIAEs + blsyu2mQx+zbeajnQS3P+6oqDjdyuT5JyDjna7UFarozx1YXExwyfKsEtIPuMh/U + L/q80gtWbXA9nA38t7vmdqxhh4PMddHgSEl6KK29yqwHsgpVg/5Yi0ubhbgLQbHm + 6XflBQK05t5AqD2j5h94h/dk9WzoWft8/haxI3OqFoaOOQmHemSs3KJndL+PyzL7 + 6JCMlsHBAgMBAAECggEACsA4V3WjG0cEo4KmojLqKY80KdINJdyYQ8Zr76+RpJ81 + DL/8/wNBTOYOw+NzLOxcn9q+/9zrF88vHSTOUrLtjxyxO5oSDf1IC7bJg7e1K/XD + ct6bkBG6b8Z3HdbtaS9FaYQ2HSbcNeEfhwj5aTFYtGN4SvaQXb2s7dhydrgUhdw1 + 1TxXDio728BjRvCOex4H2lmJSflGYwHGJpy1C5Q8upAAMhKMP11598i9Vw7JJI4t + wZ2vv3w728ApnQzDIiLzKMvNtvoEwQ7PlnSevL6V4sYAnsAmx6ZctEEv632nGPqk + f5XLlDaczcRDcpAC+nyJKER7T/+emWNFlV0Mj+JMQQKBgQDncR0EzPRWGCDBmH8K + e2hzzS0RmLb1nouhcFb6EiQR4WTvB8BjAJuf1Brq7gX1b/gGfWkYPS/9AKOI/JzO + YHACgQmvTaF2WMHcvhb2F/Z96cKIpsD++RIARClv7MSfbTBVcBXbwaboN/B89sGG + 4+07ciy4uCwdK7wJP2gSyy3AsQKBgQDdGwDGppVdcGc4cStlCKoGQnT5owCidqP+ + pLdF5d69pLKaFKFzUh92dUOwLh4qonuOgGGy574JE0oncKn72eie6biEesu+4uuR + Teu2qrKiHBPDtPlrBZrYnlyE6h9dftAie++bu0UzMSP4WtevxzF0xykELXtlJUx7 + fSjZ7UnWEQKBgQC/qdPPQu/hUG/oAyLKCnLw22xEU0TI2XhmxEKzK0zFpfPRY4j2 + M+2tCZkVDvLOU+CBd2AOG7Xe/qVvb0toOULpP/VGQLLC8DPzW1Rmjmep1Gkug3H2 + dUtr/waV0uzt3h2V05G2gIN5ccHtquePjrfKb/4LJzIZIjvBKMpGLg6AsQKBgAs2 + 32cz88d1eAbI1qadNeJzZHN07QdQdSjpOdJ1wkJkJBrkiPvMYoQjlndNH4KSEyo7 + ILluP5k+PTia4kQ/3SiSOiWeBM99uuz3wsjVB5JpUidO+oePFTd/cLndFhIr6GqX + VqPTb8MU7vodwWrM85k0sMPheqy6o5Jv2q6S9nfBAoGAai34NUJam3rAw+5EF1fI + 9v1AQxFmCX1xPawaFqudGxwod+NtrU5T11O07gDOC9V1ZdDU5btTlEoDgDiy5GNo + 9Bve6yCxr2L7ZaKNccw+yuqTrIzHD4JBpanHjafPCDB+auW0U1lP7Q7TDSzJ42E9 + yq8V8FKKjAQ2hlGoSVfEvG0= + -----END PRIVATE KEY----- + publicKey: |- + -----BEGIN PUBLIC KEY----- + MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAx+UPrsyHX+8k1+ANt002 + hkgjFOonilJoNqrESdP5Z5OdANHhUG/fLsf10/dKBKamvHaqZWu5YnNwSl3VqFGC + Ps5mrs3qUxNy9CGSQe1c0HD322YhRuzqxjwFLccc+BQWykgOxSZ3ISABLG5bMrtp + kMfs23mo50Etz/uqKg43crk+Scg452u1BWq6M8dWFxMcMnyrBLSD7jIf1C/6vNIL + Vm1wPZwN/Le75nasYYeDzHXR4EhJeiitvcqsB7IKVYP+WItLm4W4C0Gx5ul35QUC + tObeQKg9o+YfeIf3ZPVs6Fn7fP4WsSNzqhaGjjkJh3pkrNyiZ3S/j8sy++iQjJbB + wQIDAQAB + -----END PUBLIC KEY----- + + defaultProbes: &defaultProbes + livenessProbe: + enabled: true + initialDelaySeconds: 3 + periodSeconds: 30 + timeoutSeconds: 10 + successThreshold: 1 + failureThreshold: 3 + readinessProbe: + enabled: true + initialDelaySeconds: 3 + periodSeconds: 5 + timeoutSeconds: 5 + successThreshold: 1 + failureThreshold: 3 + + ingress: + # If you're using nginx ingress controller >= v0.22.0 set this to (/|$)(.*). Ensure that you set the `"nginx.ingress.kubernetes.io/rewrite-target": "/$2"` + # If you're using nginx ingress controller < v0.22.0 set this to an empty string or "/". Ensure that you set the `"nginx.ingress.kubernetes.io/rewrite-target": "/"` + # This affects the way your rewrite target will work. + # For more information see "Breaking changes" here: + # https://github.com/kubernetes/ingress-nginx/blob/master/Changelog.md#0220 + + ## https://kubernetes.github.io/ingress-nginx/examples/rewrite/ + # nginx.ingress.kubernetes.io/rewrite-target: '/' + # nginx.ingress.kubernetes.io/rewrite-target: '/$2' + ## https://kubernetes.github.io/ingress-nginx/user-guide/multiple-ingress/ + # kubernetes.io/ingress.class: nginx + ## https://kubernetes.github.io/ingress-nginx/user-guide/tls/#automated-certificate-management-with-kube-lego + # kubernetes.io/tls-acme: "true"" + + ## nginx ingress controller >= v0.22.0 + annotations: + nginx.ingress.kubernetes.io/rewrite-target: '/$2' + ingressPathRewriteRegex: (/|$)(.*) + + ## nginx ingress controller < v0.22.0 + # annotations: + # nginx.ingress.kubernetes.io/rewrite-target: '/' + # ingressPathRewriteRegex: "/" + + # If you enable JWS validation and intend to communicate via a switch you will almost certainly + # want to put your switch JWS public key in this array. The name of the property in this object + # will correspond directly to the name of the signing key (e.g., in the example below, + # `switch.pem`). Do not include the `.pem` extension, this will be added for you. The scheme + # adapter will use the FSPIOP-Source header content to identify the relevant signing key to use. + # The below example assumes your switch will use `FSPIOP-Source: switch`. If instead, for example, + # your switch is using `FSPIOP-Source: peter` you will need a property `peter` in the following + # object. Do not add the public keys of your simulators to this object. Instead, put them in + # `mojaloop-simulator.simulators.$yourSimName.config.schemeAdapter.secrets.jws.publicKey`. + sharedJWSPubKeys: + # switch: |- + # -----BEGIN PUBLIC KEY----- + # blah blah blah + # -----END PUBLIC KEY----- + + defaults: + # Changes to this object in the parent chart, for example 'mojaloop-simulator.defaults' will be + # applied to all simulators deployed by this child chart. + config: + # Config for init containers + initContainers: + waitForCache: + enabled: true + + imagePullSecretName: dock-casa-secret + + cache: + + # These will be supplied directly to the init containers array in the deployment for the + # scheme adapter. They should look exactly as you'd declare them inside the deployment. + # Example: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/#init-containers-in-use + # This init container will have the same environment variables as the main backend container, + # as specified in .env below. + # Additionally, the following preset environment variables will be set: + # SIM_NAME: the name of the simulator as specified in the `mojaloop-simulator` config + # SIM_SCHEME_ADAPTER_SERVICE_NAME: "sim-$SIM_NAME-scheme-adapter" + # SIM_BACKEND_SERVICE_NAME: "sim-$SIM_NAME-backend" + # SIM_CACHE_SERVICE_NAME: "sim-$SIM_NAME-cache" + initContainers: [] + enabled: true + image: + repository: redis + tag: 5.0.4-alpine + pullPolicy: IfNotPresent + <<: *defaultProbes + livenessProbe: + enabled: true + timeoutSeconds: 5 + readinessProbe: + enabled: true + timeoutSeconds: 5 + + schemeAdapter: + secrets: + jws: + # Use the privKeySecretName field if you would like to supply a JWS private key external + # to this chart. + # For example, if you create a private key called `sim-payerfsp-jws-signing-key` external + # to this chart, you would supply `privKeySecretName: sim-payerfsp-jws-signing-key` here. + # These fields will take precedence over `privateKey` and `publicKey` below. + # This field is best supplied per-simulator, however it's here for documentation + # purposes. + privKeySecretName: {} + # TODO: update `privKeySecretName` above to contain both a name and a key in the secret. + # Add documentation on usage. + # privKeySecret: {} + # name: + # key: + # + # The `publicKeyConfigMapName` field allows you to supply a ConfigMap containing JWS public + # keys external to this release, and have this release reference that ConfigMap to + # populate JWS public keys. The format of this ConfigMap must be as described for + # `sharedJWSPubKeys`, a map with one key per FSP/simulator corresponding to the + # FSPIOP-Source header that will be supplied by that FSP/simulator. + publicKeyConfigMapName: {} + # Supply per-simulator private and public keys here: + privateKey: '' + publicKey: '' + image: + repository: mojaloop/sdk-scheme-adapter + tag: v18.0.2 + pullPolicy: IfNotPresent + <<: *defaultProbes + + # These will be supplied directly to the init containers array in the deployment for the + # scheme adapter. They should look exactly as you'd declare them inside the deployment. + # Example: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/#init-containers-in-use + # This init container will have the same environment variables as the main scheme adapter + # container, as specified in .env below. + # All init containers will have the same preset environment variables as the backend init + # container as specified above. + initContainers: [] + + scale: + enabled: false + spec: + minReplicas: 1 + maxReplicas: 10 + metrics: + - type: Resource + resource: + name: cpu + target: + type: Utilization + averageUtilization: 80 + + env: + # Ports the scheme adapter listens on. Shouldn't really matter for a user of this chart. + # You probably shouldn't bother configuring them- it likely won't do you much good. But it + # won't do any harm, either. + INBOUND_LISTEN_PORT: 4000 + OUTBOUND_LISTEN_PORT: 4001 + TEST_LISTEN_PORT: 4002 + + # Enable mutual TLS authentication. Useful when not running in a secure + # environment, i.e. when you're running it locally against your own implementation. + INBOUND_MUTUAL_TLS_ENABLED: false + OUTBOUND_MUTUAL_TLS_ENABLED: false + TEST_MUTUAL_TLS_ENABLED: false + + # Enable JWS verification and signing + VALIDATE_INBOUND_JWS: false + JWS_SIGN: true + + # applicable only if VALIDATE_INBOUND_JWS is `true` + # allows disabling of validation on incoming PUT /parties/{idType}/{idValue} requests + VALIDATE_INBOUND_PUT_PARTIES_JWS: true + + # applicable only if JWS_SIGN is `true` + # allows disabling of signing on outgoing PUT /parties/{idType}/{idValue} requests + JWS_SIGN_PUT_PARTIES: true + + # The number of space characters by which to indent pretty-printed logs. If set to zero, log events + # will each be printed on a single line. + LOG_INDENT: "0" + + # REDIS CACHE CONNECTION + # CACHE_HOST: "" # Default is parametrised, but it's possible to override this + CACHE_PORT: 6379 + + # Switch or DFSP system under test Mojaloop API endpoint + # The option 'PEER_ENDPOINT' has no effect if the remaining options 'ALS_ENDPOINT', 'QUOTES_ENDPOINT', + # 'BULK_QUOTES_ENDPOINT', 'TRANSFERS_ENDPOINT', 'BULK_TRANSFERS_ENDPOINT', 'TRANSACTION_REQUESTS_ENDPOINT' are specified. # Do not include the protocol, i.e. http. + PEER_ENDPOINT: "mojaloop-switch" + # Common Account Lookup System (ALS) + ALS_ENDPOINT: $release_name-account-lookup-service + QUOTES_ENDPOINT: $release_name-quoting-service + TRANSFERS_ENDPOINT: $release_name-ml-api-adapter-service + BULK_TRANSFERS_ENDPOINT: $release_name-bulk-api-adapter-service + BULK_QUOTES_ENDPOINT: $release_name-bulk-quoting-service + TRANSACTION_REQUESTS_ENDPOINT: $release_name-transaction-requests-service + + # This value specifies the endpoint the scheme adapter expects to communicate with the + # backend on. Do not include the protocol, i.e. http. + # You're very likely to break the functioning of this chart if you configure the following + # value. This config item has been copied from the service repo for consistency with that, + # so that if you come here and find this variable, with this comment, it's less confusing + # than if you come here and it's missing entirely. + # BACKEND_ENDPOINT: "localhost:3000" + + # FSPID of this DFSP + # Commented by default- you're likely to break the chart if you configure this value. + # DFSP_ID: "mojaloop-sdk" + + # Secret used for generation and verification of secure ILP + ILP_SECRET: "Quaixohyaesahju3thivuiChai5cahng" + + # expiry period in seconds for quote and transfers issued by the SDK + EXPIRY_SECONDS: "60" + + # if set to false the SDK will not automatically accept all returned quotes + # but will halt the transfer after a quote response is received. A further + # confirmation call will be required to complete the final transfer stage. + AUTO_ACCEPT_QUOTES: true + + # if set to false the SDK will not automatically accept a resolved party + # but will halt the transer after a party lookup response is received. A further + # confirmation call will be required to progress the transfer to quotes state. + AUTO_ACCEPT_PARTY: true + + # when set to true, when sending money via the outbound API, the SDK will use the value + # of FSPIOP-Source header from the received quote response as the payeeFsp value in the + # transfer prepare request body instead of the value received in the payee party lookup. + # This behaviour should be enabled when the SDK user DFSP is in a forex enabled switch + # ecosystem and expects quotes and transfers to be rerouted by the switch to forex + # entities i.e. forex providing DFSPs. Please see the SDK documentation and switch + # operator documentation for more information on forex use cases. + USE_QUOTE_SOURCE_FSP_AS_TRANSFER_PAYEE_FSP: false + + # set to true to validate ILP, otherwise false to ignore ILP + CHECK_ILP: true + + # set to true to enable test features such as request cacheing and retrieval endpoints + ENABLE_TEST_FEATURES: true + + # set to true to mock WSO2 oauth2 token endpoint + ENABLE_OAUTH_TOKEN_ENDPOINT: false + OAUTH_TOKEN_ENDPOINT_CLIENT_KEY: "test-client-key" + OAUTH_TOKEN_ENDPOINT_CLIENT_SECRET: "test-client-secret" + OAUTH_TOKEN_ENDPOINT_LISTEN_PORT: "6000" + + # WS02 Bearer Token specific to golden-fsp instance and environment + WS02_BEARER_TOKEN: "7718fa9b-be13-3fe7-87f0-a12cf1628168" + + # OAuth2 data used to obtain WSO2 bearer token + OAUTH_TOKEN_ENDPOINT: "" + OAUTH_CLIENT_KEY: "" + OAUTH_CLIENT_SECRET: "" + OAUTH_REFRESH_SECONDS: "3600" + + # Set to true to respect expirity timestamps + REJECT_EXPIRED_QUOTE_RESPONSES: false + REJECT_TRANSFERS_ON_EXPIRED_QUOTES: false + REJECT_EXPIRED_TRANSFER_FULFILS: false + + # Timeout for GET/POST/DELETE - PUT flow processing + REQUEST_PROCESSING_TIMEOUT_SECONDS: "30" + + # To allow transfer without a previous quote request, set this value to true. + # The incoming transfer request should consist of an ILP packet and a matching condition in this case. + # The fulfilment will be generated from the provided ILP packet, and must hash to the provided condition. + ALLOW_TRANSFER_WITHOUT_QUOTE: true + RESERVE_NOTIFICATION: false + RESOURCE_VERSIONS: transfers=1.1,quotes=1.1,participants=1.1,parties=1.1,transactionRequests=1.1 + + + backend: + image: + repository: mojaloop/mojaloop-simulator + tag: v13.0.1 + pullPolicy: IfNotPresent + <<: *defaultProbes + + # These will be supplied directly to the init containers array in the deployment for the + # backend. They should look exactly as you'd declare them inside the deployment. + # Example: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/#init-containers-in-use + initContainers: [] + + # Supply JSON rules here as a string + # Example: + # rules: |- + # [ + # { + # "ruleId": 1, + # .. etc. + # } + # ] + rules: |- + [] + + env: + ## + # This is the endpoint the backend expects to communicate with the scheme adapter on. + # Include the protocol, i.e. http. + # It's not configured by default in this chart as the default value is calculated in a + # template and configuring it is likely to break communication between the backend and the + # scheme adapter. + # OUTBOUND_ENDPOINT: "http://localhost:4001" # within the pod + + # Enable mutual TLS authentication. Useful when the simulator is not running in a managed + # environment, i.e. when you're running it locally against your own implementation. + MUTUAL_TLS_ENABLED: false + + # Enable server-only TLS; i.e. serve on HTTPS instead of HTTP. + HTTPS_ENABLED: false + + # Location of certs and key required for TLS + CA_CERT_PATH: /secrets/cacert.pem + SERVER_CERT_PATH: /secrets/servercert.pem + SERVER_KEY_PATH: /secrets/serverkey.pem + + # The number of space characters by which to indent pretty-printed logs. If set to zero, log events + # will each be printed on a single line. + LOG_INDENT: "0" + + # The name of the sqlite log file. This probably doesn't matter much to the user, except that + # setting :memory: will use an in-memory sqlite db, which will be faster and not consume disk + # space. However, it will also mean that the logs will be lost once the container is stopped. + SQLITE_LOG_FILE: ':memory:' + + # The DFSPID of this simulator. The simulator will accept any requests routed to + # FSPIOP-Destination: $SCHEME_NAME. Other requests will be rejected. + # Not set in this chart as these are calculated in templates. Setting this values is likely + # to break expected functionality. + # SCHEME_NAME: golden + # DFSP_ID: golden + + # The name of the sqlite model database. If you would like to start the simulator with preloaded + # state you can use a preexisting file. If running in a container, you can mount a sqlite file as a + # volume in the container to preserve state between runs. + # Use MODEL_DATABASE: :memory: for an ephemeral in-memory database + MODEL_DATABASE: ':memory:' + + # The simulator can automatically add fees when generating quote responses. Use this + # variable to control the fee amounts added. e.g. for a transfer of 100 USD a FEE_MULTIPLIER of 0.1 + # reuslts in fees of USD 10 being applied to the quote response + FEE_MULTIPLIER: "0.05" + + # Specifies the location of a rules file for the simulator backend. Rules can be used to produce + # specific simulator behaviours in response to incoming requests that match certain conditions. + # e.g. a rule can be used to trigger NDC errors given transfers between certain limits. + RULES_FILE: ../rules/rules.json + + # Ports for simulator, report, and test APIs + SIMULATOR_API_LISTEN_PORT: 3000 + REPORT_API_LISTEN_PORT: 3002 + TEST_API_LISTEN_PORT: 3003 + + thirdpartysdk: + secrets: + tls: + # In order to enable TLS with your supplied credentials, you will need to: + # 1. set all three of the `cert`, `key`, `cacert` fields appropriately for each of + # `inbound` and `outbound` as per your preference. + # 2. optionally specify `schemeAdapter.env.INBOUND_MUTUAL_TLS_ENABLED: true` + # 3. optionally specify `schemeAdapter.env.OUTBOUND_MUTUAL_TLS_ENABLED: true` + # It probably makes sense to set your CA cert in defaults. Note that the default is that + # the CA, cert and key will be generated for you by this chart. To use this functionality + # you only need specify the config documented in steps (2, 3, 4) a few lines up. + # + # inbound: + # key: | + # -----BEGIN CERTIFICATE----- + # ... + # -----END CERTIFICATE----- + # cacert: | + # -----BEGIN CERTIFICATE----- + # ... + # -----END CERTIFICATE----- + # cert: | + # -----BEGIN RSA PRIVATE KEY----- + # ... + # -----END RSA PRIVATE KEY----- + # + # To set the same values for each of inbound and outbound, specify the values for + # inbound as above, then the values for outbound using yaml anchors: + # + # inbound: &inbound + # key: | + # .. + # cacert: | + # .. + # cert: | + # .. + # outbound: *inbound + inbound: + outbound: + jws: + # Use the privKeySecretName field if you would like to supply a JWS private key external + # to this chart. + # For example, if you create a private key called `sim-payerfsp-jws-signing-key` external + # to this chart, you would supply `privKeySecretName: sim-payerfsp-jws-signing-key` here. + # These fields will take precedence over `privateKey` and `publicKey` below. + # This field is best supplied per-simulator, however it's here for documentation + # purposes. + privKeySecretName: {} + # TODO: update `privKeySecretName` above to contain both a name and a key in the secret. + # Add documentation on usage. + # privKeySecret: {} + # name: + # key: + # + # The `publicKeyConfigMapName` field allows you to supply a ConfigMap containing JWS public + # keys external to this release, and have this release reference that ConfigMap to + # populate JWS public keys. The format of this ConfigMap must be as described for + # `sharedJWSPubKeys`, a map with one key per FSP/simulator corresponding to the + # FSPIOP-Source header that will be supplied by that FSP/simulator. + publicKeyConfigMapName: {} + # Supply per-simulator private and public keys here: + privateKey: '' + publicKey: '' + image: + repository: mojaloop/thirdparty-sdk + tag: v15.1.0 + pullPolicy: IfNotPresent + inboundCommand: '[ "npm", "run", "start:inbound" ]' + outboundCommand: '[ "npm", "run", "start:outbound" ]' + <<: *defaultProbes + + # These will be supplied directly to the init containers array in the deployment for the + # scheme adapter. They should look exactly as you'd declare them inside the deployment. + # Example: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/#init-containers-in-use + # This init container will have the same environment variables as the main scheme adapter + # container, as specified in .env below. + # All init containers will have the same preset environment variables as the backend init + # container as specified above. + initContainers: [] + + scale: + enabled: false + spec: + minReplicas: 1 + maxReplicas: 10 + metrics: + - type: Resource + resource: + name: cpu + target: + type: Utilization + averageUtilization: 80 + + env: + NODE_ENV: production + INBOUND_LISTEN_PORT: 4005 + OUTBOUND_LISTEN_PORT: 4006 + # Path to JWS signing key (private key of THIS DFSP) + JWS_SIGNING_KEY_PATH: "/jwsSigningKey/private.key" # do not change this unless you know what you are doing - this will break the chart + JWS_VERIFICATION_KEYS_DIRECTORY: "/jwsVerificationKeys" + + ingress: + enabled: true + path: / + hosts: + - mojaloop-simulators.local + tls: [] + # - secretName: chart-example-tls + # hosts: + # - chart-example.local + + resources: {} + # We usually recommend not to specify default resources and to leave this as a conscious + # choice for the user. This also increases chances charts run on environments with little + # resources, such as Minikube. If you do want to specify resources, uncomment the following + # lines, adjust them as necessary, and remove the curly braces after 'resources:'. + # limits: + # cpu: 100m + # memory: 128Mi + # requests: + # cpu: 100m + # memory: 128Mi + + ## Pod scheduling preferences. + ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity + affinity: {} + + ## Node labels for pod assignment + ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector + nodeSelector: {} + + ## Set toleration for scheduler + ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ + tolerations: [] + +mojaloop-bulk: + enabled: false + + bulk-api-adapter: + + bulk-api-adapter-service: + enabled: true + # Default values for bulk-api-adapter. + # This is a YAML-formatted file. + # Declare variables to be passed into your templates. + replicaCount: 1 + image: + repository: mojaloop/bulk-api-adapter + tag: v14.0.0 + command: '["node", "src/api/index.js"]' + ## Optionally specify an array of imagePullSecrets. + ## Secrets must be manually created in the namespace. + ## ref: https://kubernetes.io/docs/concepts/containers/images/#specifying-imagepullsecrets-on-a-pod + ## + # imagePullSecrets: + # - name: myregistrykey + pullPolicy: IfNotPresent + + init: + enabled: true + kafka: + name: wait-for-kafka + repository: solsson/kafka + tag: 2.8.1 + pullPolicy: IfNotPresent + command: "until ./bin/kafka-broker-api-versions.sh --bootstrap-server $kafka_host:$kafka_port; do echo waiting for Kafka; sleep 2; done;" + env: {} + ## Env example + # env: + # envItem1: + # name: hello + # value: world + # + mongodb: + name: wait-for-mongodb + repository: bitnami/mongodb + tag: 6.0.1 + pullPolicy: IfNotPresent + command: "mongosh $mongouri --eval \"db.adminCommand('ping')\"" + + readinessProbe: + enabled: true + httpGet: + path: /health + initialDelaySeconds: 120 + periodSeconds: 15 + livenessProbe: + enabled: true + httpGet: + path: /health + initialDelaySeconds: 90 + periodSeconds: 15 + + ## metric configuration for prometheus instrumentation + metrics: + ## flag to enable/disable the metrics end-points + enabled: true + config: + timeout: 5000 + prefix: moja_ + defaultLabels: + serviceName: bulk-service + + config: + # this can be set if the dependency chart for kafka is disabled. If 'kafka_host' is commented out, then the name of the dependency chart will be used. + kafka_host: '$release_name-kafka' + kafka_port: 9092 + central_services_host: '$release_name-centralledger-service' + central_services_port: 80 + security: + callback: + rejectUnauthorized: true + log_level: 'info' + + # Protocol versions used for validating (VALIDATELIST) incoming FSPIOP API Headers (Content-type, Accept), + # and for generating requests/callbacks from the Switch itself (DEFAULT value) + protocol_versions: { + "CONTENT": { + "DEFAULT": "1.1", + "VALIDATELIST": [ + "1", + "1.0", + "1.1" + ] + }, + "ACCEPT": { + "DEFAULT": "1", + "VALIDATELIST": [ + "1", + "1.0", + "1.1" + ] + } +} + ## MongoDB Configuration for Object Store + objstore_uri: 'mongodb://mojaloop:password@$release_name-centralledger-obj:27017/mlos' + + service: + type: ClusterIP + externalPort: 80 + internalPort: 8088 + + ingress: + enabled: true + ## @param ingress.pathType Ingress path type + ## + pathType: ImplementationSpecific + ## @param ingress.apiVersion Force Ingress API version (automatically detected if not set) + ## + apiVersion: + ## @param ingress.hostname Default host for the ingress record + ## + hostname: bulk-api-adapter.local + ## @param servicePort : port for the service + ## + servicePort: 80 + ## @param ingress.path Default path for the ingress record + ## NOTE: You may need to set this to '/*' in order to use this with ALB ingress controllers + path: / + ## @param ingress.annotations Additional custom annotations for the ingress record + ## NOTE: If `ingress.certManager=true`, annotation `kubernetes.io/tls-acme: "true"` will automatically be added + ## + annotations: + ## @param ingress.tls Enable TLS configuration for the host defined at `ingress.hostname` parameter + ## TLS certificates will be retrieved from a TLS secret with name: `{{- printf "%s-tls" .Values.ingress.hostname }}` + ## You can: + ## - Use the `ingress.secrets` parameter to create this TLS secret + ## - Relay on cert-manager to create it by setting `ingress.certManager=true` + ## - Relay on Helm to create self-signed certificates by setting `ingress.selfSigned=true` + ## + tls: false + ## @param ingress.certManager Add the corresponding annotations for cert-manager integration + ## + certManager: false + ## @param ingress.selfSigned Create a TLS secret for this ingress record using self-signed certificates generated by Helm + ## + selfSigned: false + ## @param ingress.extraHosts An array with additional hostname(s) to be covered with the ingress record + ## e.g: + ## extraHosts: + ## - name: transfer-api-svc.local + ## path: / + ## + extraHosts: + extraPaths: + extraTls: + secrets: + className: "nginx" + ## + resources: {} + # We usually recommend not to specify default resources and to leave this as a conscious + # choice for the user. This also increases chances charts run on environments with little + # resources, such as Minikube. If you do want to specify resources, uncomment the following + # lines, adjust them as necessary, and remove the curly braces after 'resources:'. + # limits: + # cpu: 100m + # memory: 128Mi + # requests: + # cpu: 100m + # memory: 128Mi + + bulk-api-adapter-handler-notification: + enabled: true + # Default values for bulk-api-adapter-handler-notification. + # This is a YAML-formatted file. + # Declare variables to be passed into your templates. + replicaCount: 1 + image: + repository: mojaloop/bulk-api-adapter + tag: v14.0.0 + command: '["node", "src/handlers/index.js", "handler", "--notification"]' + ## Optionally specify an array of imagePullSecrets. + ## Secrets must be manually created in the namespace. + ## ref: https://kubernetes.io/docs/concepts/containers/images/#specifying-imagepullsecrets-on-a-pod + ## + # imagePullSecrets: + # - name: myregistrykey + pullPolicy: IfNotPresent + + init: + enabled: true + kafka: + name: wait-for-kafka + repository: solsson/kafka + tag: 2.8.1 + pullPolicy: IfNotPresent + command: "until ./bin/kafka-broker-api-versions.sh --bootstrap-server $kafka_host:$kafka_port; do echo waiting for Kafka; sleep 2; done;" + env: {} + ## Env example + # env: + # envItem1: + # name: hello + # value: world + # + mongodb: + name: wait-for-mongodb + repository: bitnami/mongodb + tag: 6.0.1 + pullPolicy: IfNotPresent + command: "mongosh $mongouri --eval \"db.adminCommand('ping')\"" + + readinessProbe: + enabled: true + httpGet: + path: /health + initialDelaySeconds: 120 + periodSeconds: 15 + livenessProbe: + enabled: true + httpGet: + path: /health + initialDelaySeconds: 90 + periodSeconds: 15 + + ## metric configuration for prometheus instrumentation + metrics: + ## flag to enable/disable the metrics end-points + enabled: true + config: + timeout: 5000 + prefix: moja_ + defaultLabels: + serviceName: bulk-handler-notification + + config: + # this can be set if the dependency chart for kafka is disabled. If 'kafka_host' is commented out, then the name of the dependency chart will be used. + kafka_host: '$release_name-kafka' + kafka_port: 9092 + central_services_host: '$release_name-centralledger-service' + central_services_port: 80 + security: + callback: + rejectUnauthorized: true + log_level: 'info' + + # Protocol versions used for validating (VALIDATELIST) incoming FSPIOP API Headers (Content-type, Accept), + # and for generating requests/callbacks from the Switch itself (DEFAULT value) + protocol_versions: { + "CONTENT": { + "DEFAULT": "1.1", + "VALIDATELIST": [ + "1", + "1.0", + "1.1" + ] + }, + "ACCEPT": { + "DEFAULT": "1", + "VALIDATELIST": [ + "1", + "1.0", + "1.1" + ] + } +} + ## MongoDB Configuration for Object Store + objstore_uri: 'mongodb://mojaloop:password@$release_name-centralledger-obj:27017/mlos' + + service: + type: ClusterIP + externalPort: 80 + internalPort: 8088 + + ingress: + enabled: true + ## @param ingress.pathType Ingress path type + ## + pathType: ImplementationSpecific + ## @param ingress.apiVersion Force Ingress API version (automatically detected if not set) + ## + apiVersion: + ## @param ingress.hostname Default host for the ingress record + ## + hostname: bulk-api-adapter-notification.local + ## @param servicePort : port for the service + ## + servicePort: 80 + ## @param ingress.path Default path for the ingress record + ## NOTE: You may need to set this to '/*' in order to use this with ALB ingress controllers + path: / + ## @param ingress.annotations Additional custom annotations for the ingress record + ## NOTE: If `ingress.certManager=true`, annotation `kubernetes.io/tls-acme: "true"` will automatically be added + ## + annotations: + ## @param ingress.tls Enable TLS configuration for the host defined at `ingress.hostname` parameter + ## TLS certificates will be retrieved from a TLS secret with name: `{{- printf "%s-tls" .Values.ingress.hostname }}` + ## You can: + ## - Use the `ingress.secrets` parameter to create this TLS secret + ## - Relay on cert-manager to create it by setting `ingress.certManager=true` + ## - Relay on Helm to create self-signed certificates by setting `ingress.selfSigned=true` + ## + tls: false + ## @param ingress.certManager Add the corresponding annotations for cert-manager integration + ## + certManager: false + ## @param ingress.selfSigned Create a TLS secret for this ingress record using self-signed certificates generated by Helm + ## + selfSigned: false + ## @param ingress.extraHosts An array with additional hostname(s) to be covered with the ingress record + ## e.g: + ## extraHosts: + ## - name: transfer-api-svc.local + ## path: / + ## + extraHosts: + extraPaths: + extraTls: + secrets: + className: "nginx" + ## + resources: {} + # We usually recommend not to specify default resources and to leave this as a conscious + # choice for the user. This also increases chances charts run on environments with little + # resources, such as Minikube. If you do want to specify resources, uncomment the following + # lines, adjust them as necessary, and remove the curly braces after 'resources:'. + # limits: + # cpu: 100m + # memory: 128Mi + # requests: + # cpu: 100m + # memory: 128Mi + + bulk-centralledger: + + cl-handler-bulk-transfer-prepare: + enabled: true + # Default values for centralledger-handler-bulk-transfer-prepare. + # This is a YAML-formatted file. + # Declare variables to be passed into your templates. + replicaCount: 1 + containers: + api: + image: + repository: mojaloop/central-ledger + tag: v15.1.2.1 + pullPolicy: IfNotPresent + command: '["node", "src/handlers/index.js", "handler", "--bulkprepare"]' + service: + ports: + api: + name: http-api + externalPort: 80 + internalPort: 3001 + readinessProbe: + enabled: true + httpGet: + path: /health + initialDelaySeconds: 60 + periodSeconds: 15 + livenessProbe: + enabled: true + httpGet: + path: /health + initialDelaySeconds: 60 + periodSeconds: 15 + + ## metric configuration for prometheus instrumentation + metrics: + ## flag to enable/disable the metrics end-points + enabled: true + config: + timeout: 5000 + prefix: moja_ + defaultLabels: + serviceName: central-handler-bulkprepare + + config: + ## Forensic Logging sidecar + # this is for Forensic Logging Sidecar + forensicloggingsidecar_disabled: true + forensicloggingsidecar_host: forensicloggingsidecar-ledger + forensicloggingsidecar_port: 5678 + + error_handling: + include_cause_extension: false + truncate_extensions: true + + ## DB Configuration + # db_type can either be 'postgres' or 'mysql'. Ensure the correct DB is enabled and configured below: postgresql.enabled or mysql.enabled + db_type: 'mysql' + # db_driver can either be 'pg' or 'mysql'. Ensure the correct corresponding db_type above has been set. + db_driver: 'mysql' + db_host: '$release_name-centralledger-mysql' + db_port: 3306 + db_user: central_ledger + db_password: oyMxgZChuu + db_database: central_ledger + db_connection_pool_min: 10 + db_connection_pool_max: 30 + db_acquire_timeout_millis: 30000 + db_create_timeout_millis: 30000 + db_destroy_timeout_millis: 5000 + db_idle_timeout_millis: 30000 + db_reap_interval_millis: 1000 + db_create_retry_interval_millis: 200 + db_debug: false + + ## MongoDB Configuration for Object Store + objstore_disabled: false + objstore_uri: 'mongodb://mojaloop:password@$release_name-centralledger-obj:27017/mlos' + + ## Kafka Configuration + # this can be set if the dependency chart for kafka is disabled. If 'kafka_host' is commented out, then the name of the dependency chart will be used. + kafka_host: '$release_name-kafka' + kafka_port: 9092 + + ## Node Configuration + log_level: 'info' + + ## Enable On-Us transfers + enable_on_us_transfers: false + + init: + enabled: true + kafka: + name: wait-for-kafka + repository: solsson/kafka + tag: 2.8.1 + pullPolicy: IfNotPresent + command: "until ./bin/kafka-broker-api-versions.sh --bootstrap-server $kafka_host:$kafka_port; do echo waiting for Kafka; sleep 2; done;" + env: {} + ## Env example + # env: + # envItem1: + # name: hello + # value: world + # + psql: + name: wait-for-postgres + repository: bowerswilkins/awaitpostgres + tag: latest + pullPolicy: IfNotPresent + mysql: + name: wait-for-mysql + repository: mysql + tag: 8.0.30 + pullPolicy: IfNotPresent + command: "until result=$(mysql -h $db_host -P $db_port -u $db_user --password=$db_password $db_database -ss -N -e 'select is_locked from migration_lock;') && eval 'echo is_locked=$result' && if [ -z $result ]; then false; fi && if [ $result -ne 0 ]; then false; fi; do echo waiting for MySQL; sleep 2; done;" + mongodb: + name: wait-for-mongodb + repository: bitnami/mongodb + tag: 6.0.1 + pullPolicy: IfNotPresent + command: "mongosh $mongouri --eval \"db.adminCommand('ping')\"" + + service: + type: ClusterIP + + annotations: {} + + # This allows one to point the service to an external backend. + # This is useful for local development where one wishes to hijack + # the communication from the service to the node layer and point + # to a specific endpoint (IP, Port, etc). + external: + enabled: false + # 10.0.2.2 is the magic IP for the host on virtualbox's network + ip: 10.0.2.2 + ports: + api: + name: http-api + externalPort: 3001 + + ingress: + enabled: true + ## @param ingress.pathType Ingress path type + ## + pathType: ImplementationSpecific + ## @param ingress.apiVersion Force Ingress API version (automatically detected if not set) + ## + apiVersion: + ## @param ingress.hostname Default host for the ingress record + ## + hostname: central-ledger-transfer-bulkprepare.local + ## @param servicePort : port for the service + ## + servicePort: 80 + ## @param ingress.path Default path for the ingress record + ## NOTE: You may need to set this to '/*' in order to use this with ALB ingress controllers + path: / + ## @param ingress.annotations Additional custom annotations for the ingress record + ## NOTE: If `ingress.certManager=true`, annotation `kubernetes.io/tls-acme: "true"` will automatically be added + ## + annotations: + ## @param ingress.tls Enable TLS configuration for the host defined at `ingress.hostname` parameter + ## TLS certificates will be retrieved from a TLS secret with name: `{{- printf "%s-tls" .Values.ingress.hostname }}` + ## You can: + ## - Use the `ingress.secrets` parameter to create this TLS secret + ## - Relay on cert-manager to create it by setting `ingress.certManager=true` + ## - Relay on Helm to create self-signed certificates by setting `ingress.selfSigned=true` + ## + tls: false + ## @param ingress.certManager Add the corresponding annotations for cert-manager integration + ## + certManager: false + ## @param ingress.selfSigned Create a TLS secret for this ingress record using self-signed certificates generated by Helm + ## + selfSigned: false + ## @param ingress.extraHosts An array with additional hostname(s) to be covered with the ingress record + ## e.g: + ## extraHosts: + ## - name: transfer-api-svc.local + ## path: / + ## + extraHosts: + extraPaths: + extraTls: + secrets: + className: "nginx" + ## + resources: {} + # We usually recommend not to specify default resources and to leave this as a conscious + # choice for the user. This also increases chances charts run on environments with little + # resources, such as Minikube. If you do want to specify resources, uncomment the following + # lines, adjust them as necessary, and remove the curly braces after 'resources:'. + # limits: + # cpu: 100m + # memory: 128Mi + # requests: + # cpu: 100m + # memory: 128Mi + + cl-handler-bulk-transfer-fulfil: + enabled: true + # Default values for centralledger-handler-bulk-transfer-fulfil. + # This is a YAML-formatted file. + # Declare variables to be passed into your templates. + replicaCount: 1 + containers: + api: + image: + repository: mojaloop/central-ledger + tag: v15.1.2.1 + pullPolicy: IfNotPresent + command: '["node", "src/handlers/index.js", "handler", "--bulkfulfil"]' + service: + ports: + api: + name: http-api + externalPort: 80 + internalPort: 3001 + readinessProbe: + enabled: true + httpGet: + path: /health + initialDelaySeconds: 60 + periodSeconds: 15 + livenessProbe: + enabled: true + httpGet: + path: /health + initialDelaySeconds: 60 + periodSeconds: 15 + + ## metric configuration for prometheus instrumentation + metrics: + ## flag to enable/disable the metrics end-points + enabled: true + config: + timeout: 5000 + prefix: moja_ + defaultLabels: + serviceName: central-handler-bulkfulfil + + config: + ## Forensic Logging sidecar + # this is for Forensic Logging Sidecar + forensicloggingsidecar_disabled: true + forensicloggingsidecar_host: forensicloggingsidecar-ledger + forensicloggingsidecar_port: 5678 + + error_handling: + include_cause_extension: false + truncate_extensions: true + + ## DB Configuration + # db_type can either be 'postgres' or 'mysql'. Ensure the correct DB is enabled and configured below: postgresql.enabled or mysql.enabled + db_type: 'mysql' + # db_driver can either be 'pg' or 'mysql'. Ensure the correct corresponding db_type above has been set. + db_driver: 'mysql' + db_host: '$release_name-centralledger-mysql' + db_port: 3306 + db_user: central_ledger + db_password: oyMxgZChuu + db_database: central_ledger + db_connection_pool_min: 10 + db_connection_pool_max: 30 + db_acquire_timeout_millis: 30000 + db_create_timeout_millis: 30000 + db_destroy_timeout_millis: 5000 + db_idle_timeout_millis: 30000 + db_reap_interval_millis: 1000 + db_create_retry_interval_millis: 200 + db_debug: false + + ## MongoDB Configuration for Object Store + objstore_disabled: false + objstore_uri: 'mongodb://mojaloop:password@$release_name-centralledger-obj:27017/mlos' + + ## Kafka Configuration + # this can be set if the dependency chart for kafka is disabled. If 'kafka_host' is commented out, then the name of the dependency chart will be used. + kafka_host: '$release_name-kafka' + kafka_port: 9092 + + ## Node Configuration + log_level: 'info' + + init: + enabled: true + kafka: + name: wait-for-kafka + repository: solsson/kafka + tag: 2.8.1 + pullPolicy: IfNotPresent + command: "until ./bin/kafka-broker-api-versions.sh --bootstrap-server $kafka_host:$kafka_port; do echo waiting for Kafka; sleep 2; done;" + env: {} + ## Env example + # env: + # envItem1: + # name: hello + # value: world + # + psql: + name: wait-for-postgres + repository: bowerswilkins/awaitpostgres + tag: latest + pullPolicy: IfNotPresent + mysql: + name: wait-for-mysql + repository: mysql + tag: 8.0.30 + pullPolicy: IfNotPresent + command: "until result=$(mysql -h $db_host -P $db_port -u $db_user --password=$db_password $db_database -ss -N -e 'select is_locked from migration_lock;') && eval 'echo is_locked=$result' && if [ -z $result ]; then false; fi && if [ $result -ne 0 ]; then false; fi; do echo waiting for MySQL; sleep 2; done;" + mongodb: + name: wait-for-mongodb + repository: bitnami/mongodb + tag: 6.0.1 + pullPolicy: IfNotPresent + command: "mongosh $mongouri --eval \"db.adminCommand('ping')\"" + + service: + type: ClusterIP + + annotations: {} + + # This allows one to point the service to an external backend. + # This is useful for local development where one wishes to hijack + # the communication from the service to the node layer and point + # to a specific endpoint (IP, Port, etc). + external: + enabled: false + # 10.0.2.2 is the magic IP for the host on virtualbox's network + ip: 10.0.2.2 + ports: + api: + name: http-api + externalPort: 3001 + + ingress: + enabled: true + ## @param ingress.pathType Ingress path type + ## + pathType: ImplementationSpecific + ## @param ingress.apiVersion Force Ingress API version (automatically detected if not set) + ## + apiVersion: + ## @param ingress.hostname Default host for the ingress record + ## + hostname: central-ledger-transfer-bulkfulfil.local + ## @param servicePort : port for the service + ## + servicePort: 80 + ## @param ingress.path Default path for the ingress record + ## NOTE: You may need to set this to '/*' in order to use this with ALB ingress controllers + path: / + ## @param ingress.annotations Additional custom annotations for the ingress record + ## NOTE: If `ingress.certManager=true`, annotation `kubernetes.io/tls-acme: "true"` will automatically be added + ## + annotations: + ## @param ingress.tls Enable TLS configuration for the host defined at `ingress.hostname` parameter + ## TLS certificates will be retrieved from a TLS secret with name: `{{- printf "%s-tls" .Values.ingress.hostname }}` + ## You can: + ## - Use the `ingress.secrets` parameter to create this TLS secret + ## - Relay on cert-manager to create it by setting `ingress.certManager=true` + ## - Relay on Helm to create self-signed certificates by setting `ingress.selfSigned=true` + ## + tls: false + ## @param ingress.certManager Add the corresponding annotations for cert-manager integration + ## + certManager: false + ## @param ingress.selfSigned Create a TLS secret for this ingress record using self-signed certificates generated by Helm + ## + selfSigned: false + ## @param ingress.extraHosts An array with additional hostname(s) to be covered with the ingress record + ## e.g: + ## extraHosts: + ## - name: transfer-api-svc.local + ## path: / + ## + extraHosts: + extraPaths: + extraTls: + secrets: + className: "nginx" + ## + resources: {} + # We usually recommend not to specify default resources and to leave this as a conscious + # choice for the user. This also increases chances charts run on environments with little + # resources, such as Minikube. If you do want to specify resources, uncomment the following + # lines, adjust them as necessary, and remove the curly braces after 'resources:'. + # limits: + # cpu: 100m + # memory: 128Mi + # requests: + # cpu: 100m + # memory: 128Mi + + cl-handler-bulk-transfer-processing: + enabled: true + # Default values for centralledger-handler-bulk-transfer-processing. + # This is a YAML-formatted file. + # Declare variables to be passed into your templates. + replicaCount: 1 + containers: + api: + image: + repository: mojaloop/central-ledger + tag: v15.1.2.1 + pullPolicy: IfNotPresent + command: '["node", "src/handlers/index.js", "handler", "--bulkprocessing"]' + service: + ports: + api: + name: http-api + externalPort: 80 + internalPort: 3001 + readinessProbe: + enabled: true + httpGet: + path: /health + initialDelaySeconds: 60 + periodSeconds: 15 + livenessProbe: + enabled: true + httpGet: + path: /health + initialDelaySeconds: 60 + periodSeconds: 15 + + ## metric configuration for prometheus instrumentation + metrics: + ## flag to enable/disable the metrics end-points + enabled: true + config: + timeout: 5000 + prefix: moja_ + defaultLabels: + serviceName: central-handler-bulkprocessing + + config: + ## Forensic Logging sidecar + # this is for Forensic Logging Sidecar + forensicloggingsidecar_disabled: true + forensicloggingsidecar_host: forensicloggingsidecar-ledger + forensicloggingsidecar_port: 5678 + + error_handling: + include_cause_extension: false + truncate_extensions: true + + ## DB Configuration + # db_type can either be 'postgres' or 'mysql'. Ensure the correct DB is enabled and configured below: postgresql.enabled or mysql.enabled + db_type: 'mysql' + # db_driver can either be 'pg' or 'mysql'. Ensure the correct corresponding db_type above has been set. + db_driver: 'mysql' + db_host: '$release_name-centralledger-mysql' + db_port: 3306 + db_user: central_ledger + db_password: oyMxgZChuu + db_database: central_ledger + db_connection_pool_min: 10 + db_connection_pool_max: 30 + db_acquire_timeout_millis: 30000 + db_create_timeout_millis: 30000 + db_destroy_timeout_millis: 5000 + db_idle_timeout_millis: 30000 + db_reap_interval_millis: 1000 + db_create_retry_interval_millis: 200 + db_debug: false + + ## MongoDB Configuration for Object Store + objstore_disabled: false + objstore_uri: 'mongodb://mojaloop:password@$release_name-centralledger-obj:27017/mlos' + + ## Kafka Configuration + # this can be set if the dependency chart for kafka is disabled. If 'kafka_host' is commented out, then the name of the dependency chart will be used. + kafka_host: '$release_name-kafka' + kafka_port: 9092 + + ## Node Configuration + log_level: 'info' + + init: + enabled: true + kafka: + name: wait-for-kafka + repository: solsson/kafka + tag: 2.8.1 + pullPolicy: IfNotPresent + command: "until ./bin/kafka-broker-api-versions.sh --bootstrap-server $kafka_host:$kafka_port; do echo waiting for Kafka; sleep 2; done;" + env: {} + ## Env example + # env: + # envItem1: + # name: hello + # value: world + # + psql: + name: wait-for-postgres + repository: bowerswilkins/awaitpostgres + tag: latest + pullPolicy: IfNotPresent + mysql: + name: wait-for-mysql + repository: mysql + tag: 8.0.30 + pullPolicy: IfNotPresent + command: "until result=$(mysql -h $db_host -P $db_port -u $db_user --password=$db_password $db_database -ss -N -e 'select is_locked from migration_lock;') && eval 'echo is_locked=$result' && if [ -z $result ]; then false; fi && if [ $result -ne 0 ]; then false; fi; do echo waiting for MySQL; sleep 2; done;" + mongodb: + name: wait-for-mongodb + repository: bitnami/mongodb + tag: 6.0.1 + pullPolicy: IfNotPresent + command: "mongosh $mongouri --eval \"db.adminCommand('ping')\"" + + service: + type: ClusterIP + + annotations: {} + + # This allows one to point the service to an external backend. + # This is useful for local development where one wishes to hijack + # the communication from the service to the node layer and point + # to a specific endpoint (IP, Port, etc). + external: + enabled: false + # 10.0.2.2 is the magic IP for the host on virtualbox's network + ip: 10.0.2.2 + ports: + api: + name: http-api + externalPort: 3001 + + ingress: + enabled: true + ## @param ingress.pathType Ingress path type + ## + pathType: ImplementationSpecific + ## @param ingress.apiVersion Force Ingress API version (automatically detected if not set) + ## + apiVersion: + ## @param ingress.hostname Default host for the ingress record + ## + hostname: central-ledger-transfer-bulkprocessing.local + ## @param servicePort : port for the service + ## + servicePort: 80 + ## @param ingress.path Default path for the ingress record + ## NOTE: You may need to set this to '/*' in order to use this with ALB ingress controllers + path: / + ## @param ingress.annotations Additional custom annotations for the ingress record + ## NOTE: If `ingress.certManager=true`, annotation `kubernetes.io/tls-acme: "true"` will automatically be added + ## + annotations: + ## @param ingress.tls Enable TLS configuration for the host defined at `ingress.hostname` parameter + ## TLS certificates will be retrieved from a TLS secret with name: `{{- printf "%s-tls" .Values.ingress.hostname }}` + ## You can: + ## - Use the `ingress.secrets` parameter to create this TLS secret + ## - Relay on cert-manager to create it by setting `ingress.certManager=true` + ## - Relay on Helm to create self-signed certificates by setting `ingress.selfSigned=true` + ## + tls: false + ## @param ingress.certManager Add the corresponding annotations for cert-manager integration + ## + certManager: false + ## @param ingress.selfSigned Create a TLS secret for this ingress record using self-signed certificates generated by Helm + ## + selfSigned: false + ## @param ingress.extraHosts An array with additional hostname(s) to be covered with the ingress record + ## e.g: + ## extraHosts: + ## - name: transfer-api-svc.local + ## path: / + ## + extraHosts: + extraPaths: + extraTls: + secrets: + className: "nginx" + ## + resources: {} + # We usually recommend not to specify default resources and to leave this as a conscious + # choice for the user. This also increases chances charts run on environments with little + # resources, such as Minikube. If you do want to specify resources, uncomment the following + # lines, adjust them as necessary, and remove the curly braces after 'resources:'. + # limits: + # cpu: 100m + # memory: 128Mi + # requests: + # cpu: 100m + # memory: 128Mi + + cl-handler-bulk-transfer-get: + enabled: true + # Default values for centralledger-handler-bulk-transfer-get. + # This is a YAML-formatted file. + # Declare variables to be passed into your templates. + replicaCount: 1 + containers: + api: + image: + repository: mojaloop/central-ledger + tag: v15.1.2.1 + pullPolicy: IfNotPresent + command: '["node", "src/handlers/index.js", "handler", "--bulkget"]' + service: + ports: + api: + name: http-api + externalPort: 80 + internalPort: 3001 + readinessProbe: + enabled: true + httpGet: + path: /health + initialDelaySeconds: 60 + periodSeconds: 15 + livenessProbe: + enabled: true + httpGet: + path: /health + initialDelaySeconds: 60 + periodSeconds: 15 + + ## metric configuration for prometheus instrumentation + metrics: + ## flag to enable/disable the metrics end-points + enabled: true + config: + timeout: 5000 + prefix: moja_ + defaultLabels: + serviceName: central-handler-bulkget + + config: + ## Forensic Logging sidecar + # this is for Forensic Logging Sidecar + forensicloggingsidecar_disabled: true + forensicloggingsidecar_host: forensicloggingsidecar-ledger + forensicloggingsidecar_port: 5678 + + error_handling: + include_cause_extension: false + truncate_extensions: true + + ## DB Configuration + # db_type can either be 'postgres' or 'mysql'. Ensure the correct DB is enabled and configured below: postgresql.enabled or mysql.enabled + db_type: 'mysql' + # db_driver can either be 'pg' or 'mysql'. Ensure the correct corresponding db_type above has been set. + db_driver: 'mysql' + db_host: '$release_name-centralledger-mysql' + db_port: 3306 + db_user: central_ledger + db_password: oyMxgZChuu + db_database: central_ledger + db_connection_pool_min: 10 + db_connection_pool_max: 30 + db_acquire_timeout_millis: 30000 + db_create_timeout_millis: 30000 + db_destroy_timeout_millis: 5000 + db_idle_timeout_millis: 30000 + db_reap_interval_millis: 1000 + db_create_retry_interval_millis: 200 + db_debug: false + + ## MongoDB Configuration for Object Store + objstore_disabled: false + objstore_uri: 'mongodb://mojaloop:password@$release_name-centralledger-obj:27017/mlos' + + ## Kafka Configuration + # this can be set if the dependency chart for kafka is disabled. If 'kafka_host' is commented out, then the name of the dependency chart will be used. + kafka_host: '$release_name-kafka' + kafka_port: 9092 + + ## Node Configuration + log_level: 'info' + + init: + enabled: true + kafka: + name: wait-for-kafka + repository: solsson/kafka + tag: 2.8.1 + pullPolicy: IfNotPresent + command: "until ./bin/kafka-broker-api-versions.sh --bootstrap-server $kafka_host:$kafka_port; do echo waiting for Kafka; sleep 2; done;" + env: {} + ## Env example + # env: + # envItem1: + # name: hello + # value: world + # + psql: + name: wait-for-postgres + repository: bowerswilkins/awaitpostgres + tag: latest + pullPolicy: IfNotPresent + mysql: + name: wait-for-mysql + repository: mysql + tag: 8.0.30 + pullPolicy: IfNotPresent + command: "until result=$(mysql -h $db_host -P $db_port -u $db_user --password=$db_password $db_database -ss -N -e 'select is_locked from migration_lock;') && eval 'echo is_locked=$result' && if [ -z $result ]; then false; fi && if [ $result -ne 0 ]; then false; fi; do echo waiting for MySQL; sleep 2; done;" + mongodb: + name: wait-for-mongodb + repository: bitnami/mongodb + tag: 6.0.1 + pullPolicy: IfNotPresent + command: "mongosh $mongouri --eval \"db.adminCommand('ping')\"" + + service: + type: ClusterIP + + annotations: {} + + # This allows one to point the service to an external backend. + # This is useful for local development where one wishes to hijack + # the communication from the service to the node layer and point + # to a specific endpoint (IP, Port, etc). + external: + enabled: false + # 10.0.2.2 is the magic IP for the host on virtualbox's network + ip: 10.0.2.2 + ports: + api: + name: http-api + externalPort: 3001 + + ingress: + enabled: true + ## @param ingress.pathType Ingress path type + ## + pathType: ImplementationSpecific + ## @param ingress.apiVersion Force Ingress API version (automatically detected if not set) + ## + apiVersion: + ## @param ingress.hostname Default host for the ingress record + ## + hostname: central-ledger-transfer-bulkget.local + ## @param servicePort : port for the service + ## + servicePort: 80 + ## @param ingress.path Default path for the ingress record + ## NOTE: You may need to set this to '/*' in order to use this with ALB ingress controllers + path: / + ## @param ingress.annotations Additional custom annotations for the ingress record + ## NOTE: If `ingress.certManager=true`, annotation `kubernetes.io/tls-acme: "true"` will automatically be added + ## + annotations: + ## @param ingress.tls Enable TLS configuration for the host defined at `ingress.hostname` parameter + ## TLS certificates will be retrieved from a TLS secret with name: `{{- printf "%s-tls" .Values.ingress.hostname }}` + ## You can: + ## - Use the `ingress.secrets` parameter to create this TLS secret + ## - Relay on cert-manager to create it by setting `ingress.certManager=true` + ## - Relay on Helm to create self-signed certificates by setting `ingress.selfSigned=true` + ## + tls: false + ## @param ingress.certManager Add the corresponding annotations for cert-manager integration + ## + certManager: false + ## @param ingress.selfSigned Create a TLS secret for this ingress record using self-signed certificates generated by Helm + ## + selfSigned: false + ## @param ingress.extraHosts An array with additional hostname(s) to be covered with the ingress record + ## e.g: + ## extraHosts: + ## - name: transfer-api-svc.local + ## path: / + ## + extraHosts: + extraPaths: + extraTls: + secrets: + className: "nginx" + ## + resources: {} + # We usually recommend not to specify default resources and to leave this as a conscious + # choice for the user. This also increases chances charts run on environments with little + # resources, such as Minikube. If you do want to specify resources, uncomment the following + # lines, adjust them as necessary, and remove the curly braces after 'resources:'. + # limits: + # cpu: 100m + # memory: 128Mi + # requests: + # cpu: 100m + # memory: 128Mi + + # Declare variables to be passed into your templates. + mongodb: + enabled: true + ## @param nameOverride String to partially override mongodb.fullname template (will maintain the release name) + ## + nameOverride: centralledger-obj + ## @param architecture MongoDB(®) architecture (`standalone` or `replicaset`) + ## + architecture: standalone + ## @param useStatefulSet Set to true to use a StatefulSet instead of a Deployment (only when `architecture=standalone`) + ## + useStatefulSet: false + ## MongoDB(®) Authentication parameters + ## + auth: + ## @param auth.enabled Enable authentication + ## ref: https://docs.mongodb.com/manual/tutorial/enable-authentication/ + ## + enabled: true + ## @param auth.rootUser MongoDB(®) root user + ## + rootUser: root + ## @param auth.rootPassword MongoDB(®) root password + ## ref: https://github.com/bitnami/bitnami-docker-mongodb/blob/master/README.md#setting-the-root-password-on-first-run + ## + rootPassword: adminpass + ## MongoDB(®) custom users and databases + ## ref: https://github.com/bitnami/bitnami-docker-mongodb/blob/master/README.md#creating-users-and-databases-on-first-run + ## @param auth.usernames List of custom users to be created during the initialization + ## @param auth.passwords List of passwords for the custom users set at `auth.usernames` + ## @param auth.databases List of custom databases to be created during the initialization + ## + usernames: + - 'mojaloop' + passwords: + - 'password' + databases: + - 'mlos' + ## @param auth.replicaSetKey Key used for authentication in the replicaset (only when `architecture=replicaset`) + ## + replicaSetKey: "" + ## @param auth.existingSecret Existing secret with MongoDB(®) credentials (keys: `mongodb-passwords`, `mongodb-root-password`, `mongodb-metrics-password`, ` mongodb-replica-set-key`) + ## NOTE: When it's set the previous parameters are ignored. + ## + existingSecret: "" + tls: + ## @param tls.enabled Enable MongoDB(®) TLS support between nodes in the cluster as well as between mongo clients and nodes + ## + enabled: false + ## @param tls.autoGenerated Generate a custom CA and self-signed certificates + ## + autoGenerated: true + ## @param tls.existingSecret Existing secret with TLS certificates (keys: `mongodb-ca-cert`, `mongodb-ca-key`, `client-pem`) + ## NOTE: When it's set it will disable certificate creation + ## + existingSecret: "" + ## Add Custom CA certificate + ## @param tls.caCert Custom CA certificated (base64 encoded) + ## @param tls.caKey CA certificate private key (base64 encoded) + ## + caCert: "" + caKey: "" + +ml-testing-toolkit: + enabled: true + + ml-testing-toolkit-backend: + ingress: + enabled: true + hosts: + specApi: + host: testing-toolkit-specapi.local + adminApi: + host: testing-toolkit.local + config: + user_config.json: { + "DEFAULT_ENVIRONMENT_FILE_NAME": "hub-k8s-default-environment.json" + } + ## We can specify the files and folders here those we want to override in the TTK `spec_files` directory. + ## For example, you can specify user_config.json, system_config.json ...etc + ## Files inside the folders can be defined with full path of the files with slashes replaced by two underscores `__`. + ## For example, `rules_response__default.json`, `rules_callback__default.json`, `rules_validation__default.json` ...etc + ## We can pass the JSON content as the value for the parameters + ## Or we can pass a http/https URL for the JSON file as the value for the parameters. Then the file will be downloaded and replaced in the corresponding location. + ## Ex: rules_callback__default.json: "https://raw.githubusercontent.com/mojaloop/ml-testing-toolkit/master/spec_files/rules_callback/default.json" + + # We can change the names of the simulators to configure the environment files for the testing toolkit. + # If you change these values, you need to change the simulator names in the mojaloop-simulats->simulators section + parameters: &simNames + simNamePayerfsp: 'payerfsp' + simNamePayeefsp: 'payeefsp' + simNameTestfsp1: 'testfsp1' + simNameTestfsp2: 'testfsp2' + simNameTestfsp3: 'testfsp3' + simNameTestfsp4: 'testfsp4' + simNameNoResponsePayeefsp: 'noresponsepayeefsp' + + extraEnvironments: + hub-k8s-default-environment.json: &ttkInputValues { + "inputValues": { + "BASE_CENTRAL_LEDGER_ADMIN": "", + "CALLBACK_ENDPOINT_BASE_URL": "http://$release_name-ml-testing-toolkit-backend:4040", + "ENABLE_JWS_SIGNING": true, + "ENABLE_JWS_VALIDATION": false, + "ENABLE_PROTECTED_HEADERS_VALIDATION": true, + "ENABLE_WS_ASSERTIONS": true, + "HOST_ACCOUNT_LOOKUP_ADMIN": "http://$release_name-account-lookup-service-admin", + "HOST_ACCOUNT_LOOKUP_SERVICE": "http://$release_name-account-lookup-service", + "HOST_ACCOUNT_LOOKUP_SERVICE_ADMIN": "http://$release_name-account-lookup-service-admin", + "HOST_BULK_ADAPTER": "http://$release_name-bulk-api-adapter-service", + "HOST_CENTRAL_LEDGER": "http://$release_name-centralledger-service", + "HOST_CENTRAL_SETTLEMENT": "http://$release_name-centralsettlement-service/v2", + "HOST_LEGACY_SIMULATOR": "http://$release_name-simulator", + "HOST_ML_API_ADAPTER": "http://$release_name-ml-api-adapter-service", + "HOST_QUOTING_SERVICE": "http://$release_name-quoting-service", + "HOST_SIMULATOR": "http://$release_name-simulator", + "HOST_TRANSACTION_REQUESTS_SERVICE": "http://$release_name-transaction-requests-service", + "HUB_OPERATOR_BEARER_TOKEN": "NOT_APPLICABLE", + "PAYEEFSP_BACKEND_TESTAPI_URL": "http://$release_name-sim-$param_simNamePayeefsp-backend:3003", + "PAYEEFSP_CALLBACK_URL": "http://$release_name-sim-$param_simNamePayeefsp-scheme-adapter:4000", + "PAYEEFSP_SDK_TESTAPI_URL": "http://$release_name-sim-$param_simNamePayeefsp-scheme-adapter:4002", + "PAYEEFSP_SDK_TESTAPI_WS_URL": "ws://$release_name-sim-$param_simNamePayeefsp-scheme-adapter:4002", + "PAYERFSP_BACKEND_TESTAPI_URL": "http://$release_name-sim-$param_simNamePayerfsp-backend:3003", + "PAYERFSP_CALLBACK_URL": "http://$release_name-sim-$param_simNamePayerfsp-scheme-adapter:4000", + "PAYERFSP_SDK_TESTAPI_URL": "http://$release_name-sim-$param_simNamePayerfsp-scheme-adapter:4002", + "PAYERFSP_SDK_TESTAPI_WS_URL": "ws://$release_name-sim-$param_simNamePayerfsp-scheme-adapter:4002", + "SIMPAYEE_CURRENCY": "USD", + "SIMPAYEE_JWS_PUB_KEY": "-----BEGIN PUBLIC KEY----- +MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAzLtduponsAlAk+3+PQdE +sgjxRs5qhkrPa0z25NbHvgQYan4bH5GY+nEUX65YN65nusHtCG9gBeU0C56EgZQw +IpkHDTh166qQGPwdJf5oMlMJn79DSd1I2bghbsNx0a1P6ElH16AyEwvgYtdtMOBW +Ngf7z5/tYgv7bGgmsp3qGlf0nnaux/frJhJ0Hxpd6eUCafwdlrNwc9R6iCKMSxGj +vVTHgx0D7zSZ/+4PXq6gObyIZoC0uOsKKzlY3USx9khAh+96qfFoNKyfGHltpEPJ +LmOLh3BtzDuna2KwtNdVNGcjPdCle3b9mNIdhR5aZ/bP6Zm+t9JuRC6ZwU/6WEy3 +FwIDAQAB +-----END PUBLIC KEY----- +", + "SIMPAYEE_MSISDN": "17039811902", + "SIMPAYEE_NAME": "$param_simNamePayeefsp", + "SIMPAYER_CURRENCY": "USD", + "SIMPAYER_MSISDN": "17039811901", + "SIMPAYER_NAME": "$param_simNamePayerfsp", + "TESTFSP1_BACKEND_TESTAPI_URL": "http://$release_name-sim-$param_simNameTestfsp1-backend:3003", + "TESTFSP1_CALLBACK_URL": "http://$release_name-sim-$param_simNameTestfsp1-scheme-adapter:4000", + "TESTFSP1_SDK_TESTAPI_URL": "http://$release_name-sim-$param_simNameTestfsp1-scheme-adapter:4002", + "TESTFSP1_SDK_TESTAPI_WS_URL": "ws://$release_name-sim-$param_simNameTestfsp1-scheme-adapter:4002", + "TESTFSP2_BACKEND_TESTAPI_URL": "http://$release_name-sim-$param_simNameTestfsp2-backend:3003", + "TESTFSP2_CALLBACK_URL": "http://$release_name-sim-$param_simNameTestfsp2-scheme-adapter:4000", + "TESTFSP2_SDK_TESTAPI_URL": "http://$release_name-sim-$param_simNameTestfsp2-scheme-adapter:4002", + "TESTFSP2_SDK_TESTAPI_WS_URL": "ws://$release_name-sim-$param_simNameTestfsp2-scheme-adapter:4002", + "TESTFSP3_BACKEND_TESTAPI_URL": "http://$release_name-sim-$param_simNameTestfsp3-backend:3003", + "TESTFSP3_CALLBACK_URL": "http://$release_name-sim-$param_simNameTestfsp3-scheme-adapter:4000", + "TESTFSP3_SDK_TESTAPI_URL": "http://$release_name-sim-$param_simNameTestfsp3-scheme-adapter:4002", + "TESTFSP3_SDK_TESTAPI_WS_URL": "ws://$release_name-sim-$param_simNameTestfsp3-scheme-adapter:4002", + "TESTFSP4_BACKEND_TESTAPI_URL": "http://$release_name-sim-$param_simNameTestfsp4-backend:3003", + "TESTFSP4_CALLBACK_URL": "http://$release_name-sim-$param_simNameTestfsp4-scheme-adapter:4000", + "TESTFSP4_SDK_TESTAPI_URL": "http://$release_name-sim-$param_simNameTestfsp4-scheme-adapter:4002", + "TESTFSP4_SDK_TESTAPI_WS_URL": "ws://$release_name-sim-$param_simNameTestfsp4-scheme-adapter:4002", + "TEST_NOTIFICATIONS": true, + "TTKFSP_JWS_KEY": "-----BEGIN PRIVATE KEY----- +MIIJQwIBADANBgkqhkiG9w0BAQEFAASCCS0wggkpAgEAAoICAQDPnscTEMZGXrO7 +H7nna4qgQPfODs2aV6A39ww4B2T2qeEncKk0xGTPUYAmjDO3TL4sG7Xl1Jiye9XL +MaJxrMB4rh6Ndik8t+GiXIBOjeLVeg/uCBddTZfB/4yHpyfETbDM5QqQLsiWLyz9 +n6/O/bH8sgaygLMaTpYazaoI522bTTGBtgXf6nGNcjgypMPanbvFmE5lOls2Adjq +QDbmC8FgnubSD5R//EULNSRnt+dxyExb7+vDcVqC0npxSxgBGHnkRIlbU6AszBpK +2tMVGV84Qw8ibr1NSD/5n1fg/jfZfICVOcJRgw11v4+OAT3YqL7kKCUo2ChyYVWp +H1aJ+luGs4N2KcgMsmEnA8eZmFMgXk2jJktt/kSXcJjzVg/0CAjK2c/oaPufVg+y +KLRdBkS8FR3deCPH2xRl41f5NSB7/C2kCMcep8EZSlhJ6ZeS3A09HSJPNaA4//hN +0o+DpqUQ2v9rwUH5OJ1YDk6xSFNDSmx/I2UEi/7JXZ5+zd0npfu5kZUQY00X7QrA +hoxLc9zzJbYy3eSHaDsgJ4tRm68a2PpxbmwfvTF51iQwU2F30pE9Xuapbk6Hhwtk +aQwlWohv+ZnNaJp6hsDFe+ELixdXlwi7UMvowXoD4+7AcfBe2QXLllYsZYYLaMj1 +YrKpNfThQoOYNo7UByPJOKLL9Err8QIDAQABAoICAFX3AKeAwQ//Az0eCEvtR8NN +0y0DDRd0Y7b4eBs02JWXRk4dxDnAfZsnvD95uqoRQQajXJ/ydF0mkCGnhgK6TCFL +uwPIoo9s9aRT155u+jZ46WKeAAqWZ5kgVhAO4pTRtDxKM6L6c/xXQTIsbc9vVMRz +8/jx9/aTBmzHrjkslcIBZte1xd3uRSETY3h4p018FPTeOMuKK50Di8yGVRTQVjvK +33inkc2iZvYahV3alB6VGCTTBNPyOc9EFgWV2bUObN3akOL7D62svtAypcatMDNr +9LbFkmUO3spdMzZKHFbVSao/9Zjpgee4rthV5EUyrYNrqeMtCSY+7ghuHNdZjY5M +E9IntIqtZTHnTXJuHR5aZhQUuRBBO8ymhzSRYLPCWTrIb2FdRVj2u2h8YOhVgo13 +3/b55Q1vJxWbUdqgxn087PvvNoznIqTphsKGivyPZ45scnwVMhVd8Pgm6V0nuoCV +Yj32CSXFFTavZTP6c7CN3jzjSXyHlJrC4vhVD30tqV9iDeZtYE3AGuP3E3xGE7oU +vqBzkUOk5gnYxbKpFA2kW8uY0XWmbrWR3sz+1Xw7IrQuyqMFvjnhRdpJaodkAlDa +roefxFliyek4/SRyPcWiM0yaP6Mz6ssGg018b/fM+HemE/wtd3I6qDS9PZl3LBdv +9aLz9XTh948/kIASRjLHAoIBAQDpqwuM1UlcQTuUmuoF0hADmBzi8eIR2JcnVVdE +UHfu8jJ3LMzNNf5VAcjbBwTb3/gdVhD71dm9GdGGmX4bLBogGqRuEYZtDKOoHu0w +RKUGSATob2qkLC6bI+Xg1q6XMTNxrBqqjTMCbHKuvwuwF8qTYTuP4GTaDEBpOdme +VfWoLu9JAbQz/9NxUYqmj2FckA/v1LQ9apBu+Cnwk9/U/Yi/kGz8EuX8apfgou1b +6fi0m/TkkbXuVEKP9CwUuWcX5TGQ5LFSqfK40eIT5AIKPhTWAwZV1iRhNh2J9kNH +gC2yOqFswSRVJ6KsYMs7pMv2g2cwjBP8M1BudKRIxkFJbcmLAoIBAQDjdnDVq09b +xHsv29evhx70GDl+oyNEkbhKjGqr4V7yL8wcchSdyfT8bZhSo/cBE/BRhfgBreLo +TGUHBDWEySGfmWwMQQjorLawnAiJGerm7N497R67jmdZIgd7NwcA+XQ7N784Xbox +9IngEvAt8hyUqJXQOSNnigLOWQoJSdyYzpsXBSjXcu/TsgozLu+FD9Gii8T+hyuo +NhAgmj/9Vr8GhKVIkaWRPouTGA2pm2b6iJgaHWLICbUK8VFdc9XTkBuhTc7IyGHP +1gd87cOM4AkgNp6+XMAmJqePRnBAvbDxNIdaNr/Bp2YxRw+uTa8qCpi3bAsG1qjJ +WJHlNT/jz3fzAoIBAQDYu3jMGOyhcDQGIyYbXfrSip2Idlh8uwuARSzbRVPowqbC +WUBgusr7J9uYJEuCcZveAf1gyLrcJf1sviP0qhRVYMDRAtpPfWCyyHSxx4nVaKl8 +uhMM0Zos9b/7qsRnohAYSEy3kp4UimhY4wTBQV/5ET/AtJ52jNSVhT3vGcXwSBBU +BAuUC56gRcS3ttfUlh7iEcVYDeaHtxCXf2EmWj8jh58+s3y0gl360sQb88lmJB2i +f/Biba8LfKwCUPFpfYFa5nP+u3lRqgLq9hpaS7jhxA51QVme/SWq2EsRH7fCz5T4 +nbDIdynwfxsiaDlynfDxW4wR6bqZqQDUK2dU50r/AoIBAQCvNsY2IS8RPmmx9QPR +ByG1348yWJJLOICglEd7PTC5GE5/PvVYkoAvjnB+gCU95FEDS1I+YObgEDDmVbyw +G4rV+QW87r/hE2Hq61a73YYP+jg7tZMt4MUFaOwgYsP3YTDCiO+4iKJr5rXqMExo +6A5SCQbWDZ2THUGKGBZeD1JpNwVKl0PdqoDJLmUjBi2k7wmJz2agthjQC00jAA74 +pECj0bvMCb1jA63aUfX8R2Ps6xlXTHmSI8AcvMTzWs5EmMZf26LFEW4e/fxopHI0 +60K8WLaxZprxCGecOyMvC6/oLZFx0aimkL9siBOxLdAXb3AyInzf+Kyt5JcF253q +ax83AoIBAGSoxz91Oc+NPP3NNYlPuhXErqC+R/EEO6Z6ZalKsJtfgL1Ss6Fq30ot +iKhEfFYm1gmZDTrMbI6dceGkNg4l8okXz9U6lfUQH0muk8ZRl8LaSm7cQwzcAI1S +m7XPnrwLtX81SihtxZnrvLTre8aM9ykKWCXiLY19LXDuJZQdwbzSgX1ie2Q2ZRcz +Rbxm20mgybQ0Jmmw1tY58d5GH5Y/A9NE+D0scobljMH5q/uHeg2bDx1piSw1lsx1 +zuoFe7sNa+zDFiYxXlyOhqDxenNRv4oDupGRefTaoJofGBDre5H2nDeWC2ZzYFEB +DktFAP1w3ruycnE/t+/H8rDVJGPTHc8= +-----END PRIVATE KEY----- +", + "WS_ASSERTION_TIMEOUT": 5000, + "accept": "application/vnd.interoperability.parties+json;version=1.1", + "acceptParties": "application/vnd.interoperability.parties+json;version=1.1", + "acceptPartiesOld": "application/vnd.interoperability.parties+json;version=1.0", + "acceptPartiesNotSupported": "application/vnd.interoperability.parties+json;version=2.0", + "acceptParticipants": "application/vnd.interoperability.participants+json;version=1.1", + "acceptParticipantsOld": "application/vnd.interoperability.participants+json;version=1.0", + "acceptParticipantsNotSupported": "application/vnd.interoperability.participants+json;version=2.0", + "acceptQuotes": "application/vnd.interoperability.quotes+json;version=1.1", + "acceptQuotesOld": "application/vnd.interoperability.quotes+json;version=1.0", + "acceptQuotesNotSupported": "application/vnd.interoperability.quotes+json;version=2.0", + "acceptTransfers": "application/vnd.interoperability.transfers+json;version=1.1", + "acceptTransfersOld": "application/vnd.interoperability.transfers+json;version=1.0", + "acceptTransfersNotSupported": "application/vnd.interoperability.transfers+json;version=2.0", + "acceptTransactionRequests": "application/vnd.interoperability.transactionRequests+json;version=1.1", + "acceptTransactionRequestsOld": "application/vnd.interoperability.transactionRequests+json;version=1.0", + "acceptTransactionRequestsNotSupported": "application/vnd.interoperability.transactionRequests+json;version=2.0", + "acceptAuthorizations": "application/vnd.interoperability.authorizations+json;version=1.1", + "acceptAuthorizationsOld": "application/vnd.interoperability.authorizations+json;version=1.0", + "acceptAuthorizationsNotSupported": "application/vnd.interoperability.authorizations+json;version=2.0", + "acceptBulkTransfers": "application/vnd.interoperability.bulkTransfers+json;version=1.1", + "acceptBulkTransfersOld": "application/vnd.interoperability.bulkTransfers+json;version=1.0", + "acceptBulkTransfersNotSupported": "application/vnd.interoperability.bulkTransfers+json;version=2.0", + "accountId": "6", + "amount": "100", + "batchToIdValue1": "27713803066", + "batchToIdValue2": "27713803067", + "condition": "n2cwS3w4ekGlvNYoXg2uBAqssu3FCoXjADE2mziU5jU", + "contentType": "application/vnd.interoperability.parties+json;version=1.1", + "contentTypeTransfers": "application/vnd.interoperability.transfers+json;version=1.1", + "contentTypeTransfersOld": "application/vnd.interoperability.transfers+json;version=1.0", + "contentTypeTransfersNotSupported": "application/vnd.interoperability.transfers+json;version=2.0", + "contentTypeParties": "application/vnd.interoperability.parties+json;version=1.1", + "contentTypePartiesOld": "application/vnd.interoperability.parties+json;version=1.0", + "contentTypePartiesNotSupported": "application/vnd.interoperability.parties+json;version=2.0", + "contentTypeParticipants": "application/vnd.interoperability.participants+json;version=1.1", + "contentTypeParticipantsOld": "application/vnd.interoperability.participants+json;version=1.0", + "contentTypeParticipantsNotSupported": "application/vnd.interoperability.participants+json;version=2.0", + "contentTypeQuotes": "application/vnd.interoperability.quotes+json;version=1.1", + "contentTypeQuotesOld": "application/vnd.interoperability.quotes+json;version=1.0", + "contentTypeQuotesNotSupported": "application/vnd.interoperability.quotes+json;version=2.0", + "contentTypeTransactionRequests": "application/vnd.interoperability.transactionRequests+json;version=1.1", + "contentTypeTransactionRequestsOld": "application/vnd.interoperability.transactionRequests+json;version=1.0", + "contentTypeTransactionRequestsNotSupported": "application/vnd.interoperability.transactionRequests+json;version=2.0", + "contentTypeAuthorizations": "application/vnd.interoperability.authorizations+json;version=1.1", + "contentTypeAuthorizationsOld": "application/vnd.interoperability.authorizations+json;version=1.0", + "contentTypeAuthorizationsNotSupported": "application/vnd.interoperability.authorizations+json;version=2.0", + "contentBulkTransfers": "application/vnd.interoperability.bulkTransfers+json;version=1.1", + "contentBulkTransfersOld": "application/vnd.interoperability.bulkTransfers+json;version=1.0", + "contentBulkTransfersNotSupported": "application/vnd.interoperability.bulkTransfers+json;version=2.0", + "currency": "USD", + "currency2": "TZS", + "fromDOB": "1984-01-01", + "fromFirstName": "Firstname-Test", + "fromFspId": "testingtoolkitdfsp", + "fromIdType": "MSISDN", + "fromIdValue": "44123456789", + "fromLastName": "Lastname-Test", + "fspiopSignature": "{\"signature\":\"iU4GBXSfY8twZMj1zXX1CTe3LDO8Zvgui53icrriBxCUF_wltQmnjgWLWI4ZUEueVeOeTbDPBZazpBWYvBYpl5WJSUoXi14nVlangcsmu2vYkQUPmHtjOW-yb2ng6_aPfwd7oHLWrWzcsjTF-S4dW7GZRPHEbY_qCOhEwmmMOnE1FWF1OLvP0dM0r4y7FlnrZNhmuVIFhk_pMbEC44rtQmMFv4pm4EVGqmIm3eyXz0GkX8q_O1kGBoyIeV_P6RRcZ0nL6YUVMhPFSLJo6CIhL2zPm54Qdl2nVzDFWn_shVyV0Cl5vpcMJxJ--O_Zcbmpv6lxqDdygTC782Ob3CNMvg\",\"protectedHeader\":\"eyJhbGciOiJSUzI1NiIsIkZTUElPUC1VUkkiOiIvdHJhbnNmZXJzIiwiRlNQSU9QLUhUVFAtTWV0aG9kIjoiUE9TVCIsIkZTUElPUC1Tb3VyY2UiOiJPTUwiLCJGU1BJT1AtRGVzdGluYXRpb24iOiJNVE5Nb2JpbGVNb25leSIsIkRhdGUiOiIifQ\"}", + "homeTransactionId": "123ABC", + "hubEmail": "some.email@gmail.com", + "hub_operator": "NOT_APPLICABLE", + "ilpPacket": "AYIDBQAAAAAAACcQJGcucGF5ZWVmc3AubXNpc2RuLnt7cmVjZWl2ZXJtc2lzZG59fYIC1GV5SjBjbUZ1YzJGamRHbHZia2xrSWpvaVptVXhNREU0Wm1NdE1EaGxZeTAwWWpJM0xUbGpZalF0TnpjMk9URTFNR00zT1dKaklpd2ljWFZ2ZEdWSlpDSTZJbVpsTVRBeE9HWmpMVEE0WldNdE5HSXlOeTA1WTJJMExUYzNOamt4TlRCak56bGlZeUlzSW5CaGVXVmxJanA3SW5CaGNuUjVTV1JKYm1adklqcDdJbkJoY25SNVNXUlVlWEJsSWpvaVRWTkpVMFJPSWl3aWNHRnlkSGxKWkdWdWRHbG1hV1Z5SWpvaWUzdHlaV05sYVhabGNrMVRTVk5FVG4xOUlpd2labk53U1dRaU9pSndZWGxsWldaemNDSjlmU3dpY0dGNVpYSWlPbnNpY0dGeWRIbEpaRWx1Wm04aU9uc2ljR0Z5ZEhsSlpGUjVjR1VpT2lKTlUwbFRSRTRpTENKd1lYSjBlVWxrWlc1MGFXWnBaWElpT2lJeU56Y3hNemd3TXprd05TSXNJbVp6Y0Vsa0lqb2ljR0Y1WlhKbWMzQWlmU3dpY0dWeWMyOXVZV3hKYm1adklqcDdJbU52YlhCc1pYaE9ZVzFsSWpwN0ltWnBjbk4wVG1GdFpTSTZJazFoZEhNaUxDSnNZWE4wVG1GdFpTSTZJa2hoWjIxaGJpSjlMQ0prWVhSbFQyWkNhWEowYUNJNklqRTVPRE10TVRBdE1qVWlmWDBzSW1GdGIzVnVkQ0k2ZXlKaGJXOTFiblFpT2lJeE1EQWlMQ0pqZFhKeVpXNWplU0k2SWxWVFJDSjlMQ0owY21GdWMyRmpkR2x2YmxSNWNHVWlPbnNpYzJObGJtRnlhVzhpT2lKVVVrRk9VMFpGVWlJc0ltbHVhWFJwWVhSdmNpSTZJbEJCV1VWU0lpd2lhVzVwZEdsaGRHOXlWSGx3WlNJNklrTlBUbE5WVFVWU0luMTkA", + "invalidFulfillment": "_3cco-YN5OGpRKVWV3n6x6uNpBTH9tYUdOYmHA-----", + "invalidToIdType": "ACCOUNT_ID", + "invalidToIdValue": "27713803099", + "note": "test", + "payeeIdType": "MSISDN", + "payeeIdentifier": "17039811902", + "payeefsp": "$param_simNamePayeefsp", + "payeefspEmail": "some.email@gmail.com", + "payerIdType": "MSISDN", + "payerIdentifier": "17039811901", + "payerfsp": "testingtoolkitdfsp", + "payerfspEmail": "some.email@gmail.com", + "receiverMSISDN": "27713803912", + "testfsp1Email": "some.email@gmail.com", + "testfsp1IdType": "MSISDN", + "testfsp1Identifier": "17039811903", + "testfsp1MSISDN": "17039811903", + "testfsp2Email": "some.email@gmail.com", + "testfsp2IdType": "MSISDN", + "testfsp2Identifier": "17039811904", + "testfsp2MSISDN": "17039811904", + "toFspId": "$param_simNamePayeefsp", + "toIdType": "MSISDN", + "toIdValue": "27713803912", + "toIdValueDelete": "27713803913", + "toAccentIdType": "MSISDN", + "toAccentIdValue": "97039819999", + "toAccentIdDOB": "2000-01-01", + "toAccentIdFirstName": "Seán", + "toAccentIdMiddleName": "François", + "toAccentIdLastName": "Nuñez", + "toAccentIdFspId": "$param_simNamePayeefsp", + "toBurmeseIdType": "MSISDN", + "toBurmeseIdValue": "2224448888", + "toBurmeseIdDOB": "1990-01-01", + "toBurmeseIdFirstName": "ကောင်းထက်စံ", + "toBurmeseIdMiddleName": "အောင်", + "toBurmeseIdLastName": "ဒေါ်သန္တာထွန်", + "toBurmeseIdFspId": "$param_simNamePayeefsp", + "validCondition": "GRzLaTP7DJ9t4P-a_BA0WA9wzzlsugf00-Tn6kESAfM", + "validCondition2": "kPLCKM62VY2jbekuw3apCTBg5zk_mVs9DD8-XpljQms", + "validFulfillment": "UNlJ98hZTY_dsw0cAqw4i_UN3v4utt7CZFB4yfLbVFA", + "validIlpPacket2": "AYIC9AAAAAAAABdwHWcucGF5ZWVmc3AubXNpc2RuLjIyNTU2OTk5MTI1ggLKZXlKMGNtRnVjMkZqZEdsdmJrbGtJam9pWmpRMFltUmtOV010WXpreE1DMDBZVGt3TFRoa05qa3RaR0ppWVRaaVl6aGxZVFpqSWl3aWNYVnZkR1ZKWkNJNklqVTBaRFZtTURsaUxXRTBOMlF0TkRCa05pMWhZVEEzTFdFNVkyWXpZbUl5TkRsaFpDSXNJbkJoZVdWbElqcDdJbkJoY25SNVNXUkpibVp2SWpwN0luQmhjblI1U1dSVWVYQmxJam9pVFZOSlUwUk9JaXdpY0dGeWRIbEpaR1Z1ZEdsbWFXVnlJam9pTWpJMU5UWTVPVGt4TWpVaUxDSm1jM0JKWkNJNkluQmhlV1ZsWm5Od0luMTlMQ0p3WVhsbGNpSTZleUp3WVhKMGVVbGtTVzVtYnlJNmV5SndZWEowZVVsa1ZIbHdaU0k2SWsxVFNWTkVUaUlzSW5CaGNuUjVTV1JsYm5ScFptbGxjaUk2SWpJeU5UQTNNREE0TVRneElpd2labk53U1dRaU9pSndZWGxsY21aemNDSjlMQ0p3WlhKemIyNWhiRWx1Wm04aU9uc2lZMjl0Y0d4bGVFNWhiV1VpT25zaVptbHljM1JPWVcxbElqb2lUV0YwY3lJc0lteGhjM1JPWVcxbElqb2lTR0ZuYldGdUluMHNJbVJoZEdWUFprSnBjblJvSWpvaU1UazRNeTB4TUMweU5TSjlmU3dpWVcxdmRXNTBJanA3SW1GdGIzVnVkQ0k2SWpZd0lpd2lZM1Z5Y21WdVkza2lPaUpWVTBRaWZTd2lkSEpoYm5OaFkzUnBiMjVVZVhCbElqcDdJbk5qWlc1aGNtbHZJam9pVkZKQlRsTkdSVklpTENKcGJtbDBhV0YwYjNJaU9pSlFRVmxGVWlJc0ltbHVhWFJwWVhSdmNsUjVjR1VpT2lKRFQwNVRWVTFGVWlKOWZRAA", + "NORESPONSE_SIMPAYEE_NAME": "$param_simNameNoResponsePayeefsp", + "SIM1_NAME": "$param_simNameTestfsp1", + "SIM2_NAME": "$param_simNameTestfsp2", + "SIM3_NAME": "$param_simNameTestfsp3", + "SIM4_NAME": "$param_simNameTestfsp4", + "SIM1_MSISDN": "17039811903", + "SIM2_MSISDN": "17039811904", + "SIM3_MSISDN": "17891239873", + "SIM4_MSISDN": "17891239872", + "SIM1_JWS_KEY": "-----BEGIN PRIVATE KEY----- +MIIJQgIBADANBgkqhkiG9w0BAQEFAASCCSwwggkoAgEAAoICAQDF7BOa5uMtMcyk +hEuHXNw1/q7YTaRwyyJZLXAOl3lHnSJKPp7+USY7mSkSuyNwf6lpKaZZ6q0AnuLY +Narkr376osEE1KNjKWUFMSPeJKqrYx7bgZOnbqvnO/XRPBnA7N8WG0JIis+N4MGt +4YVXzojDMxU3Ghpj0Li6U8dJ6uuXYELpeiX0DV+/LcRtyb9QJr69Ezpa5x1ROly1 +mqJlfMth82NXKpQWGpRlmsBsMpxJJANL7K9672zWgmXWvClrCy4hRy7wBOLSevOI +p3shfDXYBC0Kxay/EX4SY4geHOqyAxlEQp2zbAMo/IKtDwMfepm92dtA12vo/bfc +yjoqM62ssrSSElQpXH3yKBYAA3lg4NAXkOWhetk6siEtYAMM+kWMqzNC9rZj0Trj +gsxir7tHPyTxRfQxXCRSDQWCSKmFnXixWN1dj/b0CGIavG74NkSD3rh3JwPmRG1C +5DFrFq9Oh+SlGNDdQMAYG+UWJyYIJq2e9RaXOipNIAliD7YHofWpqMnjsldPz4v2 +YsYNFL1FUd9XwpnMx+PS1Vn57QGbiJZgbp75xhkfA01mgc7MINWI/ZCmqcpu0RQJ +qsY2JSL0Iyt7cprwok4rLp8z0GO18kpa3HwyQFhCJoUQ895egPajEfxfvY+mp9im +H88Dn/837leIsnKL9qx8JpPv8dUqwwIDAQABAoICAAOA3KK27VS5TuMgTCcCqK0c +oXJNkHore8wcn1BDpnK2ilUbQvlQtyVt+TBpN0hgV5dIXsRxbEuwCwjXIYJ5nFs1 +zz/mRY5SQ7rs5vYaxq4vHGW33TClDGJzLgvw4YHs/OuaJiGG6B6QNx8eIMR6cNfs +iWXcxJSbM64YO4s0M0Y2oHbl17eCdU3+OVjHhXt1Pw+adhsuw12c+nvd66Quqmxt +Yhs/W4l6hS0yZcpLPVxvi9w77N/jGIfwxZU7iCatzqr3Ls8k7pNS5Aj81sl9vTRb +ZpDqgruz7THw+ZvIh/0V7bFbC+Fbh9Ua5T13tEveS9k4FZ6Orj9PLExcJiEAXsF9 +/WGN9pAXmjbULu0Usxe/0KaG3BTfzmQPH8n6Y6yNZgnhStQOdZn5dIFiIT/nfscw +S3IDCwZZktptWG6pBgGtoTUSiWZfSDbR0mj57+VDeG3Dg+5k016KCwR4H1y3q6NV +JKaOJlKadWgh7wCaH8Dg8Y+lHEV5TOAIPdg7nx1D/U+cNbXKbjZZ84D8CSi2Afk0 +CuR3WTXPncpsugvehyfiOBy26kmcxBz6fyi2QAKxFfZBeO9Wao1VcWnd8G9mZs6K +VZ3qjzRODMZ8pEk8/13U3G5TqKNpFgdOzb64dMoFmTMc2fxPM9WFX+iy9n5irSdA +bdW0sugAMrRF7Tmor1apAoIBAQDwU1I/xJWR4J/+7Z174HfrmusIFg5wu+4souVO +FWQE903KDHbrX8DnEf4GdElDJ3qwZq1e27hSVhpwqlSMkBS0frBvyQfX3tAeevmE +nNKFpLQiBQwQWeWV9bbXKUDEvSwxGBHEKKhAAgKRM9EJgWAkWOfMBfj/98Qo390p +ske4ZR28w2XDrW7Ycqdo6NDjte+ziDmeMNCU7Wv5StlAt0eRJ7fXOi9lN4BSw649 +0YTNwq+3G5yHpWkdG6e4EWKuCjXz8/4vW+pPatlWXEtrZgSJwAYe3HSZw3ds/Tcw +YHdPULoWpOHkdUOqXZ9abWPQ4bI9v1EmtRy2z6/G+tYhwud3AoIBAQDS1MDy29PM +bbLG9oLU3dZTL+UnZ0Bp+GTSao92EOCHvco6w+/Y1+rAN7e2F5tbMMWkc1ozIQn/ +TrXvX9W75+CPsj5umj/ZXmv2o9UHurj3ENQ+jRA15uBNNdKOYyrHCWLZWi3TyKqm +co0KSQOjk0qrn3c2asU1OwiHA7CYP0baO9X6h/kBcaRYxpdPP0XUbKlAqHiaQTdM +Vex9J+LuIO9qnchRFuD1DYKcKJwLYeXs6tSRfh4mO+9qWpYaA3nKBsyjBvo1szak +mmCA4DiFGZgta+2+rVCUY3tXHn52X64+JKHgd4NA/QEf/GXsgO4rvW0is6T3bKCo +n2dKa0GOEMIVAoIBABmS5EfA5aG2Y5A/POj3xAsgWy5rGnJIrVm2o+whPpmAr5h2 +pxj5AZAVTBDnwvwQcW/gHUbg3sZ0PzAKECE9G9bxPFlI7Tq9jSwRLgg8n/J0ym5s +VxJOXq4Mjb5rt2a4MsGurAVRxkW5cQh+mRoH2HFFvLTrVcn3Vbp7yA8t14/5wqZZ +rLSb+hWybbouPDxfGfji4C7DRw7yDPFkU6YdWtJJhbizimOc+lzUUfBmIVm8A/La +T1fn9D2SudBOmU+n6oHhTwU/JLn6xtH31FbDbmwyMPSLxSSvtj+02nCdc1TPZF4Q +gbFMAT1Z5SE8Tsjlm5ASkdIqp7mUdEIaYzsIgJUCggEAKn/ewVYU9OGsJzVsHDL3 +0F8YR4Al2PbMhCoc70TprhNRH9V9lO25kbPpoZhSpehH/yWNqj7fwAqC3FUqRa2x +c+YPdcY8VroU82wFNoCqZouK7W0MNoFq98WAw1k0N1kqBvyJvmZ2GAWBbvBW/nNj +mwMTSfHt/RQAXQ8eWyJuSvHC6bTdOjBJW+f0enIbxn19BN6xKQ86cXXkrToMIcqb +2Jcj2UzOXjex+36oLhc2/TI9VXLh6v0r/vlxxp6qv1HtkHOInqiYvEeuamxImHQX +XBiknUpcsvz20RIBliUlf7tssk4FNGWMA4GinjFDUafmxxcFiybnn/Y6ISNL3LJ+ +HQKCAQEA2q493viIsIujsyDVUeW5CB94Zox30nINvOGxQ+Zt67ltyLYOLaQCp4Di +P1GBmB5Pc78Bd7uIPzmZFvp6M1XPpA8HL2BbHaehEiRojBP8ytafMFbOAFfK7r7R +bBHGBV2TLcuucQb5iMWCg/l5GTfX5PYUBq1nj/8QFYeflcSs8G4ndxGtl8qN2j8o +sqBrbDbBJFidLxou0bwD7twX1fY3bOdTFxpO0cSMCxZ3wFeVoUR8mBeP87Jkno7x +YBhb5j1KM+MPkast7nE2dczxfvzjDhr1rnsY9Yq8UHCIsFOf5krsNac1+k9zipR8 +DgoQeSng2kt5Z6mkoDIQTs7nEflb4w== +-----END PRIVATE KEY----- +", + "SIM2_JWS_KEY": "-----BEGIN PRIVATE KEY----- +MIIJQgIBADANBgkqhkiG9w0BAQEFAASCCSwwggkoAgEAAoICAQDO+faoQhcwWr3Z +ppD60DkXg5ganK1Le14Z/IBx+GGQqdYVUa6hIGR0HV3HchIkUf60+ei9WyYer8ze +7bJklfo2TiMAdWXb9+eHJ0+Vuvsb/tH5yRjbxgTpZRgygJWiKDGXrYkGKAfSagJ+ +WDd2vL9cG9W5+OyXNiitK5pHa0dj3QwS+9C/yxzqgGLlkIplEcLqdYFknoVK+mas +YBG65B0+5NHy4soEIdGr7Nd2xINqq+2/qyghwxcBQrxktbHC+/R+odkvTLrHWuBr +x5NnL+LAbfmfDntsUfo2nZb667IdcRFoLWlsU9jK+RaaxNFcbe+j1PY+oJQdXF52 +9JNQR6efBOtuZXD9hjV/N1zmRFCY/o8nKc05Po2RZuLS8xKv90I4uZNF78X1ZiLz +5veBjZF+Xa6kB5ABPENVA7xuCepfPoUUIQweatF4BwjnBYmGA6WVVckD/VO6AvpU +vFuy+BQpEQFcfoX7OrqkY2MMITotMcflVjboGdwdtvJWEhBApGp70KrDXoYIh0q4 +opt/z1jv5MveyNfhq8qPca0fovcHST1tsAS0cSaro622fILTddaeCbLt8fBLH1Dz +wzM4TDWb0i8EgXhGnRdqz9KNukPB6YuAEaaCKoRxsxzx41HYFLtES8XhNuV2Umxl +NboBHjKy1wycZfRvrriph/dmwNSpjQIDAQABAoICAAcxIdxCYaZlPMwTkN2aPyWd +RbuE/rOM/53VC4yKRi+d6ym1+ySvqLXtME1GHjHDZJ+awHbV9DrkPnDvnv+GQ5m/ ++NDjA21TjajBWa9Y/jFAl0C/91xpotGOWPsmQyzNiz2bQtPjL7RkyR3lSFYYpGiZ +sgFCkEwHzn2H8pYxONuUOn9tXxlPADv4xpb2AQ0Wgyic+ShLJtQOY+Nw+iS9mPOO +xWnUbhMbLrsz4V/H384k17/NfXlA22uIi13Pf3QIR7xfuNl/J81WD87G8k0HWbB4 +kdAwU2MV7SUZMD4bUwbZXzK4wz1Ho5SX96xcku7MhiNx+rV95G+pvkGRaY4EU2Nv +6g8cN/TliZKcTV445wZg6SWcgOC1Q8TlosVpP9SsbeuG9NIC8DMfLdy6qJ0tASuP +b4z1k0jiAyb5mA5EvVyK0WjZDBNM4KwW9CU9XC7NHw5zEHJbeKmLmWiz1pNxVPu3 +gaN0iC54LjTbtTCl+m63aedwldAcjjrBclKJYGlGpbHl8MJ+fUFtPoeX8IlXwxAu +0p0RYRjMxsNlJkS2EU/5CDC6VnFgNPNYxUfEYH89qlbH+nBgU+gmMUkxApSkvNYG +IW4QPcbyjzVY4WiMG5JFYJ8nR6NypUSnyCNXBxNHfRyT9Ay7qNdCU7XmuXZVK6+Z +li9YtfoJbnbUAHcxRAEJAoIBAQDtCMjG7qAfP2zAxtpZQFyte2SXfPcoVei4P+SW +tHVTDE7IGl/RYlFAOj8oyulvOsaH+RtsiLzaKEY3jjeN8FJl3d1F1fwQN+JuGxIr +r7P/fEmE69MHYlSou8z81DuS3ICavu8nC5q2nLJhXV9W1QY5gLMERUac1M2jiEJf +aE0nWI59CagjtF8Xaq1uL6cv0Tyr7ORd5gt6LYL0zVChIrQaVx+LQhcy49Z6AQDw +b4pVdSY7jrn0Q4SjvgMPTtHxvY1jN5hAvyOZGi1SUzpow7RNnYzGANd9aQNaKjJN +qU7cBrJuLPyINMzUrdLC35yRebl/b975N5wBECA3htqbkljpAoIBAQDfiX+Bx4Qa +J/8V4eWNyUwlg1Sq7xQe4EPiMELeEb0LD5zlUgGo4/UoWxmT84/CHlWDzScgYgUW +at/y0fZuFCe/9IKLoR2Nqwppb1Ay+kMvbfJKdDQIhH2iFVobgracnm3duhIKX4mX +df21dhROnZ6ZGqsHPjE6NwbRG6sg26U9gHu+LqVVUjgmRoeKZ7YT62tmpbbibLc1 +kazqZ9HkZtrjHNqpKts5VZJya/szEXIVfte+tzQoXHwNTQfFXtT9z+iNjIVxY6as +Zj9c+vahGw+N1VPmd79FzOcMgBHwY0f8GN2gfBDPc30Ykrtugya74QxPWILBUpf+ +4QZEzLT7nWUFAoIBABeQPv1frXVNxc7oNb6Xol7wnFBe8OcGm0rttxiwOdWWrKJB +1PKotnEPGUZB3bDcA+5yeiJw+W0qgch2D9nBYT+VLbEKk7M9CvptIIJNRjSIs3pO +Qz1Bri7T9I3Rv1ZbK0G252lXQvsSWr1JHfgw1xySSbmL9XgTw5mVKxv272yQ5iFR ++3AJN0bJqRICFLmxMDnbI9ydyNhNe+5AFtrd60+PB6i9WjcJ5UFdpi1AuVzDd5iG +GMBKkf4BHqa/7Cj+8fZCCZWuKqjGrGi5s13EzsDEf8ETRljGProQ5c1InnlLBSPk +vvn/Xblqyj/rINJpamJbyau2toB4jOtYMZUzmDkCggEAfmjeH0D5lmUJ3pEJZF3y +XsBe7+8VXMSL/uw11CkJ06h3nEL8x0pqB/FEjKNOp4LJ7yfjuW9U2zGDBWjwx51E +QUv/SwDImqWf1LHrE3js53RwcOQ3zJ1IApG6jBYmOHlrPdkMfKs8PtetqqFkqHSA +DKrFDup/oiEeDMBtzL4JOrdewtTUEGTXdeWqnn05vRgDe1+5BWBfVr7Tnxco3dXA +cHCPwtyGbmzSzTv9KQrzje5WCPbHWw+54zetblLLdeDN7MYLbGzjA1kq+eS99as8 +54M81/bdxpYyDqKaAmvSeGCDbE7cnsP7eRr5PWyTSenhMTmnb7XKWIteJSfyLNv8 +FQKCAQEAh9FvoIxoz4KvmVp+qyoXIXbq4egx4RdvNVBTWDnoQnVsnaetbzSkYPJX +ObR7waDJd/eu8b+VnwhTiIIwzMA3ZYmV/ZNUh5YKtYXzNqphdyPpJHxN+lwSBeV0 +mbyQ+W4UzhG2t9vaFbV0UElsNFclKNzWzrTKRKAQjteFMItEKewN1Mjsb8Ckb1UV +nQRBmAAt3prGgv27+vjGVjH39CymNhrBt8DSk/DWqmPeEYewwkiMkOUADHrPbIPi +GWJYfY1jvUJsp75usbzG7VZ8SxDD8APOhJHIDVm4HiTsS0YcOY53i/7WirChSNne +Tv4G862WYeqD1fdyZaKQ3b9fAQEq1g== +-----END PRIVATE KEY----- +", + "SIMPAYEE_JWS_PRIVATE_KEY": "-----BEGIN PRIVATE KEY----- +MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDMu126miewCUCT +7f49B0SyCPFGzmqGSs9rTPbk1se+BBhqfhsfkZj6cRRfrlg3rme6we0Ib2AF5TQL +noSBlDAimQcNOHXrqpAY/B0l/mgyUwmfv0NJ3UjZuCFuw3HRrU/oSUfXoDITC+Bi +120w4FY2B/vPn+1iC/tsaCayneoaV/Sedq7H9+smEnQfGl3p5QJp/B2Ws3Bz1HqI +IoxLEaO9VMeDHQPvNJn/7g9erqA5vIhmgLS46worOVjdRLH2SECH73qp8Wg0rJ8Y +eW2kQ8kuY4uHcG3MO6drYrC011U0ZyM90KV7dv2Y0h2FHlpn9s/pmb630m5ELpnB +T/pYTLcXAgMBAAECggEADqk6Qz3SgBeMMYEWYZ4ZdsW6Ktpm+Xqg/kDy4JywOB9z +SikBXeeKH3Z6ltwq2BicDV020Wb8Zt+s3vTOmLhDzC544/hPmtKfjWfR2eHX6gaq +m+8ml+20pQFmb4Kn2MlC/Xzwm/SOXBvPyUmTua95rQExsK12DT0+F4YhLfhYsTh2 +HfkEzdFW4rrd+9ddKG1ZANS4ZaiMyzhtvUWeEBypBtVf+kBk+51t9pLCdjuynb8I +WylSDhikT3/YQ/3g/Sz3SMp1u4x0GQe9FWYrnPzzp5LnM5fm49v8JWVHUvd0TOi0 +dQV+LYlgSD38YPpi4iKQSh0Zf0EBfbA83GsX2ArJ7QKBgQDmvcA6PqPo0OV/7RKY +JuziA3TpucL8iVM1i7/Lv6+VkX88uDvEjwLoNAiYcgIm/CMK7WAwA+Dzn4r38EHB +BKF4KRhP0qQS0KLXsd0tdsmAB0In7+cbKL4ttqNUP98xZAkTLJq9PXqTKN0qtyw4 +SfIsVMjDGoeSdWHObZYbGKICfQKBgQDjJLwolDrVX29V4zVmxQYH5iN+5kwKXHXj +suHBrW02Oj/GQFh3Xj6JQi3mzTWYhHwhA4pdaQtNYqTaz9Ic/O1VNPic2ovtg+cd +7sh86qdQ4QZYhN3RT4oX///u6+UK90llh9hEBo3GuZ4X47tuByNtD4SFAlULrkSm +fW4XaC3gIwKBgGil6HfCDx65F00UnVlKVicPQEf8ivVz5rwjPIJQ1nZ0PYuxVtIH +tl7PspJJKra5pb7/957vM2fqlOFsIrZCvmS75p3VP7qUyzYeIdzLwgmBwTxRrrP/ +n3kmGx9LtJM29nKuySNIrb3uS5hi6PhCeUYn0cHC13fSKuCvjOOPIXMVAoGBAJg+ +CPdR0tUs8Byq+yH0sIQe1m+5wAG50zJYtUPxD6AnDpO8kQ8A1f19o/JsXJ3rPp+K +FfVh8LdfhIs8e+H+DLztkizftqXtoLzJTQuc46QsDurJszsVisNnTI1BAvWEpWct +0+BUXDZ0NuhgNUIb+rygh/v2gjYgCddlfqKlqwntAoGBAM5Kpp5R0G0ioAuqGqfZ +sHEdLqJMSepgc6c7RC+3G/svtS2IqCfyNfVMM3qV5MY3J7KnAVjGOw2oJbXcPLXa +uutsVVmPx2d/x2LZdc8dYYcdOQZvrUhmALhAPXM4SRujakxh+Uxi1VOiW+fZL8aW +uu1pxuWD0gTJxFkp6u4YIAhw +-----END PRIVATE KEY----- +", + "SIMPAYER_JWS_PRIVATE_KEY": "-----BEGIN PRIVATE KEY----- +MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCg9eU66hg4ZAE6 +jM4U8ylXQwUz9cdmzS3JyW+1bbgv77peMKSU/wFsi4QRwmbrYze9baFnGCKnS75E +vCchib5vJxp3MDWzi/TGxmzgWdJRzkyCiI5C6dCgVL71MjsFgN3TN63wEf5sEU2I +eoJ8yXJM0pUG9f9NO7p/IGliDmt6C7EA7D9kQWigufmX0ZTVNKI07fKwC/AEKLp7 +kx99pvsCq8m184EEL15Q/NhA7R/5zKoHvmJa6Jd7tM0i0xn8IKOkNVFu3YIafAEC +QWQwRbanFEeRc3tH3bEoYM8c74r+W+YxCG7nUf16XCk132XVffbHVl+wFgo18YB/ +sAJmcbePAgMBAAECggEAGQGKnsf+gkg7DqMQYx3Rxt5BISzmURjAK9CxG6ETk9Lt +A7QP5ZvmVzwnhPDMN3Z/Et1EzXTo8U+pnBkVBTdWkAMlr+2b8ixklzr9cC9UJuRj +a4YWf9u+TyJLVmF63OSD0cwdKCZLffOENZc+zW8oZDn08BNomdGVLCnXZWXzGY8X +KaJTJr29jEgkKOqFXdAHrsmj7TBtqSLZKx2IHdCmi05+5JCxVLPgnDiCicZ9zEii +yWw57Q1migFIcw6ZQP4RyjgH1o70B+zo3OL7IQEirE17GUgK16XD8xi8hWCYTj5n +xOz9yfVfPuYom/9Xbm5kYJZKE2HOZ3Lg8pUnWncuNQKBgQDbaOoACQPhVxQK1qYR +RbW0I5Rn0EDxzsFPEpu3eXHoIYGXi8u/ew9AzFmGu+tKYJV5V4BCXo5x2ddE+B8B +dXhyHLGfeV8tWKYKBpatolVxxKDL/9fnxoGIAO9cc91ieOm5JxmKscCVP1UnOXHZ +uomSfAbGQwYDtMd2bJKkE1z0qwKBgQC7zacuv1PMaDFksHuNNRG+aZ74pJ77msht +vJoKyaQcktD0xmIXhFfJvK4cclzG7s5jxCsu2ejimgmfVzgXlLEMrJFvSdFkD2SS +gGqoxq5c9g8ssvt7xwr7aJ+VYYWTWRzJrOUny+99UbwHedu0EHL1BYILwy67Lium +sgUeeCEgrQKBgGv+7f7qcRB/jgvvr3oc990dDjUzGmRrQlcrb54Vlu2NYH45fyZW +6iEY9JAO+zd25tv9J9KDPFXpxb3a61gKfCie2wcF9MUbN08EAzKgDrKa+BKxcZJR +8PwCic7V8QhBP7m09yt/Zq2PqNhPvCxRVtnVVnhMES/N0cgGlP9R0JVVAoGAHU2/ +kmnEN5bibiWjgasQM7fjWETHkdbbA1R0bM59zv+Rnz/9OlIqKI5KVKH7nAbTKXoI +iuzxi7ohWj2PwQ4wehvLLaRFCenk9X8YJXGq71Jtl7ntx6iNLCFtFS/8WbuD5GwX +7ZfCrLk+L6RyBayzY0wSuKch+Y8AvKf2aISyFpkCgYEAjSfEjz9Cn+27HdiMoBwa ++fyyoosci/6OBxj/WTKvV6KUYLBfFoAYpb9rqrbvnfyyc0UiAYQeMJAOWQ1kkzY4 +zXs63iPQi2UeGPJZ7RsT+31DSaG9YiQdrInsUrlm8hi1C7Pg/NNt6Y1G0WhWYrvF +iNK0yCENMhSoOTtbT9tmGi0= +-----END PRIVATE KEY----- +", + "TESTFSP1_JWS_PUB_KEY": "-----BEGIN PUBLIC KEY----- +MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2R3IuEDpqDtsS96emI0v +dCJpeb/lnCxR2Nw5x6Z3GjC9PRFCJ2gsS2Zq70NaUQ5yWrrrZ9DZ8PjgCXqftUKG +42uFsibLFpN09IjQuZCDuAkCdEjMgm+xies47ajRzl6evOc0ClkQBZVGybl9RAr6 +NRTFOYkYjJ0xS0MNkfRkDiOEu5BA/XKb5oLbyVMjGyvLgyS1g41x4fA+Ccb5PENa +h9dqkFJ3j218Rs+bGytrVqrrCCjV1FiI+Y9YjKuTRRo7U/jcGHLfEc7YRcP2U9os +xQxFvhHxR7W0e74fAU8B8YIJzwjaQvrEh9SJRc2IZsh6EdBAXXmbk4sHKyhoX0by +UQIDAQAB +-----END PUBLIC KEY----- +", + "TESTFSP2_JWS_PUB_KEY": "-----BEGIN PUBLIC KEY----- +MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAv7k0Mqy0jSXFpHD9/a+Y +l5djXq6HdyC+BsSA/sRKczEBKQyW8mEJVILAKkOibWzK7e+SJjQPbFjgqiUZvRI5 ++ggHkSJXEV28Bi2sF58A15sQjwaSkE2vBwLAL5GftSmao0QSozSfQ+RFw2N+loRG +YedXZpRMsYFr1uA1qavcBjoj7JqPpID7UaTgXwwHWbV+j2uhQfotqRvOQ5KTmx5H +Ja+VjPu+xAC7mmcL+dxmeBpbJJD5Li8B8ggJXGJUk+En6XSIgZkQ6vKvC9HyasE6 +WZLXU+JJoCp2wkCPNTRxzPE2PGnlI0a4ZP2/y/2yacc4HQGBhEMc+SVT/VSZaMS+ +AQIDAQAB +-----END PUBLIC KEY-----", + "payerfspSettlementAccountId": "", + "payerfspSettlementAccountBalanceBeforeFundsIn": "", + "payerfspSettlementAccountBalanceAfterFundsIn": "", + "fundsInPrepareTransferId": "", + "fundsInPrepareAmount": "", + "SIMPLE_ROUTING_MODE_ENABLED": true, + "mobileSimPayerFsp": "pinkbankfsp", + "mobileSimPayeeFsp": "greenbankfsp", + "ON_US_TRANSFERS_ENABLED": false, + "expectedPartiesVersion": "1.1", + "expectedParticipantsVersion": "1.1", + "expectedQuotesVersion": "1.1", + "expectedTransfersVersion": "1.1", + "expectedAuthorizationsVersion": "1.1", + "expectedTransactionRequestsVersion": "1.1", + "toSubIdValue": "30", + "fromSubIdValue": "30", + "cgscurrency": "INR", + "settlementtestfsp2bankMSISDN": "27713813915", + "settlementtestfsp1bankMSISDN": "27713813914", + "settlementtestfsp4bankMSISDN": "27713813917", + "settlementtestfsp3bankMSISDN": "27713813916", + "DELAY_CGS": 5000, + "settlementpayeefspNoExtensionMSISDN": "27714923918", + "NORESPONSE_NAME": "$param_simNameNoResponsePayeefsp", + "payeefspMSISDN": "17039811907", + "payerfspMSISDN": "17891239876", + "settlementtestNonExistingMSISDN": "22244803917", + "NET_DEBIT_CAP": "50000", + "HOST_ORACLE_CONSENT": "http://consent-oracle:3000", + "DFSPA_NAME": "dfspa", + "DFSPA_CB_FSPIOP": "http://$release_name-sim-tp-dfspa-scheme-adapter:4000", + "DFSPA_CB_THIRDPARTY": "http://$release_name-sim-tp-dfspa-thirdparty-sdk:4005", + "DFSPB_NAME": "dfspb", + "DFSPB_CB_FSPIOP": "http://$release_name-sim-tp-dfspb-scheme-adapter:4000", + "DFSPB_CB_THIRDPARTY": "http://$release_name-sim-tp-dfspb-thirdparty-sdk:4005", + "PISP_NAME": "pisp", + "PISP_CB_FSPIOP": "http://$release_name-sim-tp-pisp-scheme-adapter:4000", + "PISP_CB_THIRDPARTY": "http://$release_name-sim-tp-pisp-thirdparty-sdk:4005", + "CENTRALAUTH_NAME": "centralauth", + "CENTRALAUTH_CB_FSPIOP": "http://auth-svc:4004", + "PISP_THIRDPARTY_SDK_OUTBOUND_URL": "http://$release_name-sim-tp-pisp-thirdparty-sdk:4006", + "PISP_BACKEND_TESTAPI_URL": "http://$release_name-sim-tp-pisp-backend:3003", + "PISP_CALLBACK_URL": "http://$release_name-sim-tp-pisp-scheme-adapter:4000", + "PISP_SDK_TESTAPI_URL": "http://$release_name-sim-tp-pisp-scheme-adapter:4002", + "PISP_SDK_TESTAPI_WS_URL": "ws://$release_name-sim-tp-pisp-scheme-adapter:4002", + "DFSPA_BACKEND_TESTAPI_URL": "http://$release_name-sim-tp-dfspa-backend:3003", + "DFSPA_CALLBACK_URL": "http://$release_name-sim-tp-dfspa-scheme-adapter:4000", + "DFSPA_SDK_TESTAPI_URL": "http://$release_name-sim-tp-dfspa-scheme-adapter:4002", + "DFSPA_SDK_TESTAPI_WS_URL": "ws://$release_name-sim-tp-dfspa-scheme-adapter:4002", + "DFSPB_BACKEND_TESTAPI_URL": "http://$release_name-sim-tp-dfspb-backend:3003", + "DFSPB_CALLBACK_URL": "http://$release_name-sim-tp-dfspb-scheme-adapter:4000", + "DFSPB_SDK_TESTAPI_URL": "http://$release_name-sim-tp-dfspb-scheme-adapter:4002", + "DFSPB_SDK_TESTAPI_WS_URL": "ws://$release_name-sim-tp-dfspb-scheme-adapter:4002" + } +} + + ml-testing-toolkit-frontend: + ingress: + enabled: true + hosts: + ui: + host: testing-toolkit.local + config: + API_BASE_URL: http://testing-toolkit.local + +ml-ttk-posthook-setup: + postInstallHook: + enabled: false + weight: -5 + config: + ## Test-case archive zip for test-cases: https://github.com/mojaloop/testing-toolkit-test-cases + testCasesZipUrl: &ttkGitUrl https://github.com/mojaloop/testing-toolkit-test-cases/archive/v14.0.0.1.zip + testCasesPathInZip: &ttkGitPathSetup testing-toolkit-test-cases-14.0.0.1/collections/hub/provisioning + ttkBackendURL: http://$release_name-ml-testing-toolkit-backend:5050 + parameters: + <<: *simNames + testCaseEnvironmentFile: *ttkInputValues + +ml-ttk-posthook-tests: + postInstallHook: + enabled: false + weight: -4 + config: + ## Test-case archive zip for test-cases: https://github.com/mojaloop/testing-toolkit-test-cases + testCasesZipUrl: *ttkGitUrl + testCasesPathInZip: &ttkGitPathGP testing-toolkit-test-cases-14.0.0.1/collections/hub/golden_path + # awsS3BucketName: aws-s3-bucket-name + # awsS3FilePath: ttk-tests/reports + ttkBackendURL: http://$release_name-ml-testing-toolkit-backend:5050 + testSuiteName: GP Tests + environmentName: Development + + # configCreds: + # AWS_ACCESS_KEY_ID: 'some_aws_access_key' + # AWS_SECRET_ACCESS_KEY: 'some_aws_secret_key' + # AWS_REGION: 'us-west-2' + # SLACK_WEBHOOK_URL: 'slack_inbound_webhook' + + ## Optionally specify the config file defaults for TTK CLI + ## You should specify at least mode here + # configFileDefaults: { + # "mode": "outbound", + # "reportFormat": "html", + # "baseURL": "", + # "reportTarget": "", + # "reportAutoFilenameEnable": true, + # "slackWebhookUrl": "", + # "slackPassedImage": "", + # "slackFailedImage": "" + # } + configFileDefaults: {"mode": "outbound"} + parameters: + <<: *simNames + testCaseEnvironmentFile: *ttkInputValues + +ml-ttk-cronjob-tests: + scheduling: + enabled: false + ## Note: First Cronjob may fail as the Hub setup & Sim onboarding may not be completed. These must be run either via Post-hooks or via running `Helm test`. + ## cronSchedule format as follows: + ## Ref: https://kubernetes.io/docs/concepts/workloads/controllers/cron-jobs/#example + ## ┌───────────── minute (0 - 59) + ## │ ┌───────────── hour (0 - 23) + ## │ │ ┌───────────── day of the month (1 - 31) + ## │ │ │ ┌───────────── month (1 - 12) + ## │ │ │ │ ┌───────────── day of the week (0 - 6) (Sunday to Saturday; + ## │ │ │ │ │ 7 is also Sunday on some systems) + ## │ │ │ │ │ + ## │ │ │ │ │ + ## * * * * * + cronSchedule: '0 8 * * *' + config: + ## Test-case archive zip for test-cases: https://github.com/mojaloop/testing-toolkit-test-cases + testCasesZipUrl: *ttkGitUrl + testCasesPathInZip: *ttkGitPathGP + # awsS3BucketName: aws-s3-bucket-name + # awsS3FilePath: ttk-tests/reports + ttkBackendURL: http://$release_name-ml-testing-toolkit-backend:5050 + testSuiteName: GP Tests + environmentName: Development + + # configCreds: + # AWS_ACCESS_KEY_ID: 'some_aws_access_key' + # AWS_SECRET_ACCESS_KEY: 'some_aws_secret_key' + # AWS_REGION: 'us-west-2' + # SLACK_WEBHOOK_URL: 'slack_inbound_webhook' + + ## Optionally specify the config file defaults for TTK CLI + ## You should specify at least mode here + # configFileDefaults: { + # "mode": "outbound", + # "reportFormat": "html", + # "baseURL": "", + # "reportTarget": "", + # "reportAutoFilenameEnable": true, + # "slackWebhookUrl": "", + # "slackPassedImage": "", + # "slackFailedImage": "" + # } + configFileDefaults: {"mode": "outbound"} + parameters: + <<: *simNames + testCaseEnvironmentFile: *ttkInputValues + +ml-ttk-test-setup: + tests: + enabled: true + weight: -6 + config: + ## Test-case archive zip for test-cases: https://github.com/mojaloop/testing-toolkit-test-cases + testCasesZipUrl: *ttkGitUrl + testCasesPathInZip: *ttkGitPathSetup + ttkBackendURL: http://$release_name-ml-testing-toolkit-backend:5050 + parameters: + <<: *simNames + testCaseEnvironmentFile: *ttkInputValues + +ml-ttk-test-val-gp: + tests: + enabled: true + weight: -5 + config: + ## Test-case archive zip for test-cases: https://github.com/mojaloop/testing-toolkit-test-cases + testCasesZipUrl: *ttkGitUrl + testCasesPathInZip: *ttkGitPathGP + ## Optional config for uploading reports to S3 Buckets. If enabled: WS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_REGION under the 'configCreds' is required. + # awsS3BucketName: aws-s3-bucket-name + # awsS3FilePath: ttk-tests/reports + ttkBackendURL: http://$release_name-ml-testing-toolkit-backend:5050 + testSuiteName: GP Tests + environmentName: Development + + # configCreds: + # AWS_ACCESS_KEY_ID: 'some_aws_access_key' + # AWS_SECRET_ACCESS_KEY: 'some_aws_secret_key' + # AWS_REGION: 'us-west-2' + # SLACK_WEBHOOK_URL: 'slack_inbound_webhook' + + ## Optionally specify the config file defaults for TTK CLI + ## You should specify at least mode here + # configFileDefaults: { + # "mode": "outbound", + # "reportFormat": "html", + # "baseURL": "", + # "reportTarget": "", + # "reportAutoFilenameEnable": true, + # "slackWebhookUrl": "", + # "slackPassedImage": "", + # "slackFailedImage": "", + # "logLevel": "2" + # } + parameters: + <<: *simNames + testCaseEnvironmentFile: *ttkInputValues + +ml-ttk-test-val-bulk: + tests: + enabled: false + weight: -4 + config: + ## Test-case archive zip for test-cases: https://github.com/mojaloop/testing-toolkit-test-cases + testCasesZipUrl: *ttkGitUrl + testCasesPathInZip: testing-toolkit-test-cases-14.0.0.1/collections/hub/other_tests/bulk_transfers + ## Optional config for uploading reports to S3 Buckets. If enabled: WS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_REGION under the 'configCreds' is required. + # awsS3BucketName: aws-s3-bucket-name + # awsS3FilePath: ttk-tests/reports + ttkBackendURL: http://$release_name-ml-testing-toolkit-backend:5050 + testSuiteName: Bulk Tests + environmentName: Development + + # configCreds: + # AWS_ACCESS_KEY_ID: 'some_aws_access_key' + # AWS_SECRET_ACCESS_KEY: 'some_aws_secret_key' + # AWS_REGION: 'us-west-2' + # SLACK_WEBHOOK_URL: 'slack_inbound_webhook' + + ## Optionally specify the config file defaults for TTK CLI + ## You should specify at least mode here + # configFileDefaults: { + # "mode": "outbound", + # "reportFormat": "html", + # "baseURL": "", + # "reportTarget": "", + # "reportAutoFilenameEnable": true, + # "slackWebhookUrl": "", + # "slackPassedImage": "", + # "slackFailedImage": "", + # "logLevel": "2" + # } + parameters: + <<: *simNames + testCaseEnvironmentFile: *ttkInputValues + +ml-ttk-test-setup-tp: + tests: + enabled: false + weight: -3 + config: + ## Test-case archive zip for test-cases: https://github.com/mojaloop/testing-toolkit-test-cases + testCasesZipUrl: *ttkGitUrl + testCasesPathInZip: testing-toolkit-test-cases-14.0.0.1/collections/hub/provisioning_thirdparty + ## Optional config for uploading reports to S3 Buckets. If enabled: WS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_REGION under the 'configCreds' is required. + # awsS3BucketName: aws-s3-bucket-name + # awsS3FilePath: ttk-tests/reports + ttkBackendURL: http://$release_name-ml-testing-toolkit-backend:5050 + testSuiteName: Thirdparty Provisioning Collection + environmentName: Development + + # configCreds: + # AWS_ACCESS_KEY_ID: 'some_aws_access_key' + # AWS_SECRET_ACCESS_KEY: 'some_aws_secret_key' + # AWS_REGION: 'us-west-2' + # SLACK_WEBHOOK_URL: 'slack_inbound_webhook' + + ## Optionally specify the config file defaults for TTK CLI + ## You should specify at least mode here + # configFileDefaults: { + # "mode": "outbound", + # "reportFormat": "html", + # "baseURL": "", + # "reportTarget": "", + # "reportAutoFilenameEnable": true, + # "slackWebhookUrl": "", + # "slackPassedImage": "", + # "slackFailedImage": "", + # "logLevel": "2" + # } + parameters: + <<: *simNames + testCaseEnvironmentFile: *ttkInputValues + +ml-ttk-test-val-tp: + tests: + enabled: false + weight: -2 + config: + ## Test-case archive zip for test-cases: https://github.com/mojaloop/testing-toolkit-test-cases + testCasesZipUrl: *ttkGitUrl + testCasesPathInZip: testing-toolkit-test-cases-14.0.0.1/collections/hub/thirdparty + ## Optional config for uploading reports to S3 Buckets. If enabled: WS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_REGION under the 'configCreds' is required. + # awsS3BucketName: aws-s3-bucket-name + # awsS3FilePath: ttk-tests/reports + ttkBackendURL: http://$release_name-ml-testing-toolkit-backend:5050 + testSuiteName: Thirdparty Tests + environmentName: Development + + # configCreds: + # AWS_ACCESS_KEY_ID: 'some_aws_access_key' + # AWS_SECRET_ACCESS_KEY: 'some_aws_secret_key' + # AWS_REGION: 'us-west-2' + # SLACK_WEBHOOK_URL: 'slack_inbound_webhook' + + ## Optionally specify the config file defaults for TTK CLI + ## You should specify at least mode here + # configFileDefaults: { + # "mode": "outbound", + # "reportFormat": "html", + # "baseURL": "", + # "reportTarget": "", + # "reportAutoFilenameEnable": true, + # "slackWebhookUrl": "", + # "slackPassedImage": "", + # "slackFailedImage": "", + # "logLevel": "2" + # } + parameters: + <<: *simNames + testCaseEnvironmentFile: *ttkInputValues From d7b1943121db52fffc33b085fc3ae6a5e262eb94 Mon Sep 17 00:00:00 2001 From: Miguel de Barros Date: Wed, 12 Oct 2022 15:05:17 +0200 Subject: [PATCH 2/4] fix: fixed NOTES.txt template miss-match errors --- .../chart-handler-admin-transfer/templates/NOTES.txt | 2 +- centralledger/chart-handler-timeout/templates/NOTES.txt | 8 ++++---- .../chart-handler-transfer-fulfil/templates/NOTES.txt | 8 ++++---- .../chart-handler-transfer-get/templates/NOTES.txt | 8 ++++---- .../chart-handler-transfer-position/templates/NOTES.txt | 8 ++++---- .../chart-handler-transfer-prepare/templates/NOTES.txt | 8 ++++---- .../chart-handler-notification/templates/NOTES.txt | 8 ++++---- ml-api-adapter/chart-service/templates/NOTES.txt | 8 ++++---- 8 files changed, 29 insertions(+), 29 deletions(-) diff --git a/centralledger/chart-handler-admin-transfer/templates/NOTES.txt b/centralledger/chart-handler-admin-transfer/templates/NOTES.txt index 32805b2b5..9c64c0707 100644 --- a/centralledger/chart-handler-admin-transfer/templates/NOTES.txt +++ b/centralledger/chart-handler-admin-transfer/templates/NOTES.txt @@ -9,7 +9,7 @@ echo http://$NODE_IP:$NODE_PORT {{- else if contains "LoadBalancer" .Values.service.type }} NOTE: It may take a few minutes for the LoadBalancer IP to be available. - You can watch the status of by running 'kubectl get svc -w {{ template "centralledger-transfer-prepare.fullname" . }}' + You can watch the status of by running 'kubectl get svc -w {{ template "centralledger-handler-admin-transfer.fullname" . }}' export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ template "centralledger-handler-admin-transfer.fullname" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}') echo http://$SERVICE_IP:{{ .Values.service.externalPort }} {{- else if contains "ClusterIP" .Values.service.type }} diff --git a/centralledger/chart-handler-timeout/templates/NOTES.txt b/centralledger/chart-handler-timeout/templates/NOTES.txt index 207678970..46a80f4c6 100644 --- a/centralledger/chart-handler-timeout/templates/NOTES.txt +++ b/centralledger/chart-handler-timeout/templates/NOTES.txt @@ -4,16 +4,16 @@ http://{{ . }} {{- end }} {{- else if contains "NodePort" .Values.service.type }} - export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ template "centralledger-transfer-get.fullname" . }}) + export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ template "centralledger-handler-timeout.fullname" . }}) export NODE_IP=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}") echo http://$NODE_IP:$NODE_PORT {{- else if contains "LoadBalancer" .Values.service.type }} NOTE: It may take a few minutes for the LoadBalancer IP to be available. - You can watch the status of by running 'kubectl get svc -w {{ template "centralledger-transfer-get.fullname" . }}' - export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ template "centralledger-transfer-get.fullname" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}') + You can watch the status of by running 'kubectl get svc -w {{ template "centralledger-handler-timeout.fullname" . }}' + export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ template "centralledger-handler-timeout.fullname" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}') echo http://$SERVICE_IP:{{ .Values.service.externalPort }} {{- else if contains "ClusterIP" .Values.service.type }} - export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app={{ template "centralledger-transfer-get.name" . }},release={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}") + export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app={{ template "centralledger-handler-timeout.name" . }},release={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}") echo "Visit http://127.0.0.1:8080 to use your application" kubectl port-forward $POD_NAME 8080:{{ .Values.service.internalPort }} {{- end }} diff --git a/centralledger/chart-handler-transfer-fulfil/templates/NOTES.txt b/centralledger/chart-handler-transfer-fulfil/templates/NOTES.txt index 4977252d2..43f44bd4d 100644 --- a/centralledger/chart-handler-transfer-fulfil/templates/NOTES.txt +++ b/centralledger/chart-handler-transfer-fulfil/templates/NOTES.txt @@ -4,16 +4,16 @@ http://{{ . }} {{- end }} {{- else if contains "NodePort" .Values.service.type }} - export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ template "centralledger-transfer-fulfil.fullname" . }}) + export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ template "centralledger-handler-transfer-fulfil.fullname" . }}) export NODE_IP=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}") echo http://$NODE_IP:$NODE_PORT {{- else if contains "LoadBalancer" .Values.service.type }} NOTE: It may take a few minutes for the LoadBalancer IP to be available. - You can watch the status of by running 'kubectl get svc -w {{ template "centralledger-transfer-fulfil.fullname" . }}' - export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ template "centralledger-transfer-fulfil.fullname" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}') + You can watch the status of by running 'kubectl get svc -w {{ template "centralledger-handler-transfer-fulfil.fullname" . }}' + export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ template "centralledger-handler-transfer-fulfil.fullname" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}') echo http://$SERVICE_IP:{{ .Values.service.externalPort }} {{- else if contains "ClusterIP" .Values.service.type }} - export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app={{ template "centralledger-transfer-fulfil.name" . }},release={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}") + export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app={{ template "centralledger-handler-transfer-fulfil.name" . }},release={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}") echo "Visit http://127.0.0.1:8080 to use your application" kubectl port-forward $POD_NAME 8080:{{ .Values.service.internalPort }} {{- end }} diff --git a/centralledger/chart-handler-transfer-get/templates/NOTES.txt b/centralledger/chart-handler-transfer-get/templates/NOTES.txt index 207678970..6dd5d75f3 100644 --- a/centralledger/chart-handler-transfer-get/templates/NOTES.txt +++ b/centralledger/chart-handler-transfer-get/templates/NOTES.txt @@ -4,16 +4,16 @@ http://{{ . }} {{- end }} {{- else if contains "NodePort" .Values.service.type }} - export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ template "centralledger-transfer-get.fullname" . }}) + export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ template "centralledger-handler-transfer-get.fullname" . }}) export NODE_IP=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}") echo http://$NODE_IP:$NODE_PORT {{- else if contains "LoadBalancer" .Values.service.type }} NOTE: It may take a few minutes for the LoadBalancer IP to be available. - You can watch the status of by running 'kubectl get svc -w {{ template "centralledger-transfer-get.fullname" . }}' - export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ template "centralledger-transfer-get.fullname" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}') + You can watch the status of by running 'kubectl get svc -w {{ template "centralledger-handler-transfer-get.fullname" . }}' + export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ template "centralledger-handler-transfer-get.fullname" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}') echo http://$SERVICE_IP:{{ .Values.service.externalPort }} {{- else if contains "ClusterIP" .Values.service.type }} - export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app={{ template "centralledger-transfer-get.name" . }},release={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}") + export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app={{ template "centralledger-handler-transfer-get.name" . }},release={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}") echo "Visit http://127.0.0.1:8080 to use your application" kubectl port-forward $POD_NAME 8080:{{ .Values.service.internalPort }} {{- end }} diff --git a/centralledger/chart-handler-transfer-position/templates/NOTES.txt b/centralledger/chart-handler-transfer-position/templates/NOTES.txt index a006a9252..bf014fb6c 100644 --- a/centralledger/chart-handler-transfer-position/templates/NOTES.txt +++ b/centralledger/chart-handler-transfer-position/templates/NOTES.txt @@ -4,16 +4,16 @@ http://{{ . }} {{- end }} {{- else if contains "NodePort" .Values.service.type }} - export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ template "centralledger-transfer-position.fullname" . }}) + export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ template "centralledger-handler-transfer-position.fullname" . }}) export NODE_IP=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}") echo http://$NODE_IP:$NODE_PORT {{- else if contains "LoadBalancer" .Values.service.type }} NOTE: It may take a few minutes for the LoadBalancer IP to be available. - You can watch the status of by running 'kubectl get svc -w {{ template "centralledger-transfer-position.fullname" . }}' - export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ template "centralledger-transfer-position.fullname" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}') + You can watch the status of by running 'kubectl get svc -w {{ template "centralledger-handler-transfer-position.fullname" . }}' + export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ template "centralledger-handler-transfer-position.fullname" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}') echo http://$SERVICE_IP:{{ .Values.service.externalPort }} {{- else if contains "ClusterIP" .Values.service.type }} - export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app={{ template "centralledger-transfer-position.name" . }},release={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}") + export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app={{ template "centralledger-handler-transfer-position.name" . }},release={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}") echo "Visit http://127.0.0.1:8080 to use your application" kubectl port-forward $POD_NAME 8080:{{ .Values.service.internalPort }} {{- end }} diff --git a/centralledger/chart-handler-transfer-prepare/templates/NOTES.txt b/centralledger/chart-handler-transfer-prepare/templates/NOTES.txt index 99e1495d8..d558edacb 100644 --- a/centralledger/chart-handler-transfer-prepare/templates/NOTES.txt +++ b/centralledger/chart-handler-transfer-prepare/templates/NOTES.txt @@ -4,16 +4,16 @@ http://{{ . }} {{- end }} {{- else if contains "NodePort" .Values.service.type }} - export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ template "centralledger-transfer-prepare.fullname" . }}) + export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ template "centralledger-handler-transfer-prepare.fullname" . }}) export NODE_IP=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}") echo http://$NODE_IP:$NODE_PORT {{- else if contains "LoadBalancer" .Values.service.type }} NOTE: It may take a few minutes for the LoadBalancer IP to be available. - You can watch the status of by running 'kubectl get svc -w {{ template "centralledger-transfer-prepare.fullname" . }}' - export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ template "centralledger-transfer-prepare.fullname" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}') + You can watch the status of by running 'kubectl get svc -w {{ template "centralledger-handler-transfer-prepare.fullname" . }}' + export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ template "centralledger-handler-transfer-prepare.fullname" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}') echo http://$SERVICE_IP:{{ .Values.service.externalPort }} {{- else if contains "ClusterIP" .Values.service.type }} - export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app={{ template "centralledger-transfer-prepare.name" . }},release={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}") + export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app={{ template "centralledger-handler-transfer-prepare.name" . }},release={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}") echo "Visit http://127.0.0.1:8080 to use your application" kubectl port-forward $POD_NAME 8080:{{ .Values.service.internalPort }} {{- end }} diff --git a/ml-api-adapter/chart-handler-notification/templates/NOTES.txt b/ml-api-adapter/chart-handler-notification/templates/NOTES.txt index 054f6e483..9e88e9c7d 100644 --- a/ml-api-adapter/chart-handler-notification/templates/NOTES.txt +++ b/ml-api-adapter/chart-handler-notification/templates/NOTES.txt @@ -4,16 +4,16 @@ http://{{ . }} {{- end }} {{- else if contains "NodePort" .Values.service.type }} - export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ template "ml-api-adapter.fullname" . }}) + export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ template "ml-api-adapter-handler-notification.fullname" . }}) export NODE_IP=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}") echo http://$NODE_IP:$NODE_PORT {{- else if contains "LoadBalancer" .Values.service.type }} NOTE: It may take a few minutes for the LoadBalancer IP to be available. - You can watch the status of by running 'kubectl get svc -w {{ template "ml-api-adapter.fullname" . }}' - export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ template "ml-api-adapter.fullname" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}') + You can watch the status of by running 'kubectl get svc -w {{ template "ml-api-adapter-handler-notification.fullname" . }}' + export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ template "ml-api-adapter-handler-notification.fullname" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}') echo http://$SERVICE_IP:{{ .Values.service.externalPort }} {{- else if contains "ClusterIP" .Values.service.type }} - export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app={{ template "ml-api-adapter.name" . }},release={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}") + export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app={{ template "ml-api-adapter-handler-notification.name" . }},release={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}") echo "Visit http://127.0.0.1:8080 to use your application" kubectl port-forward $POD_NAME 8080:{{ .Values.service.internalPort }} {{- end }} diff --git a/ml-api-adapter/chart-service/templates/NOTES.txt b/ml-api-adapter/chart-service/templates/NOTES.txt index 054f6e483..37dc296ea 100644 --- a/ml-api-adapter/chart-service/templates/NOTES.txt +++ b/ml-api-adapter/chart-service/templates/NOTES.txt @@ -4,16 +4,16 @@ http://{{ . }} {{- end }} {{- else if contains "NodePort" .Values.service.type }} - export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ template "ml-api-adapter.fullname" . }}) + export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ template "ml-api-adapter-service.fullname" . }}) export NODE_IP=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}") echo http://$NODE_IP:$NODE_PORT {{- else if contains "LoadBalancer" .Values.service.type }} NOTE: It may take a few minutes for the LoadBalancer IP to be available. - You can watch the status of by running 'kubectl get svc -w {{ template "ml-api-adapter.fullname" . }}' - export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ template "ml-api-adapter.fullname" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}') + You can watch the status of by running 'kubectl get svc -w {{ template "ml-api-adapter-service.fullname" . }}' + export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ template "ml-api-adapter-service.fullname" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}') echo http://$SERVICE_IP:{{ .Values.service.externalPort }} {{- else if contains "ClusterIP" .Values.service.type }} - export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app={{ template "ml-api-adapter.name" . }},release={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}") + export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app={{ template "ml-api-adapter-service.name" . }},release={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}") echo "Visit http://127.0.0.1:8080 to use your application" kubectl port-forward $POD_NAME 8080:{{ .Values.service.internalPort }} {{- end }} From 0ff34bcf7b0431ff49714687c3022c6e7d2cb781 Mon Sep 17 00:00:00 2001 From: Miguel de Barros Date: Wed, 12 Oct 2022 16:31:21 +0200 Subject: [PATCH 3/4] removed temp config file --- values-1.24.yaml | 8861 ---------------------------------------------- 1 file changed, 8861 deletions(-) delete mode 100644 values-1.24.yaml diff --git a/values-1.24.yaml b/values-1.24.yaml deleted file mode 100644 index a9097314f..000000000 --- a/values-1.24.yaml +++ /dev/null @@ -1,8861 +0,0 @@ -# Default values for central. -# This is a YAML-formatted file. -# Declare global configurations -global: {} - -# Declare variables to be passed into your templates. - -central: - enabled: true - - centralledger: - enabled: true - nameOverride: centralledger - # Default values for central-ledger. - # This is a YAML-formatted file. - # Declare variables to be passed into your templates. - centralledger-service: - # Default values for central-ledger. - # This is a YAML-formatted file. - - # Declare variables to be passed into your templates. - enabled: true - replicaCount: 1 - containers: - api: - image: - repository: mojaloop/central-ledger - tag: v15.1.2.1 - pullPolicy: IfNotPresent - command: '["node", "src/api/index.js"]' - service: - ports: - api: - name: http-api - externalPort: 80 - internalPort: 3001 - readinessProbe: - enabled: true - httpGet: - path: /health - initialDelaySeconds: 60 - periodSeconds: 15 - livenessProbe: - enabled: true - httpGet: - path: /health - initialDelaySeconds: 60 - periodSeconds: 15 - - ## Pod scheduling preferences. - ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity - affinity: {} - - ## Node labels for pod assignment - ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector - nodeSelector: {} - - ## Set toleration for scheduler - ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ - tolerations: [] - - sidecar: - enabled: false - image: - repository: mojaloop/event-sidecar - tag: v12.0.0 - pullPolicy: IfNotPresent - readinessProbe: - enabled: true - initialDelaySeconds: 120 - periodSeconds: 15 - livenessProbe: - enabled: true - initialDelaySeconds: 90 - periodSeconds: 15 - config: - log_level: info - - ## metric configuration for prometheus instrumentation - metrics: - ## flag to enable/disable the metrics end-points - enabled: true - - config: - ## Forensic Logging sidecar - # this is for Forensic Logging Sidecar - forensicloggingsidecar_disabled: true - forensicloggingsidecar_host: forensicloggingsidecar-ledger - forensicloggingsidecar_port: 5678 - - error_handling: - include_cause_extension: false - truncate_extensions: true - - ## DB Configuration - # db_type can either be 'postgres' or 'mysql'. Ensure the correct DB is enabled and configured below: postgresql.enabled or mysql.enabled - db_type: 'mysql' - # db_driver can either be 'pg' or 'mysql'. Ensure the correct corresponding db_type above has been set. - db_driver: 'mysql' - db_host: '$release_name-centralledger-mysql' - db_port: 3306 - db_user: central_ledger - db_password: oyMxgZChuu - db_database: central_ledger - db_connection_pool_min: 10 - db_connection_pool_max: 30 - db_acquire_timeout_millis: 30000 - db_create_timeout_millis: 30000 - db_destroy_timeout_millis: 5000 - db_idle_timeout_millis: 30000 - db_reap_interval_millis: 1000 - db_create_retry_interval_millis: 200 - db_debug: false - - ## Log Configuration - log_level: info - log_transport: file - - # A comma-separated list of events that should return immediately instead of waiting for the event promises to resolve - # Any combination of: `log,audit,trace` - event_async_override: 'log,trace' - - ## Kafka Configuration - # this can be set if the dependency chart for kafka is disabled. If 'kafka_host' is commented out, then the name of the dependency chart will be used. - kafka_host: '$release_name-kafka' - kafka_port: 9092 - - ## Cache configuration - cache_enabled: false - cache_max_byte_size: 10000000 - cache_expires_in_ms: 1000 - - init: - enabled: true - psql: - name: wait-for-postgres - repository: bowerswilkins/awaitpostgres - tag: latest - pullPolicy: IfNotPresent - mysql: - name: wait-for-mysql - repository: mysql - tag: 8.0.30 - pullPolicy: IfNotPresent - command: "until mysql -h $db_host -P $db_port -u $db_user --password=$db_password $db_database -e 'select version()' ; do echo waiting for MySQL; sleep 2; done;" - migration: - enabled: true - name: run-migration - command: npm run migrate - config: - run_data_migration: true - - service: - type: ClusterIP - - annotations: {} - - # This allows one to point the service to an external backend. - # This is useful for local development where one wishes to hijack - # the communication from the service to the node layer and point - # to a specific endpoint (IP, Port, etc). - external: - enabled: false - # 10.0.2.2 is the magic IP for the host on virtualbox's network - ip: 10.0.2.2 - ports: - api: - name: http-api - externalPort: 3001 - - ingress: - enabled: true - ## @param ingress.pathType Ingress path type - ## - pathType: ImplementationSpecific - ## @param ingress.apiVersion Force Ingress API version (automatically detected if not set) - ## - apiVersion: - ## @param ingress.hostname Default host for the ingress record - ## - hostname: central-ledger.local - ## @param servicePort : port for the service - ## - servicePort: 80 - ## @param ingress.path Default path for the ingress record - ## NOTE: You may need to set this to '/*' in order to use this with ALB ingress controllers - path: / - ## @param ingress.annotations Additional custom annotations for the ingress record - ## NOTE: If `ingress.certManager=true`, annotation `kubernetes.io/tls-acme: "true"` will automatically be added - ## - annotations: - ## @param ingress.tls Enable TLS configuration for the host defined at `ingress.hostname` parameter - ## TLS certificates will be retrieved from a TLS secret with name: `{{- printf "%s-tls" .Values.ingress.hostname }}` - ## You can: - ## - Use the `ingress.secrets` parameter to create this TLS secret - ## - Relay on cert-manager to create it by setting `ingress.certManager=true` - ## - Relay on Helm to create self-signed certificates by setting `ingress.selfSigned=true` - ## - tls: false - ## @param ingress.certManager Add the corresponding annotations for cert-manager integration - ## - certManager: false - ## @param ingress.selfSigned Create a TLS secret for this ingress record using self-signed certificates generated by Helm - ## - selfSigned: false - ## @param ingress.extraHosts An array with additional hostname(s) to be covered with the ingress record - ## e.g: - ## extraHosts: - ## - name: transfer-api-svc.local - ## path: / - ## - extraHosts: - extraPaths: - extraTls: - secrets: - className: "nginx" - ## - resources: {} - # We usually recommend not to specify default resources and to leave this as a conscious - # choice for the user. This also increases chances charts run on environments with little - # resources, such as Minikube. If you do want to specify resources, uncomment the following - # lines, adjust them as necessary, and remove the curly braces after 'resources:'. - # limits: - # cpu: 100m - # memory: 128Mi - # requests: - # cpu: 100m - # memory: 128Mi - - centralledger-handler-transfer-prepare: - # Default values for central-ledger. - # This is a YAML-formatted file. - - # Declare variables to be passed into your templates. - enabled: true - replicaCount: 1 - containers: - api: - image: - repository: mojaloop/central-ledger - tag: v15.1.2.1 - pullPolicy: IfNotPresent - command: '["node", "src/handlers/index.js", "handler", "--prepare"]' - service: - ports: - api: - name: http-api - externalPort: 80 - internalPort: 3001 - readinessProbe: - enabled: true - httpGet: - path: /health - initialDelaySeconds: 60 - periodSeconds: 15 - livenessProbe: - enabled: true - httpGet: - path: /health - initialDelaySeconds: 60 - periodSeconds: 15 - - ## Pod scheduling preferences. - ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity - affinity: {} - - ## Node labels for pod assignment - ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector - nodeSelector: {} - - ## Set toleration for scheduler - ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ - tolerations: [] - - sidecar: - enabled: true - image: - repository: mojaloop/event-sidecar - tag: v12.0.0 - pullPolicy: IfNotPresent - readinessProbe: - enabled: true - initialDelaySeconds: 120 - periodSeconds: 15 - livenessProbe: - enabled: true - initialDelaySeconds: 90 - periodSeconds: 15 - config: - log_level: info - - ## metric configuration for prometheus instrumentation - metrics: - ## flag to enable/disable the metrics end-points - enabled: true - - config: - ## Forensic Logging sidecar - # this is for Forensic Logging Sidecar - forensicloggingsidecar_disabled: true - forensicloggingsidecar_host: forensicloggingsidecar-ledger - forensicloggingsidecar_port: 5678 - - error_handling: - include_cause_extension: false - truncate_extensions: true - - ## DB Configuration - # db_type can either be 'postgres' or 'mysql'. Ensure the correct DB is enabled and configured below: postgresql.enabled or mysql.enabled - db_type: 'mysql' - # db_driver can either be 'pg' or 'mysql'. Ensure the correct corresponding db_type above has been set. - db_driver: 'mysql' - db_host: '$release_name-centralledger-mysql' - db_port: 3306 - db_user: central_ledger - db_password: oyMxgZChuu - db_database: central_ledger - db_connection_pool_min: 10 - db_connection_pool_max: 30 - db_acquire_timeout_millis: 30000 - db_create_timeout_millis: 30000 - db_destroy_timeout_millis: 5000 - db_idle_timeout_millis: 30000 - db_reap_interval_millis: 1000 - db_create_retry_interval_millis: 200 - db_debug: false - - ## Log Configuration - log_level: info - log_transport: file - - # A comma-separated list of events that should return immediately instead of waiting for the event promises to resolve - # Any combination of: `log,audit,trace` - event_async_override: 'log,trace' - - ## Kafka Configuration - # this can be set if the dependency chart for kafka is disabled. If 'kafka_host' is commented out, then the name of the dependency chart will be used. - kafka_host: '$release_name-kafka' - kafka_port: 9092 - - ## Cache configuration - cache_enabled: false - cache_max_byte_size: 10000000 - cache_expires_in_ms: 1000 - - ## Enable On-Us transfers - enable_on_us_transfers: false - - init: - enabled: true - kafka: - name: wait-for-kafka - repository: solsson/kafka - tag: 2.8.1 - pullPolicy: IfNotPresent - command: "until ./bin/kafka-broker-api-versions.sh --bootstrap-server $kafka_host:$kafka_port; do echo waiting for Kafka; sleep 2; done;" - env: {} - ## Env example - # env: - # envItem1: - # name: hello - # value: world - # - psql: - name: wait-for-postgres - repository: bowerswilkins/awaitpostgres - tag: latest - pullPolicy: IfNotPresent - mysql: - name: wait-for-mysql - repository: mysql - tag: 8.0.30 - pullPolicy: IfNotPresent - command: "until result=$(mysql -h $db_host -P $db_port -u $db_user --password=$db_password $db_database -ss -N -e 'select is_locked from migration_lock;') && eval 'echo is_locked=$result' && if [ -z $result ]; then false; fi && if [ $result -ne 0 ]; then false; fi; do echo waiting for MySQL; sleep 2; done;" - - service: - type: ClusterIP - - annotations: {} - - # This allows one to point the service to an external backend. - # This is useful for local development where one wishes to hijack - # the communication from the service to the node layer and point - # to a specific endpoint (IP, Port, etc). - external: - enabled: false - # 10.0.2.2 is the magic IP for the host on virtualbox's network - ip: 10.0.2.2 - ports: - api: - name: http-api - externalPort: 3001 - - ingress: - enabled: true - ## @param ingress.pathType Ingress path type - ## - pathType: ImplementationSpecific - ## @param ingress.apiVersion Force Ingress API version (automatically detected if not set) - ## - apiVersion: - ## @param ingress.hostname Default host for the ingress record - ## - hostname: central-ledger-transfer-prepare.local - ## @param servicePort : port for the service - ## - servicePort: 80 - ## @param ingress.path Default path for the ingress record - ## NOTE: You may need to set this to '/*' in order to use this with ALB ingress controllers - path: / - ## @param ingress.annotations Additional custom annotations for the ingress record - ## NOTE: If `ingress.certManager=true`, annotation `kubernetes.io/tls-acme: "true"` will automatically be added - ## - annotations: - ## @param ingress.tls Enable TLS configuration for the host defined at `ingress.hostname` parameter - ## TLS certificates will be retrieved from a TLS secret with name: `{{- printf "%s-tls" .Values.ingress.hostname }}` - ## You can: - ## - Use the `ingress.secrets` parameter to create this TLS secret - ## - Relay on cert-manager to create it by setting `ingress.certManager=true` - ## - Relay on Helm to create self-signed certificates by setting `ingress.selfSigned=true` - ## - tls: false - ## @param ingress.certManager Add the corresponding annotations for cert-manager integration - ## - certManager: false - ## @param ingress.selfSigned Create a TLS secret for this ingress record using self-signed certificates generated by Helm - ## - selfSigned: false - ## @param ingress.extraHosts An array with additional hostname(s) to be covered with the ingress record - ## e.g: - ## extraHosts: - ## - name: transfer-api-svc.local - ## path: / - ## - extraHosts: - extraPaths: - extraTls: - secrets: - className: "nginx" - ## - resources: {} - # We usually recommend not to specify default resources and to leave this as a conscious - # choice for the user. This also increases chances charts run on environments with little - # resources, such as Minikube. If you do want to specify resources, uncomment the following - # lines, adjust them as necessary, and remove the curly braces after 'resources:'. - # limits: - # cpu: 100m - # memory: 128Mi - # requests: - # cpu: 100m - # memory: 128Mi - - centralledger-handler-admin-transfer: - # Default values for central-ledger. - # This is a YAML-formatted file. - - # Declare variables to be passed into your templates. - enabled: true - replicaCount: 1 - containers: - api: - image: - repository: mojaloop/central-ledger - tag: v15.1.2.1 - pullPolicy: IfNotPresent - command: '["node", "src/handlers/index.js", "handler", "--admin"]' - service: - ports: - api: - name: http-api - externalPort: 80 - internalPort: 3001 - readinessProbe: - enabled: true - httpGet: - path: /health - initialDelaySeconds: 60 - periodSeconds: 15 - livenessProbe: - enabled: true - httpGet: - path: /health - initialDelaySeconds: 60 - periodSeconds: 15 - - ## Pod scheduling preferences. - ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity - affinity: {} - - ## Node labels for pod assignment - ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector - nodeSelector: {} - - ## Set toleration for scheduler - ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ - tolerations: [] - - sidecar: - enabled: false - image: - repository: mojaloop/event-sidecar - tag: v12.0.0 - pullPolicy: IfNotPresent - readinessProbe: - enabled: true - initialDelaySeconds: 120 - periodSeconds: 15 - livenessProbe: - enabled: true - initialDelaySeconds: 90 - periodSeconds: 15 - config: - log_level: info - - ## metric configuration for prometheus instrumentation - metrics: - ## flag to enable/disable the metrics end-points - enabled: false - - config: - ## Forensic Logging sidecar - # this is for Forensic Logging Sidecar - forensicloggingsidecar_disabled: true - forensicloggingsidecar_host: forensicloggingsidecar-ledger - forensicloggingsidecar_port: 5678 - - error_handling: - include_cause_extension: false - truncate_extensions: true - - ## DB Configuration - # db_type can either be 'postgres' or 'mysql'. Ensure the correct DB is enabled and configured below: postgresql.enabled or mysql.enabled - db_type: 'mysql' - # db_driver can either be 'pg' or 'mysql'. Ensure the correct corresponding db_type above has been set. - db_driver: 'mysql' - db_host: '$release_name-centralledger-mysql' - db_port: 3306 - db_user: central_ledger - db_password: oyMxgZChuu - db_database: central_ledger - db_connection_pool_min: 10 - db_connection_pool_max: 30 - db_acquire_timeout_millis: 30000 - db_create_timeout_millis: 30000 - db_destroy_timeout_millis: 5000 - db_idle_timeout_millis: 30000 - db_reap_interval_millis: 1000 - db_create_retry_interval_millis: 200 - db_debug: false - - ## Log Configuration - log_level: info - log_transport: file - - # A comma-separated list of events that should return immediately instead of waiting for the event promises to resolve - # Any combination of: `log,audit,trace` - event_async_override: 'log,trace' - - ## Kafka Configuration - # this can be set if the dependency chart for kafka is disabled. If 'kafka_host' is commented out, then the name of the dependency chart will be used. - kafka_host: '$release_name-kafka' - kafka_port: 9092 - - ## Cache configuration - cache_enabled: false - cache_max_byte_size: 10000000 - cache_expires_in_ms: 1000 - - init: - enabled: true - kafka: - name: wait-for-kafka - repository: solsson/kafka - tag: 2.8.1 - pullPolicy: IfNotPresent - command: "until ./bin/kafka-broker-api-versions.sh --bootstrap-server $kafka_host:$kafka_port; do echo waiting for Kafka; sleep 2; done;" - env: {} - ## Env example - # env: - # envItem1: - # name: hello - # value: world - # - psql: - name: wait-for-postgres - repository: bowerswilkins/awaitpostgres - tag: latest - pullPolicy: IfNotPresent - mysql: - name: wait-for-mysql - repository: mysql - tag: 8.0.30 - pullPolicy: IfNotPresent - command: "until result=$(mysql -h $db_host -P $db_port -u $db_user --password=$db_password $db_database -ss -N -e 'select is_locked from migration_lock;') && eval 'echo is_locked=$result' && if [ -z $result ]; then false; fi && if [ $result -ne 0 ]; then false; fi; do echo waiting for MySQL; sleep 2; done;" - - service: - type: ClusterIP - - annotations: {} - - # This allows one to point the service to an external backend. - # This is useful for local development where one wishes to hijack - # the communication from the service to the node layer and point - # to a specific endpoint (IP, Port, etc). - external: - enabled: false - # 10.0.2.2 is the magic IP for the host on virtualbox's network - ip: 10.0.2.2 - ports: - api: - name: http-api - externalPort: 3001 - - ingress: - enabled: true - ## @param ingress.pathType Ingress path type - ## - pathType: ImplementationSpecific - ## @param ingress.apiVersion Force Ingress API version (automatically detected if not set) - ## - apiVersion: - ## @param ingress.hostname Default host for the ingress record - ## - hostname: central-ledger-admin-transfer.local - ## @param servicePort : port for the service - ## - servicePort: 80 - ## @param ingress.path Default path for the ingress record - ## NOTE: You may need to set this to '/*' in order to use this with ALB ingress controllers - path: / - ## @param ingress.annotations Additional custom annotations for the ingress record - ## NOTE: If `ingress.certManager=true`, annotation `kubernetes.io/tls-acme: "true"` will automatically be added - ## - annotations: - ## @param ingress.tls Enable TLS configuration for the host defined at `ingress.hostname` parameter - ## TLS certificates will be retrieved from a TLS secret with name: `{{- printf "%s-tls" .Values.ingress.hostname }}` - ## You can: - ## - Use the `ingress.secrets` parameter to create this TLS secret - ## - Relay on cert-manager to create it by setting `ingress.certManager=true` - ## - Relay on Helm to create self-signed certificates by setting `ingress.selfSigned=true` - ## - tls: false - ## @param ingress.certManager Add the corresponding annotations for cert-manager integration - ## - certManager: false - ## @param ingress.selfSigned Create a TLS secret for this ingress record using self-signed certificates generated by Helm - ## - selfSigned: false - ## @param ingress.extraHosts An array with additional hostname(s) to be covered with the ingress record - ## e.g: - ## extraHosts: - ## - name: transfer-api-svc.local - ## path: / - ## - extraHosts: - extraPaths: - extraTls: - secrets: - className: "nginx" - ## - resources: {} - # We usually recommend not to specify default resources and to leave this as a conscious - # choice for the user. This also increases chances charts run on environments with little - # resources, such as Minikube. If you do want to specify resources, uncomment the following - # lines, adjust them as necessary, and remove the curly braces after 'resources:'. - # limits: - # cpu: 100m - # memory: 128Mi - # requests: - # cpu: 100m - # memory: 128Mi - - centralledger-handler-transfer-position: - # Default values for central-ledger. - # This is a YAML-formatted file. - - # Declare variables to be passed into your templates. - enabled: true - replicaCount: 1 - containers: - api: - image: - repository: mojaloop/central-ledger - tag: v15.1.2.1 - pullPolicy: IfNotPresent - command: '["node", "src/handlers/index.js", "handler", "--position"]' - service: - ports: - api: - name: http-api - externalPort: 80 - internalPort: 3001 - readinessProbe: - enabled: true - httpGet: - path: /health - initialDelaySeconds: 60 - periodSeconds: 15 - livenessProbe: - enabled: true - httpGet: - path: /health - initialDelaySeconds: 60 - periodSeconds: 15 - - ## Pod scheduling preferences. - ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity - affinity: {} - - ## Node labels for pod assignment - ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector - nodeSelector: {} - - ## Set toleration for scheduler - ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ - tolerations: [] - - sidecar: - enabled: true - image: - repository: mojaloop/event-sidecar - tag: v12.0.0 - pullPolicy: IfNotPresent - readinessProbe: - enabled: true - initialDelaySeconds: 120 - periodSeconds: 15 - livenessProbe: - enabled: true - initialDelaySeconds: 90 - periodSeconds: 15 - config: - log_level: info - - ## metric configuration for prometheus instrumentation - metrics: - ## flag to enable/disable the metrics end-points - enabled: true - - config: - ## Forensic Logging sidecar - # this is for Forensic Logging Sidecar - forensicloggingsidecar_disabled: true - forensicloggingsidecar_host: forensicloggingsidecar-ledger - forensicloggingsidecar_port: 5678 - - error_handling: - include_cause_extension: false - truncate_extensions: true - - ## DB Configuration - # db_type can either be 'postgres' or 'mysql'. Ensure the correct DB is enabled and configured below: postgresql.enabled or mysql.enabled - db_type: 'mysql' - # db_driver can either be 'pg' or 'mysql'. Ensure the correct corresponding db_type above has been set. - db_driver: 'mysql' - db_host: '$release_name-centralledger-mysql' - db_port: 3306 - db_user: central_ledger - db_password: oyMxgZChuu - db_database: central_ledger - db_connection_pool_min: 10 - db_connection_pool_max: 30 - db_acquire_timeout_millis: 30000 - db_create_timeout_millis: 30000 - db_destroy_timeout_millis: 5000 - db_idle_timeout_millis: 30000 - db_reap_interval_millis: 1000 - db_create_retry_interval_millis: 200 - db_debug: false - - ## Log Configuration - log_level: info - log_transport: file - - # A comma-separated list of events that should return immediately instead of waiting for the event promises to resolve - # Any combination of: `log,audit,trace` - event_async_override: 'log,trace' - - ## Kafka Configuration - # this can be set if the dependency chart for kafka is disabled. If 'kafka_host' is commented out, then the name of the dependency chart will be used. - kafka_host: '$release_name-kafka' - kafka_port: 9092 - - ## Cache configuration - cache_enabled: false - cache_max_byte_size: 10000000 - cache_expires_in_ms: 1000 - - init: - enabled: true - kafka: - name: wait-for-kafka - repository: solsson/kafka - tag: 2.8.1 - pullPolicy: IfNotPresent - command: "until ./bin/kafka-broker-api-versions.sh --bootstrap-server $kafka_host:$kafka_port; do echo waiting for Kafka; sleep 2; done;" - env: {} - ## Env example - # env: - # envItem1: - # name: hello - # value: world - # - psql: - name: wait-for-postgres - repository: bowerswilkins/awaitpostgres - tag: latest - pullPolicy: IfNotPresent - mysql: - name: wait-for-mysql - repository: mysql - tag: 8.0.30 - pullPolicy: IfNotPresent - command: "until result=$(mysql -h $db_host -P $db_port -u $db_user --password=$db_password $db_database -ss -N -e 'select is_locked from migration_lock;') && eval 'echo is_locked=$result' && if [ -z $result ]; then false; fi && if [ $result -ne 0 ]; then false; fi; do echo waiting for MySQL; sleep 2; done;" - - service: - type: ClusterIP - - annotations: {} - - # This allows one to point the service to an external backend. - # This is useful for local development where one wishes to hijack - # the communication from the service to the node layer and point - # to a specific endpoint (IP, Port, etc). - external: - enabled: false - # 10.0.2.2 is the magic IP for the host on virtualbox's network - ip: 10.0.2.2 - ports: - api: - name: http-api - externalPort: 3001 - - ingress: - enabled: true - ## @param ingress.pathType Ingress path type - ## - pathType: ImplementationSpecific - ## @param ingress.apiVersion Force Ingress API version (automatically detected if not set) - ## - apiVersion: - ## @param ingress.hostname Default host for the ingress record - ## - hostname: central-ledger-transfer-position.local - ## @param servicePort : port for the service - ## - servicePort: 80 - ## @param ingress.path Default path for the ingress record - ## NOTE: You may need to set this to '/*' in order to use this with ALB ingress controllers - path: / - ## @param ingress.annotations Additional custom annotations for the ingress record - ## NOTE: If `ingress.certManager=true`, annotation `kubernetes.io/tls-acme: "true"` will automatically be added - ## - annotations: - ## @param ingress.tls Enable TLS configuration for the host defined at `ingress.hostname` parameter - ## TLS certificates will be retrieved from a TLS secret with name: `{{- printf "%s-tls" .Values.ingress.hostname }}` - ## You can: - ## - Use the `ingress.secrets` parameter to create this TLS secret - ## - Relay on cert-manager to create it by setting `ingress.certManager=true` - ## - Relay on Helm to create self-signed certificates by setting `ingress.selfSigned=true` - ## - tls: false - ## @param ingress.certManager Add the corresponding annotations for cert-manager integration - ## - certManager: false - ## @param ingress.selfSigned Create a TLS secret for this ingress record using self-signed certificates generated by Helm - ## - selfSigned: false - ## @param ingress.extraHosts An array with additional hostname(s) to be covered with the ingress record - ## e.g: - ## extraHosts: - ## - name: transfer-api-svc.local - ## path: / - ## - extraHosts: - extraPaths: - extraTls: - secrets: - className: "nginx" - ## - resources: {} - # We usually recommend not to specify default resources and to leave this as a conscious - # choice for the user. This also increases chances charts run on environments with little - # resources, such as Minikube. If you do want to specify resources, uncomment the following - # lines, adjust them as necessary, and remove the curly braces after 'resources:'. - # limits: - # cpu: 100m - # memory: 128Mi - # requests: - # cpu: 100m - # memory: 128Mi - - centralledger-handler-transfer-get: - # Default values for central-ledger. - # This is a YAML-formatted file. - - # Declare variables to be passed into your templates. - enabled: true - replicaCount: 1 - containers: - api: - image: - repository: mojaloop/central-ledger - tag: v15.1.2.1 - pullPolicy: IfNotPresent - command: '["node", "src/handlers/index.js", "handler", "--get"]' - service: - ports: - api: - name: http-api - externalPort: 80 - internalPort: 3001 - readinessProbe: - enabled: true - httpGet: - path: /health - initialDelaySeconds: 60 - periodSeconds: 15 - livenessProbe: - enabled: true - httpGet: - path: /health - initialDelaySeconds: 60 - periodSeconds: 15 - - ## Pod scheduling preferences. - ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity - affinity: {} - - ## Node labels for pod assignment - ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector - nodeSelector: {} - - ## Set toleration for scheduler - ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ - tolerations: [] - - sidecar: - enabled: false - image: - repository: mojaloop/event-sidecar - tag: v12.0.0 - pullPolicy: IfNotPresent - readinessProbe: - enabled: true - initialDelaySeconds: 120 - periodSeconds: 15 - livenessProbe: - enabled: true - initialDelaySeconds: 90 - periodSeconds: 15 - config: - log_level: info - - ## metric configuration for prometheus instrumentation - metrics: - ## flag to enable/disable the metrics end-points - enabled: false - - config: - ## Forensic Logging sidecar - # this is for Forensic Logging Sidecar - forensicloggingsidecar_disabled: true - forensicloggingsidecar_host: forensicloggingsidecar-ledger - forensicloggingsidecar_port: 5678 - - error_handling: - include_cause_extension: false - truncate_extensions: true - - ## DB Configuration - # db_type can either be 'postgres' or 'mysql'. Ensure the correct DB is enabled and configured below: postgresql.enabled or mysql.enabled - db_type: 'mysql' - # db_driver can either be 'pg' or 'mysql'. Ensure the correct corresponding db_type above has been set. - db_driver: 'mysql' - db_host: '$release_name-centralledger-mysql' - db_port: 3306 - db_user: central_ledger - db_password: oyMxgZChuu - db_database: central_ledger - db_connection_pool_min: 10 - db_connection_pool_max: 30 - db_acquire_timeout_millis: 30000 - db_create_timeout_millis: 30000 - db_destroy_timeout_millis: 5000 - db_idle_timeout_millis: 30000 - db_reap_interval_millis: 1000 - db_create_retry_interval_millis: 200 - db_debug: false - - ## Log Configuration - log_level: info - log_transport: file - - # A comma-separated list of events that should return immediately instead of waiting for the event promises to resolve - # Any combination of: `log,audit,trace` - event_async_override: 'log,trace' - - ## Kafka Configuration - # this can be set if the dependency chart for kafka is disabled. If 'kafka_host' is commented out, then the name of the dependency chart will be used. - kafka_host: '$release_name-kafka' - kafka_port: 9092 - - ## Cache configuration - cache_enabled: false - cache_max_byte_size: 10000000 - cache_expires_in_ms: 1000 - - init: - enabled: true - kafka: - name: wait-for-kafka - repository: solsson/kafka - tag: 2.8.1 - pullPolicy: IfNotPresent - command: "until ./bin/kafka-broker-api-versions.sh --bootstrap-server $kafka_host:$kafka_port; do echo waiting for Kafka; sleep 2; done;" - env: {} - ## Env example - # env: - # envItem1: - # name: hello - # value: world - # - psql: - name: wait-for-postgres - repository: bowerswilkins/awaitpostgres - tag: latest - pullPolicy: IfNotPresent - mysql: - name: wait-for-mysql - repository: mysql - tag: 8.0.30 - pullPolicy: IfNotPresent - command: "until result=$(mysql -h $db_host -P $db_port -u $db_user --password=$db_password $db_database -ss -N -e 'select is_locked from migration_lock;') && eval 'echo is_locked=$result' && if [ -z $result ]; then false; fi && if [ $result -ne 0 ]; then false; fi; do echo waiting for MySQL; sleep 2; done;" - - service: - type: ClusterIP - - annotations: {} - - # This allows one to point the service to an external backend. - # This is useful for local development where one wishes to hijack - # the communication from the service to the node layer and point - # to a specific endpoint (IP, Port, etc). - external: - enabled: false - # 10.0.2.2 is the magic IP for the host on virtualbox's network - ip: 10.0.2.2 - ports: - api: - name: http-api - externalPort: 3001 - - ingress: - enabled: true - ## @param ingress.pathType Ingress path type - ## - pathType: ImplementationSpecific - ## @param ingress.apiVersion Force Ingress API version (automatically detected if not set) - ## - apiVersion: - ## @param ingress.hostname Default host for the ingress record - ## - hostname: central-ledger-transfer-get.local - ## @param servicePort : port for the service - ## - servicePort: 80 - ## @param ingress.path Default path for the ingress record - ## NOTE: You may need to set this to '/*' in order to use this with ALB ingress controllers - path: / - ## @param ingress.annotations Additional custom annotations for the ingress record - ## NOTE: If `ingress.certManager=true`, annotation `kubernetes.io/tls-acme: "true"` will automatically be added - ## - annotations: - ## @param ingress.tls Enable TLS configuration for the host defined at `ingress.hostname` parameter - ## TLS certificates will be retrieved from a TLS secret with name: `{{- printf "%s-tls" .Values.ingress.hostname }}` - ## You can: - ## - Use the `ingress.secrets` parameter to create this TLS secret - ## - Relay on cert-manager to create it by setting `ingress.certManager=true` - ## - Relay on Helm to create self-signed certificates by setting `ingress.selfSigned=true` - ## - tls: false - ## @param ingress.certManager Add the corresponding annotations for cert-manager integration - ## - certManager: false - ## @param ingress.selfSigned Create a TLS secret for this ingress record using self-signed certificates generated by Helm - ## - selfSigned: false - ## @param ingress.extraHosts An array with additional hostname(s) to be covered with the ingress record - ## e.g: - ## extraHosts: - ## - name: transfer-api-svc.local - ## path: / - ## - extraHosts: - extraPaths: - extraTls: - secrets: - className: "nginx" - ## - resources: {} - # We usually recommend not to specify default resources and to leave this as a conscious - # choice for the user. This also increases chances charts run on environments with little - # resources, such as Minikube. If you do want to specify resources, uncomment the following - # lines, adjust them as necessary, and remove the curly braces after 'resources:'. - # limits: - # cpu: 100m - # memory: 128Mi - # requests: - # cpu: 100m - # memory: 128Mi - - centralledger-handler-transfer-fulfil: - # Default values for central-ledger. - # This is a YAML-formatted file. - - # Declare variables to be passed into your templates. - enabled: true - replicaCount: 1 - containers: - api: - image: - repository: mojaloop/central-ledger - tag: v15.1.2.1 - pullPolicy: IfNotPresent - command: '["node", "src/handlers/index.js", "handler", "--fulfil"]' - service: - ports: - api: - name: http-api - externalPort: 80 - internalPort: 3001 - readinessProbe: - enabled: true - httpGet: - path: /health - initialDelaySeconds: 60 - periodSeconds: 15 - livenessProbe: - enabled: true - httpGet: - path: /health - initialDelaySeconds: 60 - periodSeconds: 15 - - ## Pod scheduling preferences. - ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity - affinity: {} - - ## Node labels for pod assignment - ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector - nodeSelector: {} - - ## Set toleration for scheduler - ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ - tolerations: [] - - sidecar: - enabled: true - image: - repository: mojaloop/event-sidecar - tag: v12.0.0 - pullPolicy: IfNotPresent - readinessProbe: - enabled: true - initialDelaySeconds: 120 - periodSeconds: 15 - livenessProbe: - enabled: true - initialDelaySeconds: 90 - periodSeconds: 15 - config: - log_level: info - - ## metric configuration for prometheus instrumentation - metrics: - ## flag to enable/disable the metrics end-points - enabled: true - - config: - ## Forensic Logging sidecar - # this is for Forensic Logging Sidecar - forensicloggingsidecar_disabled: true - forensicloggingsidecar_host: forensicloggingsidecar-ledger - forensicloggingsidecar_port: 5678 - - error_handling: - include_cause_extension: false - truncate_extensions: true - - ## DB Configuration - # db_type can either be 'postgres' or 'mysql'. Ensure the correct DB is enabled and configured below: postgresql.enabled or mysql.enabled - db_type: 'mysql' - # db_driver can either be 'pg' or 'mysql'. Ensure the correct corresponding db_type above has been set. - db_driver: 'mysql' - db_host: '$release_name-centralledger-mysql' - db_port: 3306 - db_user: central_ledger - db_password: oyMxgZChuu - db_database: central_ledger - db_connection_pool_min: 10 - db_connection_pool_max: 30 - db_acquire_timeout_millis: 30000 - db_create_timeout_millis: 30000 - db_destroy_timeout_millis: 5000 - db_idle_timeout_millis: 30000 - db_reap_interval_millis: 1000 - db_create_retry_interval_millis: 200 - db_debug: false - - ## Log Configuration - log_level: info - log_transport: file - - # A comma-separated list of events that should return immediately instead of waiting for the event promises to resolve - # Any combination of: `log,audit,trace` - event_async_override: 'log,trace' - - ## Kafka Configuration - # this can be set if the dependency chart for kafka is disabled. If 'kafka_host' is commented out, then the name of the dependency chart will be used. - kafka_host: '$release_name-kafka' - kafka_port: 9092 - - ## Cache configuration - cache_enabled: false - cache_max_byte_size: 10000000 - cache_expires_in_ms: 1000 - - init: - enabled: true - kafka: - name: wait-for-kafka - repository: solsson/kafka - tag: 2.8.1 - pullPolicy: IfNotPresent - command: "until ./bin/kafka-broker-api-versions.sh --bootstrap-server $kafka_host:$kafka_port; do echo waiting for Kafka; sleep 2; done;" - env: {} - ## Env example - # env: - # envItem1: - # name: hello - # value: world - # - psql: - name: wait-for-postgres - repository: bowerswilkins/awaitpostgres - tag: latest - pullPolicy: IfNotPresent - mysql: - name: wait-for-mysql - repository: mysql - tag: 8.0.30 - pullPolicy: IfNotPresent - command: "until result=$(mysql -h $db_host -P $db_port -u $db_user --password=$db_password $db_database -ss -N -e 'select is_locked from migration_lock;') && eval 'echo is_locked=$result' && if [ -z $result ]; then false; fi && if [ $result -ne 0 ]; then false; fi; do echo waiting for MySQL; sleep 2; done;" - - service: - type: ClusterIP - - annotations: {} - - # This allows one to point the service to an external backend. - # This is useful for local development where one wishes to hijack - # the communication from the service to the node layer and point - # to a specific endpoint (IP, Port, etc). - external: - enabled: false - # 10.0.2.2 is the magic IP for the host on virtualbox's network - ip: 10.0.2.2 - ports: - api: - name: http-api - externalPort: 3001 - - ingress: - enabled: true - ## @param ingress.pathType Ingress path type - ## - pathType: ImplementationSpecific - ## @param ingress.apiVersion Force Ingress API version (automatically detected if not set) - ## - apiVersion: - ## @param ingress.hostname Default host for the ingress record - ## - hostname: central-ledger-transfer-fulfil.local - ## @param servicePort : port for the service - ## - servicePort: 80 - ## @param ingress.path Default path for the ingress record - ## NOTE: You may need to set this to '/*' in order to use this with ALB ingress controllers - path: / - ## @param ingress.annotations Additional custom annotations for the ingress record - ## NOTE: If `ingress.certManager=true`, annotation `kubernetes.io/tls-acme: "true"` will automatically be added - ## - annotations: - ## @param ingress.tls Enable TLS configuration for the host defined at `ingress.hostname` parameter - ## TLS certificates will be retrieved from a TLS secret with name: `{{- printf "%s-tls" .Values.ingress.hostname }}` - ## You can: - ## - Use the `ingress.secrets` parameter to create this TLS secret - ## - Relay on cert-manager to create it by setting `ingress.certManager=true` - ## - Relay on Helm to create self-signed certificates by setting `ingress.selfSigned=true` - ## - tls: false - ## @param ingress.certManager Add the corresponding annotations for cert-manager integration - ## - certManager: false - ## @param ingress.selfSigned Create a TLS secret for this ingress record using self-signed certificates generated by Helm - ## - selfSigned: false - ## @param ingress.extraHosts An array with additional hostname(s) to be covered with the ingress record - ## e.g: - ## extraHosts: - ## - name: transfer-api-svc.local - ## path: / - ## - extraHosts: - extraPaths: - extraTls: - secrets: - className: "nginx" - ## - resources: {} - # We usually recommend not to specify default resources and to leave this as a conscious - # choice for the user. This also increases chances charts run on environments with little - # resources, such as Minikube. If you do want to specify resources, uncomment the following - # lines, adjust them as necessary, and remove the curly braces after 'resources:'. - # limits: - # cpu: 100m - # memory: 128Mi - # requests: - # cpu: 100m - # memory: 128Mi - - centralledger-handler-timeout: - # Default values for central-ledger. - # This is a YAML-formatted file. - - # Declare variables to be passed into your templates. - enabled: true - replicaCount: 1 - containers: - api: - image: - repository: mojaloop/central-ledger - tag: v15.1.2.1 - pullPolicy: IfNotPresent - command: '["node", "src/handlers/index.js", "handler", "--timeout"]' - service: - ports: - api: - name: http-api - externalPort: 80 - internalPort: 3001 - readinessProbe: - enabled: true - httpGet: - path: /health - initialDelaySeconds: 60 - periodSeconds: 15 - livenessProbe: - enabled: true - httpGet: - path: /health - initialDelaySeconds: 60 - periodSeconds: 15 - - ## Pod scheduling preferences. - ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity - affinity: {} - - ## Node labels for pod assignment - ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector - nodeSelector: {} - - ## Set toleration for scheduler - ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ - tolerations: [] - - sidecar: - enabled: true - image: - repository: mojaloop/event-sidecar - tag: v12.0.0 - pullPolicy: IfNotPresent - readinessProbe: - enabled: true - initialDelaySeconds: 120 - periodSeconds: 15 - livenessProbe: - enabled: true - initialDelaySeconds: 90 - periodSeconds: 15 - config: - log_level: info - - ## metric configuration for prometheus instrumentation - metrics: - ## flag to enable/disable the metrics end-points - enabled: false - - config: - ## Forensic Logging sidecar - # this is for Forensic Logging Sidecar - forensicloggingsidecar_disabled: true - forensicloggingsidecar_host: forensicloggingsidecar-ledger - forensicloggingsidecar_port: 5678 - - error_handling: - include_cause_extension: false - truncate_extensions: true - - ## DB Configuration - # db_type can either be 'postgres' or 'mysql'. Ensure the correct DB is enabled and configured below: postgresql.enabled or mysql.enabled - db_type: 'mysql' - # db_driver can either be 'pg' or 'mysql'. Ensure the correct corresponding db_type above has been set. - db_driver: 'mysql' - db_host: '$release_name-centralledger-mysql' - db_port: 3306 - db_user: central_ledger - db_password: oyMxgZChuu - db_database: central_ledger - db_connection_pool_min: 10 - db_connection_pool_max: 30 - db_acquire_timeout_millis: 30000 - db_create_timeout_millis: 30000 - db_destroy_timeout_millis: 5000 - db_idle_timeout_millis: 30000 - db_reap_interval_millis: 1000 - db_create_retry_interval_millis: 200 - db_debug: false - - ## Timeout Configuration - timeout: - expiration: '*/15 * * * * *' - timezone: UTC - - ## Log Configuration - log_level: info - log_transport: file - - # A comma-separated list of events that should return immediately instead of waiting for the event promises to resolve - # Any combination of: `log,audit,trace` - event_async_override: 'log,trace' - - ## Kafka Configuration - # this can be set if the dependency chart for kafka is disabled. If 'kafka_host' is commented out, then the name of the dependency chart will be used. - kafka_host: '$release_name-kafka' - kafka_port: 9092 - - ## Cache configuration - cache_enabled: false - cache_max_byte_size: 10000000 - cache_expires_in_ms: 1000 - - init: - enabled: true - kafka: - name: wait-for-kafka - repository: solsson/kafka - tag: 2.8.1 - pullPolicy: IfNotPresent - command: "until ./bin/kafka-broker-api-versions.sh --bootstrap-server $kafka_host:$kafka_port; do echo waiting for Kafka; sleep 2; done;" - env: {} - ## Env example - # env: - # envItem1: - # name: hello - # value: world - # - psql: - name: wait-for-postgres - repository: bowerswilkins/awaitpostgres - tag: latest - pullPolicy: IfNotPresent - mysql: - name: wait-for-mysql - repository: mysql - tag: 8.0.30 - pullPolicy: IfNotPresent - command: "until result=$(mysql -h $db_host -P $db_port -u $db_user --password=$db_password $db_database -ss -N -e 'select is_locked from migration_lock;') && eval 'echo is_locked=$result' && if [ -z $result ]; then false; fi && if [ $result -ne 0 ]; then false; fi; do echo waiting for MySQL; sleep 2; done;" - - service: - type: ClusterIP - - annotations: {} - - # This allows one to point the service to an external backend. - # This is useful for local development where one wishes to hijack - # the communication from the service to the node layer and point - # to a specific endpoint (IP, Port, etc). - external: - enabled: false - # 10.0.2.2 is the magic IP for the host on virtualbox's network - ip: 10.0.2.2 - ports: - api: - name: http-api - externalPort: 3001 - - ingress: - enabled: true - ## @param ingress.pathType Ingress path type - ## - pathType: ImplementationSpecific - ## @param ingress.apiVersion Force Ingress API version (automatically detected if not set) - ## - apiVersion: - ## @param ingress.hostname Default host for the ingress record - ## - hostname: central-ledger-timeout.local - ## @param servicePort : port for the service - ## - servicePort: 80 - ## @param ingress.path Default path for the ingress record - ## NOTE: You may need to set this to '/*' in order to use this with ALB ingress controllers - path: / - ## @param ingress.annotations Additional custom annotations for the ingress record - ## NOTE: If `ingress.certManager=true`, annotation `kubernetes.io/tls-acme: "true"` will automatically be added - ## - annotations: - ## @param ingress.tls Enable TLS configuration for the host defined at `ingress.hostname` parameter - ## TLS certificates will be retrieved from a TLS secret with name: `{{- printf "%s-tls" .Values.ingress.hostname }}` - ## You can: - ## - Use the `ingress.secrets` parameter to create this TLS secret - ## - Relay on cert-manager to create it by setting `ingress.certManager=true` - ## - Relay on Helm to create self-signed certificates by setting `ingress.selfSigned=true` - ## - tls: false - ## @param ingress.certManager Add the corresponding annotations for cert-manager integration - ## - certManager: false - ## @param ingress.selfSigned Create a TLS secret for this ingress record using self-signed certificates generated by Helm - ## - selfSigned: false - ## @param ingress.extraHosts An array with additional hostname(s) to be covered with the ingress record - ## e.g: - ## extraHosts: - ## - name: transfer-api-svc.local - ## path: / - ## - extraHosts: - extraPaths: - extraTls: - secrets: - className: "nginx" - ## - resources: {} - # We usually recommend not to specify default resources and to leave this as a conscious - # choice for the user. This also increases chances charts run on environments with little - # resources, such as Minikube. If you do want to specify resources, uncomment the following - # lines, adjust them as necessary, and remove the curly braces after 'resources:'. - # limits: - # cpu: 100m - # memory: 128Mi - # requests: - # cpu: 100m - # memory: 128Mi - - mysql: - enabled: true - nameOverride: "centralledger-mysql" - # Default values for Percona XtraDB Cluster - - ## percona image and version - ## ref: https://hub.docker.com/r/percona/percona-xtradb-cluster/tags/ - image: - repository: "percona/percona-xtradb-cluster" - tag: "5.7.19" - pullPolicy: IfNotPresent - - # Desired number of members of xtradb cluster - replicas: 1 - - ## Specify password for root user - ## - # mysqlRootPassword: not-a-secure-password - - ## Specify password for xtradb backup user - ## - # xtraBackupPassword: replicate-my-data - - ## Uncomment to create a database user - ## - mysqlUser: central_ledger - mysqlPassword: oyMxgZChuu - - ## Allow unauthenticated access, uncomment to enable - ## - # mysqlAllowEmptyPassword: true - - ## Uncomment to Create a database - ## - mysqlDatabase: central_ledger - - ## hosts to allow root user access from - # set to "127.0.0.1" to deny remote root. - allowRootFrom: "%" - - ## Persist data to a persitent volume - persistence: - enabled: false - ## percona data Persistent Volume Storage Class - ## If defined, storageClassName: - ## If set to "-", storageClassName: "", which disables dynamic provisioning - ## If undefined (the default) or set to null, no storageClassName spec is - ## set, choosing the default provisioner. (gp2 on AWS, standard on - ## GKE, AWS & OpenStack) - ## - # storageClass: "-" - accessMode: ReadWriteOnce - size: 8Gi - - ## Node labels for pod assignment - ## Ref: https://kubernetes.io/docs/user-guide/node-selection/ - ## - nodeSelector: {} - - ## Pod annotations - ## Ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/ - ## - podAnnotations: {} - - ## Tolerations labels for pod assignment - ## Allow the scheduling on tainted nodes (requires Kubernetes >= 1.6) - ## Ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ - ## - tolerations: [] - - ## Configure resource requests and limits - ## ref: http://kubernetes.io/docs/user-guide/compute-resources/ - ## - # resources: - # requests: - # memory: 256Mi - # cpu: 100m - - ## Configure the following values below if required - # performance_schema=ON - # max_connections=999 - # max_user_connections=999 - # thread_cache_size=999 - configFiles: - node.cnf: |+ - [client] - default-character-set=utf8mb4 - - [mysql] - default-character-set=utf8mb4 - - [mysqld] - collation-server = utf8mb4_unicode_ci - init-connect='SET NAMES utf8mb4' - character-set-server = utf8mb4 - datadir=/var/lib/mysql - default_storage_engine=InnoDB - binlog_format=ROW - innodb_flush_log_at_trx_commit = 1 - innodb_flush_method = O_DIRECT - innodb_file_per_table = 1 - innodb_autoinc_lock_mode=2 - bind_address = 0.0.0.0 - wsrep_slave_threads=2 - wsrep_cluster_address=gcomm:// - wsrep_provider=/usr/lib/galera3/libgalera_smm.so - wsrep_cluster_name=galera - wsrep_sst_method=xtrabackup-v2 - pxc_strict_mode=DISABLED - - ## When set to true will create sidecar for `prom/mysqld-exporter` - ## metrics exporting - metricsExporter: - enabled: true - - ## When set to true will create sidecar to tail mysql log - logTail: true - - service: - type: ClusterIP - port: 3306 - externalIPs: [] - - kafka: - enabled: true - testsEnabled: false - nameOverride: kafka - # ------------------------------------------------------------------------------ - # Kafka: - # ------------------------------------------------------------------------------ - - ## The StatefulSet installs 3 pods by default - replicas: 1 - - ## The kafka image repository - image: "confluentinc/cp-kafka" - - ## The kafka image tag - imageTag: "5.0.1" - - ## Specify a imagePullPolicy - ## ref: http://kubernetes.io/docs/user-guide/images/#pre-pulling-images - imagePullPolicy: "IfNotPresent" - - ## Configure resource requests and limits - ## ref: http://kubernetes.io/docs/user-guide/compute-resources/ - resources: {} - # limits: - # cpu: 200m - # memory: 1536Mi - # requests: - # cpu: 100m - # memory: 1024Mi - kafkaHeapOptions: "-Xmx1G -Xms1G" - - ## The StatefulSet Update Strategy which Kafka will use when changes are applied. - ## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#update-strategies - updateStrategy: - type: "OnDelete" - - ## Start and stop pods in Parallel or OrderedReady (one-by-one.) Note - Can not change after first release. - ## ref: https://kubernetes.io/docs/tutorials/stateful-application/basic-stateful-set/#pod-management-policy - podManagementPolicy: OrderedReady - - ## If RBAC is enabled on the cluster, the Kafka init container needs a service account - ## with permissisions sufficient to apply pod labels - rbac: - enabled: true - - ## The name of the storage class which the cluster should use. - # storageClass: default - - ## The subpath within the Kafka container's PV where logs will be stored. - ## This is combined with `persistence.mountPath`, to create, by default: /opt/kafka/data/logs - logSubPath: "logs" - - ## Use an alternate scheduler, e.g. "stork". - ## ref: https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/ - ## - # schedulerName: - - ## Pod scheduling preferences (by default keep pods within a release on separate nodes). - ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity - ## By default we don't set affinity - affinity: {} - ## Alternatively, this typical example defines: - ## antiAffinity (to keep Kafka pods on separate pods) - ## and affinity (to encourage Kafka pods to be collocated with Zookeeper pods) - # affinity: - # podAntiAffinity: - # requiredDuringSchedulingIgnoredDuringExecution: - # - labelSelector: - # matchExpressions: - # - key: app - # operator: In - # values: - # - kafka - # topologyKey: "kubernetes.io/hostname" - # podAffinity: - # preferredDuringSchedulingIgnoredDuringExecution: - # - weight: 50 - # podAffinityTerm: - # labelSelector: - # matchExpressions: - # - key: app - # operator: In - # values: - # - zookeeper - # topologyKey: "kubernetes.io/hostname" - - ## Node labels for pod assignment - ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector - nodeSelector: {} - - ## Readiness probe config. - ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/ - ## - readinessProbe: - initialDelaySeconds: 30 - periodSeconds: 10 - timeoutSeconds: 5 - successThreshold: 1 - failureThreshold: 3 - - ## Period to wait for broker graceful shutdown (sigterm) before pod is killed (sigkill) - ## ref: https://kubernetes-v1-4.github.io/docs/user-guide/production-pods/#lifecycle-hooks-and-termination-notice - ## ref: https://kafka.apache.org/10/documentation.html#brokerconfigs controlled.shutdown.* - terminationGracePeriodSeconds: 60 - - # Tolerations for nodes that have taints on them. - # Useful if you want to dedicate nodes to just run kafka - # https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ - tolerations: [] - # tolerations: - # - key: "key" - # operator: "Equal" - # value: "value" - # effect: "NoSchedule" - - ## External access. - ## - external: - enabled: false - servicePort: 19092 - firstListenerPort: 31090 - domain: cluster.local - init: - image: "lwolf/kubectl_deployer" - imageTag: "0.4" - imagePullPolicy: "IfNotPresent" - - ## Configuration Overrides. Specify any Kafka settings you would like set on the StatefulSet - ## here in map format, as defined in the official docs. - ## ref: https://kafka.apache.org/documentation/#brokerconfigs - ## - configurationOverrides: - ## Configure these to match the number of Kafka nodes for HA - "offsets.topic.replication.factor": 1 - "default.replication.factor": 1 - # "auto.leader.rebalance.enable": true - "auto.create.topics.enable": true - # "controlled.shutdown.enable": true - # "controlled.shutdown.max.retries": 100 - - ## Options required for external access via NodePort - ## ref: - ## - http://kafka.apache.org/documentation/#security_configbroker - ## - https://cwiki.apache.org/confluence/display/KAFKA/KIP-103%3A+Separation+of+Internal+and+External+traffic - ## - ## Setting "advertised.listeners" here appends to "PLAINTEXT://${POD_IP}:9092," - # "advertised.listeners": |- - # EXTERNAL://kafka.cluster.local:$((31090 + ${KAFKA_BROKER_ID})) - # "listener.security.protocol.map": |- - # PLAINTEXT:PLAINTEXT,EXTERNAL:PLAINTEXT - - ## A collection of additional ports to expose on brokers (formatted as normal containerPort yaml) - # Useful when the image exposes metrics (like prometheus, etc.) through a javaagent instead of a sidecar - additionalPorts: {} - - ## Persistence configuration. Specify if and how to persist data to a persistent volume. - ## - persistence: - enabled: false - - ## The size of the PersistentVolume to allocate to each Kafka Pod in the StatefulSet. For - ## production servers this number should likely be much larger. - ## - size: "1Gi" - - ## The location within the Kafka container where the PV will mount its storage and Kafka will - ## store its logs. - ## - mountPath: "/opt/kafka/data" - - ## Kafka data Persistent Volume Storage Class - ## If defined, storageClassName: - ## If set to "-", storageClassName: "", which disables dynamic provisioning - ## If undefined (the default) or set to null, no storageClassName spec is - ## set, choosing the default provisioner. (gp2 on AWS, standard on - ## GKE, AWS & OpenStack) - ## - # storageClass: - - jmx: - ## Rules to apply to the Prometheus JMX Exporter. Note while lots of stats have been cleaned and exposed, - ## there are still more stats to clean up and expose, others will never get exposed. They keep lots of duplicates - ## that can be derived easily. The configMap in this chart cleans up the metrics it exposes to be in a Prometheus - ## format, eg topic, broker are labels and not part of metric name. Improvements are gladly accepted and encouraged. - configMap: - - ## Allows disabling the default configmap, note a configMap is needed - enabled: true - - ## Allows setting values to generate confimap - ## To allow all metrics through (warning its crazy excessive) comment out below `overrideConfig` and set - ## `whitelistObjectNames: []` - overrideConfig: {} - # jmxUrl: service:jmx:rmi:///jndi/rmi://127.0.0.1:5555/jmxrmi - # lowercaseOutputName: true - # lowercaseOutputLabelNames: true - # ssl: false - # rules: - # - pattern: ".*" - - ## If you would like to supply your own ConfigMap for JMX metrics, supply the name of that - ## ConfigMap as an `overrideName` here. - overrideName: "" - - ## Port the jmx metrics are exposed in native jmx format, not in Prometheus format - port: 5555 - - ## JMX Whitelist Objects, can be set to control which JMX metrics are exposed. Only whitelisted - ## values will be exposed via JMX Exporter. They must also be exposed via Rules. To expose all metrics - ## (warning its crazy excessive and they aren't formatted in a prometheus style) (1) `whitelistObjectNames: []` - ## (2) commented out above `overrideConfig`. - whitelistObjectNames: # [] - - kafka.controller:* - - kafka.server:* - - java.lang:* - - kafka.network:* - - kafka.log:* - - ## Prometheus Exporters / Metrics - ## - prometheus: - ## Prometheus JMX Exporter: exposes the majority of Kafkas metrics - jmx: - enabled: true - - ## The image to use for the metrics collector - image: solsson/kafka-prometheus-jmx-exporter@sha256 - - ## The image tag to use for the metrics collector - imageTag: a23062396cd5af1acdf76512632c20ea6be76885dfc20cd9ff40fb23846557e8 - - ## Interval at which Prometheus scrapes metrics, note: only used by Prometheus Operator - interval: 10s - - ## Port jmx-exporter exposes Prometheus format metrics to scrape - port: 5556 - - resources: {} - # limits: - # cpu: 200m - # memory: 1Gi - # requests: - # cpu: 100m - # memory: 100Mi - - ## Prometheus Kafka Exporter: exposes complimentary metrics to JMX Exporter - kafka: - enabled: true - - ## The image to use for the metrics collector - image: danielqsj/kafka-exporter - - ## The image tag to use for the metrics collector - imageTag: v1.0.1 - - ## Interval at which Prometheus scrapes metrics, note: only used by Prometheus Operator - interval: 10s - - ## Port kafka-exporter exposes for Prometheus to scrape metrics - port: 9308 - - ## Resource limits - resources: {} - # limits: - # cpu: 200m - # memory: 1Gi - # requests: - # cpu: 100m - # memory: 100Mi - - operator: - ## Are you using Prometheus Operator? - enabled: false - - serviceMonitor: - # Namespace Prometheus is installed in - namespace: monitoring - - ## Defaults to whats used if you follow CoreOS [Prometheus Install Instructions](https://github.com/coreos/prometheus-operator/tree/master/helm#tldr) - ## [Prometheus Selector Label](https://github.com/coreos/prometheus-operator/blob/master/helm/prometheus/templates/prometheus.yaml#L65) - ## [Kube Prometheus Selector Label](https://github.com/coreos/prometheus-operator/blob/master/helm/kube-prometheus/values.yaml#L298) - selector: - prometheus: kube-prometheus - - # ------------------------------------------------------------------------------ - # Zookeeper: - # ------------------------------------------------------------------------------ - - zookeeper: - ## If true, install the Zookeeper chart alongside Kafka - ## ref: https://github.com/kubernetes/charts/tree/master/incubator/zookeeper - enabled: true - - ## ref: https://github.com/kubernetes/contrib/tree/master/statefulsets/zookeeper#stateful-set - # Desired quantity of ZooKeeper pods. This should always be (1,3,5, or 7) - replicaCount: 1 - - ## Configure Zookeeper resource requests and limits - ## ref: http://kubernetes.io/docs/user-guide/compute-resources/ - resources: - - ## The JVM heap size to allocate to Zookeeper - heap: "1G" - - persistence: - enabled: false - ## The amount of PV storage allocated to each Zookeeper pod in the statefulset - # size: "2Gi" - - ## Specify a Zookeeper imagePullPolicy - ## ref: http://kubernetes.io/docs/user-guide/images/#pre-pulling-images - imagePullPolicy: "IfNotPresent" - - ## If the Zookeeper Chart is disabled a URL and port are required to connect - url: "" - port: 2181 - - ## Pod scheduling preferences (by default keep pods within a release on separate nodes). - ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity - ## By default we don't set affinity: - affinity: {} # Criteria by which pod label-values influence scheduling for zookeeper pods. - # podAntiAffinity: - # requiredDuringSchedulingIgnoredDuringExecution: - # - topologyKey: "kubernetes.io/hostname" - # labelSelector: - # matchLabels: - # release: zookeeper - - centralsettlement: - centralsettlement-service: - enabled: true - replicaCount: 1 - containers: - api: - image: - repository: mojaloop/central-settlement - tag: v15.0.0 - pullPolicy: IfNotPresent - command: '["node", "src/api/index.js"]' - service: - type: ClusterIP - ports: - api: - name: http-api - externalPort: 80 - internalPort: 3007 - annotations: {} - # This allows one to point the service to an external backend. - # This is useful for local development where one wishes to hijack - # the communication from the service to the node layer and point - # to a specific endpoint (IP, Port, etc). - external: - enabled: false - # 10.0.2.2 is the magic IP for the host on virtualbox's network - ip: 10.0.2.2 - ports: - api: - name: http-api - externalPort: 3007 - readinessProbe: - enabled: true - httpGet: - path: /v2/health - initialDelaySeconds: 60 - periodSeconds: 15 - livenessProbe: - enabled: true - httpGet: - path: /v2/health - initialDelaySeconds: 60 - periodSeconds: 15 - - ## Pod scheduling preferences. - ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity - affinity: {} - - ## Node labels for pod assignment - ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector - nodeSelector: {} - - ## Set toleration for scheduler - ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ - tolerations: [] - - sidecar: - enabled: true - image: - repository: mojaloop/event-sidecar - tag: v12.0.0 - pullPolicy: IfNotPresent - command: '["npm", "run", "start"]' - service: - internalPort: 4001 - readinessProbe: - enabled: true - httpGet: - path: /health - initialDelaySeconds: 120 - periodSeconds: 15 - livenessProbe: - enabled: true - httpGet: - path: /health - initialDelaySeconds: 90 - periodSeconds: 15 - config: - event_log_grpc_host: localhost - event_log_grpc_port: 50051 - event_log_filter: 'audit:*, log:info, log:warn, log:error' - event_log_metadata_only: true - log_level: info - log_filter: 'error, warn, info' - - ## metric configuration for prometheus instrumentation - metrics: - ## flag to enable/disable the metrics end-points - enabled: false - config: - timeout: 5000 - prefix: moja_ - defaultLabels: - serviceName: central-settlement-service - - config: - ## Kafka Configuration - # this can be set if the dependency chart for kafka is disabled. If 'kafka_host' is commented out, then the name of the dependency chart will be used. - kafka_host: '$release_name-kafka' - kafka_port: 9092 - kafka: - consumer: - notification: - close: - config: - options: - mode: 2 - batchSize: 1 - pollFrequency: 10 - recursiveTimeout: 100 - messageCharset: 'utf8' - messageAsJSON: true - sync: true - consumeTimeout: 1000 - rdkafkaConf: - socket_keepalive_enable: true - event: - config: - options: - mode: 2 - batchSize: 1 - pollFrequency: 10 - recursiveTimeout: 100 - messageCharset: 'utf8' - messageAsJSON: true - sync: true - consumeTimeout: 1000 - rdkafkaConf: - socket_keepalive_enable: true - deferredsettlement: - close: - config: - options: - mode: 2 - batchSize: 1 - pollFrequency: 10 - recursiveTimeout: 100 - messageCharset: 'utf8' - messageAsJSON: true - sync: true - consumeTimeout: 1000 - rdkafkaConf: - socket_keepalive_enable: true - producer: - notification: - event: - config: - options: - messageCharset: 'utf8' - rdkafkaConf: - event_cb: true - compression_codec: 'none' - retry_backoff_ms: 100 - message_send_max_retries: 2 - socket_keepalive_enable: true - batch_num_messages: 100 - dr_cb: false - socket_blocking_max_ms: 1 - queue_buffering_max_ms: 1 - broker_version_fallback: '0.10.1.0' - api_version_request: true - topicConf: - request_required_acks: 'all' - partitioner: 'murmur2_random' - deferredsettlement: - close: - config: - options: - messageCharset: 'utf8' - rdkafkaConf: - event_cb: true - dr_cb: true - socket_keepalive_enable: true - topicConf: - request_required_acks: "all" - partitioner: 'murmur2_random' - ## DB Configuration - # db_type can either be 'postgres' or 'mysql'. Ensure the correct DB is enabled and configured below: postgresql.enabled or mysql.enabled - db_type: 'mysql' - # db_driver can either be 'pg' or 'mysql'. Ensure the correct corresponding db_type above has been set. - db_driver: 'mysql' - db_host: '$release_name-centralledger-mysql' - db_port: 3306 - db_user: central_ledger - db_password: oyMxgZChuu - db_database: central_ledger - db_connection_pool_min: 10 - db_connection_pool_max: 30 - db_acquire_timeout_millis: 30000 - db_create_timeout_millis: 30000 - db_destroy_timeout_millis: 5000 - db_idle_timeout_millis: 30000 - db_reap_interval_millis: 1000 - db_create_retry_interval_millis: 200 - db_debug: false - # Api Handler Configuration - handlers: - disabled: true - api: - disabled: false - # Settlement Window aggregation Configuration - window_aggregation: - retry_count: 3 - retry_interval: 3000 - hub_participant: - id: 1 - name: Hub - - ## Log config - log_level: info - log_transport: file - - ## Tracing Configuration - event_trace_vendor: mojaloop - event_log_filter: 'audit:*, log:warn, log:error' - # If set to true, only the metadata object from the event will be printed. - event_log_metadata_only: false - # A comma-separated list of events that should return immediately instead of waiting for the event promises to resolve - # Any combination of: `log,audit,trace` - event_async_override: 'log,trace' - event_trace_state_enabled: true - event_traceid_per_vendor: false - - ## Error Handling - error_handling: - include_cause_extension: false - truncate_extensions: true - - init: - enabled: true - mysql: - name: wait-for-mysql - repository: mysql - tag: 8.0.30 - pullPolicy: IfNotPresent - command: "until result=$(mysql -h $db_host -P $db_port -u $db_user --password=$db_password $db_database -ss -N -e 'select is_locked from migration_lock;') && eval 'echo is_locked=$result' && if [ -z $result ]; then false; fi && if [ $result -ne 0 ]; then false; fi; do echo waiting for MySQL; sleep 2; done;" - - service: - type: ClusterIP - ports: - api: - name: http-api - externalPort: 80 - internalPort: 3007 - annotations: {} - - # This allows one to point the service to an external backend. - # This is useful for local development where one wishes to hijack - # the communication from the service to the node layer and point - # to a specific endpoint (IP, Port, etc). - external: - enabled: false - # 10.0.2.2 is the magic IP for the host on virtualbox's network - ip: 10.0.2.2 - ports: - api: - name: http-api - externalPort: 3007 - ingress: - enabled: true - ## @param ingress.pathType Ingress path type - ## - pathType: ImplementationSpecific - ## @param ingress.apiVersion Force Ingress API version (automatically detected if not set) - ## - apiVersion: - ## @param ingress.hostname Default host for the ingress record - ## - hostname: central-settlement-service.local - ## @param servicePort : port for the service - ## - servicePort: 80 - ## @param ingress.path Default path for the ingress record - ## NOTE: You may need to set this to '/*' in order to use this with ALB ingress controllers - path: / - ## @param ingress.annotations Additional custom annotations for the ingress record - ## NOTE: If `ingress.certManager=true`, annotation `kubernetes.io/tls-acme: "true"` will automatically be added - ## - annotations: - ## @param ingress.tls Enable TLS configuration for the host defined at `ingress.hostname` parameter - ## TLS certificates will be retrieved from a TLS secret with name: `{{- printf "%s-tls" .Values.ingress.hostname }}` - ## You can: - ## - Use the `ingress.secrets` parameter to create this TLS secret - ## - Relay on cert-manager to create it by setting `ingress.certManager=true` - ## - Relay on Helm to create self-signed certificates by setting `ingress.selfSigned=true` - ## - tls: false - ## @param ingress.certManager Add the corresponding annotations for cert-manager integration - ## - certManager: false - ## @param ingress.selfSigned Create a TLS secret for this ingress record using self-signed certificates generated by Helm - ## - selfSigned: false - ## @param ingress.extraHosts An array with additional hostname(s) to be covered with the ingress record - ## e.g: - ## extraHosts: - ## - name: transfer-api-svc.local - ## path: / - ## - extraHosts: - extraPaths: - extraTls: - secrets: - className: "nginx" - ## - resources: {} - # We usually recommend not to specify default resources and to leave this as a conscious - # choice for the user. This also increases chances charts run on environments with little - # resources, such as Minikube. If you do want to specify resources, uncomment the following - # lines, adjust them as necessary, and remove the curly braces after 'resources:'. - # limits: - # cpu: 100m - # memory: 128Mi - # requests: - # cpu: 100m - # memory: 128Mi - - centralsettlement-handler-deferredsettlement: - enabled: true - replicaCount: 1 - - containers: - api: - image: - repository: mojaloop/central-settlement - tag: v15.0.0 - pullPolicy: IfNotPresent - command: '["node", "src/handlers/index.js", "h", "--deferredSettlement"]' - service: - type: ClusterIP - ports: - api: - name: http-api - externalPort: 80 - internalPort: 3007 - annotations: {} - # This allows one to point the service to an external backend. - # This is useful for local development where one wishes to hijack - # the communication from the service to the node layer and point - # to a specific endpoint (IP, Port, etc). - external: - enabled: false - # 10.0.2.2 is the magic IP for the host on virtualbox's network - ip: 10.0.2.2 - ports: - api: - name: http-api - externalPort: 3007 - readinessProbe: - enabled: true - httpGet: - path: /v2/health - initialDelaySeconds: 60 - periodSeconds: 15 - livenessProbe: - enabled: true - httpGet: - path: /v2/health - initialDelaySeconds: 60 - periodSeconds: 15 - - ## Pod scheduling preferences. - ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity - affinity: {} - - ## Node labels for pod assignment - ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector - nodeSelector: {} - - ## Set toleration for scheduler - ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ - tolerations: [] - - sidecar: - enabled: true - image: - repository: mojaloop/event-sidecar - tag: v12.0.0 - pullPolicy: IfNotPresent - command: '["npm", "run", "start"]' - service: - internalPort: 4001 - readinessProbe: - enabled: true - httpGet: - path: /health - initialDelaySeconds: 120 - periodSeconds: 15 - livenessProbe: - enabled: true - httpGet: - path: /health - initialDelaySeconds: 90 - periodSeconds: 15 - config: - event_log_grpc_host: localhost - event_log_grpc_port: 50051 - event_log_filter: 'audit:*, log:info, log:warn, log:error' - event_log_metadata_only: true - log_level: info - log_filter: 'error, warn, info' - - ## metric configuration for prometheus instrumentation - metrics: - ## flag to enable/disable the metrics end-points - enabled: false - config: - timeout: 5000 - prefix: moja_ - defaultLabels: - serviceName: central-settlement-handler-deferredsettlement - - config: - ## Kafka Configuration - # this can be set if the dependency chart for kafka is disabled. If 'kafka_host' is commented out, then the name of the dependency chart will be used. - kafka_host: '$release_name-kafka' - kafka_port: 9092 - kafka: - consumer: - notification: - close: - config: - options: - mode: 2 - batchSize: 1 - pollFrequency: 10 - recursiveTimeout: 100 - messageCharset: 'utf8' - messageAsJSON: true - sync: true - consumeTimeout: 1000 - rdkafkaConf: - socket_keepalive_enable: true - event: - config: - options: - mode: 2 - batchSize: 1 - pollFrequency: 10 - recursiveTimeout: 100 - messageCharset: 'utf8' - messageAsJSON: true - sync: true - consumeTimeout: 1000 - rdkafkaConf: - socket_keepalive_enable: true - deferredsettlement: - close: - config: - options: - mode: 2 - batchSize: 1 - pollFrequency: 10 - recursiveTimeout: 100 - messageCharset: 'utf8' - messageAsJSON: true - sync: true - consumeTimeout: 1000 - rdkafkaConf: - socket_keepalive_enable: true - producer: - notification: - event: - config: - options: - messageCharset: 'utf8' - rdkafkaConf: - event_cb: true - compression_codec: 'none' - retry_backoff_ms: 100 - message_send_max_retries: 2 - socket_keepalive_enable: true - batch_num_messages: 100 - dr_cb: false - socket_blocking_max_ms: 1 - queue_buffering_max_ms: 1 - broker_version_fallback: '0.10.1.0' - api_version_request: true - topicConf: - request_required_acks: 'all' - partitioner: 'murmur2_random' - deferredsettlement: - close: - config: - options: - messageCharset: 'utf8' - rdkafkaConf: - event_cb: true - dr_cb: true - socket_keepalive_enable: true - topicConf: - request_required_acks: "all" - partitioner: 'murmur2_random' - ## DB Configuration - # db_type can either be 'postgres' or 'mysql'. Ensure the correct DB is enabled and configured below: postgresql.enabled or mysql.enabled - db_type: 'mysql' - # db_driver can either be 'pg' or 'mysql'. Ensure the correct corresponding db_type above has been set. - db_driver: 'mysql' - db_host: '$release_name-centralledger-mysql' - db_port: 3306 - db_user: central_ledger - db_password: oyMxgZChuu - db_database: central_ledger - db_connection_pool_min: 10 - db_connection_pool_max: 30 - db_acquire_timeout_millis: 30000 - db_create_timeout_millis: 30000 - db_destroy_timeout_millis: 5000 - db_idle_timeout_millis: 30000 - db_reap_interval_millis: 1000 - db_create_retry_interval_millis: 200 - db_debug: false - # Api Handler Configuration - handlers: - disabled: false - api: - disabled: false - # Settlement Window aggregation Configuration - window_aggregation: - retry_count: 3 - retry_interval: 3000 - hub_participant: - id: 1 - name: Hub - - ## Log config - log_level: info - log_transport: file - - ## Tracing Configuration - event_trace_vendor: mojaloop - event_log_filter: 'audit:*, log:warn, log:error' - # If set to true, only the metadata object from the event will be printed. - event_log_metadata_only: false - # A comma-separated list of events that should return immediately instead of waiting for the event promises to resolve - # Any combination of: `log,audit,trace` - event_async_override: 'log,trace' - event_trace_state_enabled: true - event_traceid_per_vendor: false - - ## Error Handling - error_handling: - include_cause_extension: false - truncate_extensions: true - - init: - enabled: true - mysql: - name: wait-for-mysql - repository: mysql - tag: 8.0.30 - pullPolicy: IfNotPresent - command: "until result=$(mysql -h $db_host -P $db_port -u $db_user --password=$db_password $db_database -ss -N -e 'select is_locked from migration_lock;') && eval 'echo is_locked=$result' && if [ -z $result ]; then false; fi && if [ $result -ne 0 ]; then false; fi; do echo waiting for MySQL; sleep 2; done;" - kafka: - name: wait-for-kafka - repository: solsson/kafka - tag: 2.8.1 - pullPolicy: IfNotPresent - command: "until ./bin/kafka-broker-api-versions.sh --bootstrap-server $kafka_host:$kafka_port; do echo waiting for Kafka; sleep 2; done;" - env: {} - service: - type: ClusterIP - ports: - api: - name: http-api - externalPort: 80 - internalPort: 3007 - annotations: {} - - # This allows one to point the service to an external backend. - # This is useful for local development where one wishes to hijack - # the communication from the service to the node layer and point - # to a specific endpoint (IP, Port, etc). - external: - enabled: false - # 10.0.2.2 is the magic IP for the host on virtualbox's network - ip: 10.0.2.2 - ports: - api: - name: http-api - externalPort: 3007 - ingress: - enabled: true - ## @param ingress.pathType Ingress path type - ## - pathType: ImplementationSpecific - ## @param ingress.apiVersion Force Ingress API version (automatically detected if not set) - ## - apiVersion: - ## @param ingress.hostname Default host for the ingress record - ## - hostname: central-settlement-deferredsettlement.local - ## @param servicePort : port for the service - ## - servicePort: 80 - ## @param ingress.path Default path for the ingress record - ## NOTE: You may need to set this to '/*' in order to use this with ALB ingress controllers - path: / - ## @param ingress.annotations Additional custom annotations for the ingress record - ## NOTE: If `ingress.certManager=true`, annotation `kubernetes.io/tls-acme: "true"` will automatically be added - ## - annotations: - ## @param ingress.tls Enable TLS configuration for the host defined at `ingress.hostname` parameter - ## TLS certificates will be retrieved from a TLS secret with name: `{{- printf "%s-tls" .Values.ingress.hostname }}` - ## You can: - ## - Use the `ingress.secrets` parameter to create this TLS secret - ## - Relay on cert-manager to create it by setting `ingress.certManager=true` - ## - Relay on Helm to create self-signed certificates by setting `ingress.selfSigned=true` - ## - tls: false - ## @param ingress.certManager Add the corresponding annotations for cert-manager integration - ## - certManager: false - ## @param ingress.selfSigned Create a TLS secret for this ingress record using self-signed certificates generated by Helm - ## - selfSigned: false - ## @param ingress.extraHosts An array with additional hostname(s) to be covered with the ingress record - ## e.g: - ## extraHosts: - ## - name: transfer-api-svc.local - ## path: / - ## - extraHosts: - extraPaths: - extraTls: - secrets: - className: "nginx" - ## - resources: {} - # We usually recommend not to specify default resources and to leave this as a conscious - # choice for the user. This also increases chances charts run on environments with little - # resources, such as Minikube. If you do want to specify resources, uncomment the following - # lines, adjust them as necessary, and remove the curly braces after 'resources:'. - # limits: - # cpu: 100m - # memory: 128Mi - # requests: - # cpu: 100m - # memory: 128Mi - - centralsettlement-handler-grosssettlement: - ## Enable this handler if you wish to support Continuous Gross Settlement (CGS) and rule processing. - ## Note: Ensure that you have configured the appropriated settlementModels (refer to the associated tagged release on https://github.com/mojaloop/postman for an example). See below more information on how to configure rule processing for Interchange Fees. - enabled: true - replicaCount: 1 - containers: - api: - image: - repository: mojaloop/central-settlement - tag: v15.0.0 - pullPolicy: IfNotPresent - command: '["node", "src/handlers/index.js", "h", "--grossSettlement"]' - service: - type: ClusterIP - ports: - api: - name: http-api - externalPort: 80 - internalPort: 3007 - annotations: {} - # This allows one to point the service to an external backend. - # This is useful for local development where one wishes to hijack - # the communication from the service to the node layer and point - # to a specific endpoint (IP, Port, etc). - external: - enabled: false - # 10.0.2.2 is the magic IP for the host on virtualbox's network - ip: 10.0.2.2 - ports: - api: - name: http-api - externalPort: 3007 - readinessProbe: - enabled: true - httpGet: - path: /v2/health - initialDelaySeconds: 60 - periodSeconds: 15 - livenessProbe: - enabled: true - httpGet: - path: /v2/health - initialDelaySeconds: 60 - periodSeconds: 15 - - ## Pod scheduling preferences. - ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity - affinity: {} - - ## Node labels for pod assignment - ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector - nodeSelector: {} - - ## Set toleration for scheduler - ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ - tolerations: [] - - sidecar: - enabled: true - image: - repository: mojaloop/event-sidecar - tag: v12.0.0 - pullPolicy: IfNotPresent - command: '["npm", "run", "start"]' - service: - internalPort: 4001 - readinessProbe: - enabled: true - httpGet: - path: /health - initialDelaySeconds: 120 - periodSeconds: 15 - livenessProbe: - enabled: true - httpGet: - path: /health - initialDelaySeconds: 90 - periodSeconds: 15 - config: - event_log_grpc_host: localhost - event_log_grpc_port: 50051 - event_log_filter: 'audit:*, log:info, log:warn, log:error' - event_log_metadata_only: true - log_level: info - log_filter: 'error, warn, info' - - ## metric configuration for prometheus instrumentation - metrics: - ## flag to enable/disable the metrics end-points - enabled: false - config: - timeout: 5000 - prefix: moja_ - defaultLabels: - serviceName: central-settlement-handler-grosssettlement - - config: - ## Kafka Configuration - # this can be set if the dependency chart for kafka is disabled. If 'kafka_host' is commented out, then the name of the dependency chart will be used. - kafka_host: '$release_name-kafka' - kafka_port: 9092 - kafka: - consumer: - notification: - close: - config: - options: - mode: 2 - batchSize: 1 - pollFrequency: 10 - recursiveTimeout: 100 - messageCharset: 'utf8' - messageAsJSON: true - sync: true - consumeTimeout: 1000 - rdkafkaConf: - socket_keepalive_enable: true - event: - config: - options: - mode: 2 - batchSize: 1 - pollFrequency: 10 - recursiveTimeout: 100 - messageCharset: 'utf8' - messageAsJSON: true - sync: true - consumeTimeout: 1000 - rdkafkaConf: - socket_keepalive_enable: true - deferredsettlement: - close: - config: - options: - mode: 2 - batchSize: 1 - pollFrequency: 10 - recursiveTimeout: 100 - messageCharset: 'utf8' - messageAsJSON: true - sync: true - consumeTimeout: 1000 - rdkafkaConf: - socket_keepalive_enable: true - producer: - notification: - event: - config: - options: - messageCharset: 'utf8' - rdkafkaConf: - event_cb: true - compression_codec: 'none' - retry_backoff_ms: 100 - message_send_max_retries: 2 - socket_keepalive_enable: true - batch_num_messages: 100 - dr_cb: false - socket_blocking_max_ms: 1 - queue_buffering_max_ms: 1 - broker_version_fallback: '0.10.1.0' - api_version_request: true - topicConf: - request_required_acks: 'all' - partitioner: 'murmur2_random' - deferredsettlement: - close: - config: - options: - messageCharset: 'utf8' - rdkafkaConf: - event_cb: true - dr_cb: true - socket_keepalive_enable: true - topicConf: - request_required_acks: "all" - partitioner: 'murmur2_random' - ## DB Configuration - # db_type can either be 'postgres' or 'mysql'. Ensure the correct DB is enabled and configured below: postgresql.enabled or mysql.enabled - db_type: 'mysql' - # db_driver can either be 'pg' or 'mysql'. Ensure the correct corresponding db_type above has been set. - db_driver: 'mysql' - db_host: '$release_name-centralledger-mysql' - db_port: 3306 - db_user: central_ledger - db_password: oyMxgZChuu - db_database: central_ledger - db_connection_pool_min: 10 - db_connection_pool_max: 30 - db_acquire_timeout_millis: 30000 - db_create_timeout_millis: 30000 - db_destroy_timeout_millis: 5000 - db_idle_timeout_millis: 30000 - db_reap_interval_millis: 1000 - db_create_retry_interval_millis: 200 - db_debug: false - # Api Handler Configuration - handlers: - disabled: false - api: - disabled: false - # Settlement Window aggregation Configuration - window_aggregation: - retry_count: 3 - retry_interval: 3000 - hub_participant: - id: 1 - name: Hub - - ## Log config - log_level: info - log_transport: file - - ## Tracing Configuration - event_trace_vendor: mojaloop - event_log_filter: 'audit:*, log:warn, log:error' - # If set to true, only the metadata object from the event will be printed. - event_log_metadata_only: false - # A comma-separated list of events that should return immediately instead of waiting for the event promises to resolve - # Any combination of: `log,audit,trace` - event_async_override: 'log,trace' - event_trace_state_enabled: true - event_traceid_per_vendor: false - - ## Error Handling - error_handling: - include_cause_extension: false - truncate_extensions: true - - init: - enabled: true - mysql: - name: wait-for-mysql - repository: mysql - tag: 8.0.30 - pullPolicy: IfNotPresent - command: "until result=$(mysql -h $db_host -P $db_port -u $db_user --password=$db_password $db_database -ss -N -e 'select is_locked from migration_lock;') && eval 'echo is_locked=$result' && if [ -z $result ]; then false; fi && if [ $result -ne 0 ]; then false; fi; do echo waiting for MySQL; sleep 2; done;" - kafka: - name: wait-for-kafka - repository: solsson/kafka - tag: 2.8.1 - pullPolicy: IfNotPresent - command: "until ./bin/kafka-broker-api-versions.sh --bootstrap-server $kafka_host:$kafka_port; do echo waiting for Kafka; sleep 2; done;" - env: {} - service: - type: ClusterIP - ports: - api: - name: http-api - externalPort: 80 - internalPort: 3007 - annotations: {} - - # This allows one to point the service to an external backend. - # This is useful for local development where one wishes to hijack - # the communication from the service to the node layer and point - # to a specific endpoint (IP, Port, etc). - external: - enabled: false - # 10.0.2.2 is the magic IP for the host on virtualbox's network - ip: 10.0.2.2 - ports: - api: - name: http-api - externalPort: 3007 - ingress: - enabled: true - ## @param ingress.pathType Ingress path type - ## - pathType: ImplementationSpecific - ## @param ingress.apiVersion Force Ingress API version (automatically detected if not set) - ## - apiVersion: - ## @param ingress.hostname Default host for the ingress record - ## - hostname: central-settlement-rules.local - ## @param servicePort : port for the service - ## - servicePort: 80 - ## @param ingress.path Default path for the ingress record - ## NOTE: You may need to set this to '/*' in order to use this with ALB ingress controllers - path: / - ## @param ingress.annotations Additional custom annotations for the ingress record - ## NOTE: If `ingress.certManager=true`, annotation `kubernetes.io/tls-acme: "true"` will automatically be added - ## - annotations: - ## @param ingress.tls Enable TLS configuration for the host defined at `ingress.hostname` parameter - ## TLS certificates will be retrieved from a TLS secret with name: `{{- printf "%s-tls" .Values.ingress.hostname }}` - ## You can: - ## - Use the `ingress.secrets` parameter to create this TLS secret - ## - Relay on cert-manager to create it by setting `ingress.certManager=true` - ## - Relay on Helm to create self-signed certificates by setting `ingress.selfSigned=true` - ## - tls: false - ## @param ingress.certManager Add the corresponding annotations for cert-manager integration - ## - certManager: false - ## @param ingress.selfSigned Create a TLS secret for this ingress record using self-signed certificates generated by Helm - ## - selfSigned: false - ## @param ingress.extraHosts An array with additional hostname(s) to be covered with the ingress record - ## e.g: - ## extraHosts: - ## - name: transfer-api-svc.local - ## path: / - ## - extraHosts: - extraPaths: - extraTls: - secrets: - className: "nginx" - ## - resources: {} - # We usually recommend not to specify default resources and to leave this as a conscious - # choice for the user. This also increases chances charts run on environments with little - # resources, such as Minikube. If you do want to specify resources, uncomment the following - # lines, adjust them as necessary, and remove the curly braces after 'resources:'. - # limits: - # cpu: 100m - # memory: 128Mi - # requests: - # cpu: 100m - # memory: 128Mi - - centralsettlement-handler-rules: - ## Enable this handler if you wish to support Continuous Gross Settlement (CGS) and rule processing. - ## Note: Ensure that you have configured the appropriated settlementModels (refer to the associated tagged release on https://github.com/mojaloop/postman for an example). See below more information on how to configure rule processing for Interchange Fees. - enabled: true - replicaCount: 1 - containers: - api: - image: - repository: mojaloop/central-settlement - tag: v15.0.0 - pullPolicy: IfNotPresent - command: '["node", "src/handlers/index.js", "h", "--rules"]' - service: - type: ClusterIP - ports: - api: - name: http-api - externalPort: 80 - internalPort: 3007 - annotations: {} - # This allows one to point the service to an external backend. - # This is useful for local development where one wishes to hijack - # the communication from the service to the node layer and point - # to a specific endpoint (IP, Port, etc). - external: - enabled: false - # 10.0.2.2 is the magic IP for the host on virtualbox's network - ip: 10.0.2.2 - ports: - api: - name: http-api - externalPort: 3007 - readinessProbe: - enabled: true - httpGet: - path: /v2/health - initialDelaySeconds: 60 - periodSeconds: 15 - livenessProbe: - enabled: true - httpGet: - path: /v2/health - initialDelaySeconds: 60 - periodSeconds: 15 - - ## Pod scheduling preferences. - ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity - affinity: {} - - ## Node labels for pod assignment - ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector - nodeSelector: {} - - ## Set toleration for scheduler - ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ - tolerations: [] - - sidecar: - enabled: true - image: - repository: mojaloop/event-sidecar - tag: v12.0.0 - pullPolicy: IfNotPresent - command: '["npm", "run", "start"]' - service: - internalPort: 4001 - readinessProbe: - enabled: true - httpGet: - path: /health - initialDelaySeconds: 120 - periodSeconds: 15 - livenessProbe: - enabled: true - httpGet: - path: /health - initialDelaySeconds: 90 - periodSeconds: 15 - config: - event_log_grpc_host: localhost - event_log_grpc_port: 50051 - event_log_filter: 'audit:*, log:info, log:warn, log:error' - event_log_metadata_only: true - log_level: info - log_filter: 'error, warn, info' - - ## metric configuration for prometheus instrumentation - metrics: - ## flag to enable/disable the metrics end-points - enabled: false - config: - timeout: 5000 - prefix: moja_ - defaultLabels: - serviceName: central-settlement-handler-rules - - config: - ## Kafka Configuration - # this can be set if the dependency chart for kafka is disabled. If 'kafka_host' is commented out, then the name of the dependency chart will be used. - kafka_host: '$release_name-kafka' - kafka_port: 9092 - kafka: - consumer: - notification: - close: - config: - options: - mode: 2 - batchSize: 1 - pollFrequency: 10 - recursiveTimeout: 100 - messageCharset: 'utf8' - messageAsJSON: true - sync: true - consumeTimeout: 1000 - rdkafkaConf: - socket_keepalive_enable: true - event: - config: - options: - mode: 2 - batchSize: 1 - pollFrequency: 10 - recursiveTimeout: 100 - messageCharset: 'utf8' - messageAsJSON: true - sync: true - consumeTimeout: 1000 - rdkafkaConf: - socket_keepalive_enable: true - deferredsettlement: - close: - config: - options: - mode: 2 - batchSize: 1 - pollFrequency: 10 - recursiveTimeout: 100 - messageCharset: 'utf8' - messageAsJSON: true - sync: true - consumeTimeout: 1000 - rdkafkaConf: - socket_keepalive_enable: true - producer: - notification: - event: - config: - options: - messageCharset: 'utf8' - rdkafkaConf: - event_cb: true - compression_codec: 'none' - retry_backoff_ms: 100 - message_send_max_retries: 2 - socket_keepalive_enable: true - batch_num_messages: 100 - dr_cb: false - socket_blocking_max_ms: 1 - queue_buffering_max_ms: 1 - broker_version_fallback: '0.10.1.0' - api_version_request: true - topicConf: - request_required_acks: 'all' - partitioner: 'murmur2_random' - deferredsettlement: - close: - config: - options: - messageCharset: 'utf8' - rdkafkaConf: - event_cb: true - dr_cb: true - socket_keepalive_enable: true - topicConf: - request_required_acks: "all" - partitioner: 'murmur2_random' - ## DB Configuration - # db_type can either be 'postgres' or 'mysql'. Ensure the correct DB is enabled and configured below: postgresql.enabled or mysql.enabled - db_type: 'mysql' - # db_driver can either be 'pg' or 'mysql'. Ensure the correct corresponding db_type above has been set. - db_driver: 'mysql' - db_host: '$release_name-centralledger-mysql' - db_port: 3306 - db_user: central_ledger - db_password: oyMxgZChuu - db_database: central_ledger - db_connection_pool_min: 10 - db_connection_pool_max: 30 - db_acquire_timeout_millis: 30000 - db_create_timeout_millis: 30000 - db_destroy_timeout_millis: 5000 - db_idle_timeout_millis: 30000 - db_reap_interval_millis: 1000 - db_create_retry_interval_millis: 200 - db_debug: false - # Api Handler Configuration - handlers: - disabled: false - api: - disabled: false - # Settlement Window aggregation Configuration - window_aggregation: - retry_count: 3 - retry_interval: 3000 - hub_participant: - id: 1 - name: Hub - - ## Log config - log_level: info - log_transport: file - - ## Tracing Configuration - event_trace_vendor: mojaloop - event_log_filter: 'audit:*, log:warn, log:error' - # If set to true, only the metadata object from the event will be printed. - event_log_metadata_only: false - # A comma-separated list of events that should return immediately instead of waiting for the event promises to resolve - # Any combination of: `log,audit,trace` - event_async_override: 'log,trace' - event_trace_state_enabled: true - event_traceid_per_vendor: false - - ## Error Handling - error_handling: - include_cause_extension: false - truncate_extensions: true - - rules: - ## The rules object defines rules files represented as key-value pairs. These rules will be executed per commited transfer. - ## Expected key-value format for the rules object: - ## nameOfFile.js: fileContents - ## See below example of interchange fee rule. - - ## Default Empty Script - This is required as the rule engine requires a rule-file to function properly. - ## Note: Uncomment this and comment-out the interchangeFeeCalculation.js below is you wish to enable CGS processing but do not want Interchange Fee processing. - # defaultEmptyScript.js: | - # // ******************************************************** - # // Name: Default Empty Rule - # // Type: notification - # // Action: commit - # // Status: success - # // Start: 2020-06-01T00:00:00.000Z - # // End: 2100-12-31T23:59:59.999Z - # // Description: This is empty rules script - # // ******************************************************** - ## Globals: - # // payload: The contents of the message from the Kafka topic. - # // transfer: The transfer object. - # // # Functions: - ## Data retrieval functions: - # // getTransfer(transferId): Retrieves a mojaloop transfer from the central-ledger API. - ## Helper functions: - # // getExtensionValue(list, key): Gets a value from an extension list - # // log(message): allows the script to log to standard out for debugging purposes - # // Math functions: - # // multiply(number1, number2, decimalPlaces): Uses ml-number to handle multiplication of money values - # // Ledger functions: - # // addLedgerEntry: Adds a debit and credit ledger entry to the specified account to the specified DFSPs - # log('Running - DEFAULT EMPTY RULES SCRIPT') - - ## Interchange Fee Calculation Script - Ensure that a settlementModel (refer to the associated tagged release on https://github.com/mojaloop/postman for an example) is created for the ledgerAccounType "INTERCHANGE_FEE". - ## Note: Uncomment this is you wish to enable CGS processing but also want Interchange Fee processing. - interchangeFeeCalculation.js: | - /* eslint-disable no-undef */ - // ******************************************************** - // Name: Interchange fee calculation - // Type: notification - // Action: commit - // Status: success - // Start: 2020-06-01T00:00:00.000Z - // End: 2100-12-31T23:59:59.999Z - // Description: This script calculates the interchange fees between DFSPs where the account type is "Wallet" - // ******************************************************** - - ## Globals: - // payload: The contents of the message from the Kafka topic. - // transfer: The transfer object. - - // # Functions: - ## Data retrieval functions: - // getTransfer(transferId): Retrieves a mojaloop transfer from the central-ledger API. - - ## Helper functions: - // getExtensionValue(list, key): Gets a value from an extension list - // log(message): allows the script to log to standard out for debugging purposes - - // Math functions: - // multiply(number1, number2, decimalPlaces): Uses ml-number to handle multiplication of money values - - // Ledger functions: - // addLedgerEntry: Adds a debit and credit ledger entry to the specified account to the specified DFSPs - - log('Running - interchangeFeeCalculation') - - log(JSON.stringify(transfer)) - const payerFspId = transfer.payer.partyIdInfo.fspId - const payeeFspId = transfer.payee.partyIdInfo.fspId - - if ((payeeFspId !== payerFspId) && - (transfer.payee.partyIdInfo.extensionList && // WORKAROUND for issue #2149 - transfer.payer.partyIdInfo.extensionList && // WORKAROUND for issue #2149 - transfer.payee.partyIdInfo.extensionList.extension && // WORKAROUND for issue #2149 - transfer.payer.partyIdInfo.extensionList.extension) && // WORKAROUND for issue #2149 - (getExtensionValue(transfer.payee.partyIdInfo.extensionList.extension, 'accountType') === 'Wallet' && - getExtensionValue(transfer.payer.partyIdInfo.extensionList.extension, 'accountType') === 'Wallet') && - (transfer.transactionType.scenario === 'TRANSFER' && - transfer.transactionType.initiator === 'PAYER' && - transfer.transactionType.initiatorType === 'CONSUMER')) { - log(`Adding an interchange fee for Wallet to Wallet from ${payerFspId} to ${payeeFspId}`) - addLedgerEntry(payload.id, 'INTERCHANGE_FEE', // Ledger account type Id - 'INTERCHANGE_FEE', // Ledger entry type Id - multiply(transfer.amount.amount, 0.006, 2), - transfer.amount.currency, - payerFspId, - payeeFspId) - } - - init: - enabled: true - mysql: - name: wait-for-mysql - repository: mysql - tag: 8.0.30 - pullPolicy: IfNotPresent - command: "until result=$(mysql -h $db_host -P $db_port -u $db_user --password=$db_password $db_database -ss -N -e 'select is_locked from migration_lock;') && eval 'echo is_locked=$result' && if [ -z $result ]; then false; fi && if [ $result -ne 0 ]; then false; fi; do echo waiting for MySQL; sleep 2; done;" - kafka: - name: wait-for-kafka - repository: solsson/kafka - tag: 2.8.1 - pullPolicy: IfNotPresent - command: "until ./bin/kafka-broker-api-versions.sh --bootstrap-server $kafka_host:$kafka_port; do echo waiting for Kafka; sleep 2; done;" - env: {} - service: - type: ClusterIP - ports: - api: - name: http-api - externalPort: 80 - internalPort: 3007 - annotations: {} - - # This allows one to point the service to an external backend. - # This is useful for local development where one wishes to hijack - # the communication from the service to the node layer and point - # to a specific endpoint (IP, Port, etc). - external: - enabled: false - # 10.0.2.2 is the magic IP for the host on virtualbox's network - ip: 10.0.2.2 - ports: - api: - name: http-api - externalPort: 3007 - ingress: - enabled: true - ## @param ingress.pathType Ingress path type - ## - pathType: ImplementationSpecific - ## @param ingress.apiVersion Force Ingress API version (automatically detected if not set) - ## - apiVersion: - ## @param ingress.hostname Default host for the ingress record - ## - hostname: central-settlement-grosssettlement.local - ## @param servicePort : port for the service - ## - servicePort: 80 - ## @param ingress.path Default path for the ingress record - ## NOTE: You may need to set this to '/*' in order to use this with ALB ingress controllers - path: / - ## @param ingress.annotations Additional custom annotations for the ingress record - ## NOTE: If `ingress.certManager=true`, annotation `kubernetes.io/tls-acme: "true"` will automatically be added - ## - annotations: - ## @param ingress.tls Enable TLS configuration for the host defined at `ingress.hostname` parameter - ## TLS certificates will be retrieved from a TLS secret with name: `{{- printf "%s-tls" .Values.ingress.hostname }}` - ## You can: - ## - Use the `ingress.secrets` parameter to create this TLS secret - ## - Relay on cert-manager to create it by setting `ingress.certManager=true` - ## - Relay on Helm to create self-signed certificates by setting `ingress.selfSigned=true` - ## - tls: false - ## @param ingress.certManager Add the corresponding annotations for cert-manager integration - ## - certManager: false - ## @param ingress.selfSigned Create a TLS secret for this ingress record using self-signed certificates generated by Helm - ## - selfSigned: false - ## @param ingress.extraHosts An array with additional hostname(s) to be covered with the ingress record - ## e.g: - ## extraHosts: - ## - name: transfer-api-svc.local - ## path: / - ## - extraHosts: - extraPaths: - extraTls: - secrets: - className: "nginx" - ## - resources: {} - # We usually recommend not to specify default resources and to leave this as a conscious - # choice for the user. This also increases chances charts run on environments with little - # resources, such as Minikube. If you do want to specify resources, uncomment the following - # lines, adjust them as necessary, and remove the curly braces after 'resources:'. - # limits: - # cpu: 100m - # memory: 128Mi - # requests: - # cpu: 100m - # memory: 128Mi - - centraleventprocessor: - replicaCount: 1 - image: - repository: mojaloop/central-event-processor - tag: v12.0.0 - pullPolicy: IfNotPresent - init: - enabled: true - kafka: - name: wait-for-kafka - repository: solsson/kafka - tag: 2.8.1 - pullPolicy: IfNotPresent - command: "until ./bin/kafka-broker-api-versions.sh --bootstrap-server $kafka_host:$kafka_port; do echo waiting for Kafka; sleep 2; done;" - env: {} - ## Env example - # env: - # envItem1: - # name: hello - # value: world - # - mongodb: - name: wait-for-mongodb - repository: bitnami/mongodb - tag: 6.0.1 - pullPolicy: IfNotPresent - command: "mongosh mongodb://$mongo_host:$mongo_port --eval \"db.adminCommand('ping')\"" - - service: - name: central-event-processor - type: ClusterIP - externalPort: 80 - internalPort: 3080 - - annotations: {} - - # This allows one to point the service to an external backend. - # This is useful for local development where one wishes to hijack - # the communication from the service to the node layer and point - # to a specific endpoint (IP, Port, etc). - external: - enabled: false - # 10.0.2.2 is the magic IP for the host on virtualbox's network - ip: 10.0.2.2 - ports: - api: - name: central-event-processor - externalPort: 3080 - - readinessProbe: - enabled: true - httpGet: - path: /health - initialDelaySeconds: 30 - periodSeconds: 15 - - livenessProbe: - enabled: true - httpGet: - path: /health - initialDelaySeconds: 30 - periodSeconds: 15 - - ingress: - enabled: true - ## @param ingress.pathType Ingress path type - ## - pathType: ImplementationSpecific - ## @param ingress.apiVersion Force Ingress API version (automatically detected if not set) - ## - apiVersion: - ## @param ingress.hostname Default host for the ingress record - ## - hostname: central-event-processor.local - ## @param servicePort : port for the service - ## - servicePort: 80 - ## @param ingress.path Default path for the ingress record - ## NOTE: You may need to set this to '/*' in order to use this with ALB ingress controllers - path: / - ## @param ingress.annotations Additional custom annotations for the ingress record - ## NOTE: If `ingress.certManager=true`, annotation `kubernetes.io/tls-acme: "true"` will automatically be added - ## - annotations: - ## @param ingress.tls Enable TLS configuration for the host defined at `ingress.hostname` parameter - ## TLS certificates will be retrieved from a TLS secret with name: `{{- printf "%s-tls" .Values.ingress.hostname }}` - ## You can: - ## - Use the `ingress.secrets` parameter to create this TLS secret - ## - Relay on cert-manager to create it by setting `ingress.certManager=true` - ## - Relay on Helm to create self-signed certificates by setting `ingress.selfSigned=true` - ## - tls: false - ## @param ingress.certManager Add the corresponding annotations for cert-manager integration - ## - certManager: false - ## @param ingress.selfSigned Create a TLS secret for this ingress record using self-signed certificates generated by Helm - ## - selfSigned: false - ## @param ingress.extraHosts An array with additional hostname(s) to be covered with the ingress record - ## e.g: - ## extraHosts: - ## - name: transfer-api-svc.local - ## path: / - ## - extraHosts: - extraPaths: - extraTls: - secrets: - className: "nginx" - ## - - resources: {} - # We usually recommend not to specify default resources and to leave this as a conscious - # choice for the user. This also increases chances charts run on environments with little - # resources, such as Minikube. If you do want to specify resources, uncomment the following - # lines, adjust them as necessary, and remove the curly braces after 'resources:'. - # limits: - # cpu: 100m - # memory: 128Mi - # requests: - # cpu: 100m - # memory: 128Mi - - config: - ## Kafka Configuration - # this can be set if the dependency chart for kafka is disabled. If 'kafka_host' is commented out, then the name of the dependency chart will be used. - kafka_host: '$release_name-kafka' - kafka_port: 9092 - PORT: 3080 - mongo_host: '$release_name-cep-mongodb' - mongo_port: 27017 - mongo_user: mojaloop - mongo_password: password - mongo_database: mojaloop - central_ledger_admin_host: '$release_name-centralledger-service' - central_ledger_admin_port: 80 - hub_participant: - name: Hub - log_level: info - log_transport: file - - mongodb: - enabled: true - ## @param nameOverride String to partially override mongodb.fullname template (will maintain the release name) - ## - nameOverride: cep-mongodb - ## @param architecture MongoDB(®) architecture (`standalone` or `replicaset`) - ## - architecture: standalone - ## @param useStatefulSet Set to true to use a StatefulSet instead of a Deployment (only when `architecture=standalone`) - ## - useStatefulSet: false - ## MongoDB(®) Authentication parameters - ## - auth: - ## @param auth.enabled Enable authentication - ## ref: https://docs.mongodb.com/manual/tutorial/enable-authentication/ - ## - enabled: true - ## @param auth.rootUser MongoDB(®) root user - ## - rootUser: root - ## @param auth.rootPassword MongoDB(®) root password - ## ref: https://github.com/bitnami/bitnami-docker-mongodb/blob/master/README.md#setting-the-root-password-on-first-run - ## - rootPassword: adminpass - ## MongoDB(®) custom users and databases - ## ref: https://github.com/bitnami/bitnami-docker-mongodb/blob/master/README.md#creating-users-and-databases-on-first-run - ## @param auth.usernames List of custom users to be created during the initialization - ## @param auth.passwords List of passwords for the custom users set at `auth.usernames` - ## @param auth.databases List of custom databases to be created during the initialization - ## - usernames: - - 'mojaloop' - passwords: - - 'password' - databases: - - 'mojaloop' - ## @param auth.replicaSetKey Key used for authentication in the replicaset (only when `architecture=replicaset`) - ## - replicaSetKey: "" - ## @param auth.existingSecret Existing secret with MongoDB(®) credentials (keys: `mongodb-passwords`, `mongodb-root-password`, `mongodb-metrics-password`, ` mongodb-replica-set-key`) - ## NOTE: When it's set the previous parameters are ignored. - ## - existingSecret: "" - tls: - ## @param tls.enabled Enable MongoDB(®) TLS support between nodes in the cluster as well as between mongo clients and nodes - ## - enabled: false - ## @param tls.autoGenerated Generate a custom CA and self-signed certificates - ## - autoGenerated: true - ## @param tls.existingSecret Existing secret with TLS certificates (keys: `mongodb-ca-cert`, `mongodb-ca-key`, `client-pem`) - ## NOTE: When it's set it will disable certificate creation - ## - existingSecret: "" - ## Add Custom CA certificate - ## @param tls.caCert Custom CA certificated (base64 encoded) - ## @param tls.caKey CA certificate private key (base64 encoded) - ## - caCert: "" - caKey: "" - -ml-api-adapter: - enabled: true - - ml-api-adapter-service: - enabled: true - # Default values for ml-api-adapter. - # This is a YAML-formatted file. - # Declare variables to be passed into your templates. - replicaCount: 1 - image: - repository: mojaloop/ml-api-adapter - tag: v14.0.0 - command: '["node", "src/api/index.js"]' - ## Optionally specify an array of imagePullSecrets. - ## Secrets must be manually created in the namespace. - ## ref: https://kubernetes.io/docs/concepts/containers/images/#specifying-imagepullsecrets-on-a-pod - ## - # imagePullSecrets: - # - name: myregistrykey - pullPolicy: IfNotPresent - - ## Pod scheduling preferences. - ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity - affinity: {} - - ## Node labels for pod assignment - ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector - nodeSelector: {} - - ## Set toleration for scheduler - ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ - tolerations: [] - - sidecar: - enabled: true - image: - repository: mojaloop/event-sidecar - tag: v12.0.0 - pullPolicy: IfNotPresent - readinessProbe: - enabled: true - initialDelaySeconds: 120 - periodSeconds: 15 - livenessProbe: - enabled: true - initialDelaySeconds: 90 - periodSeconds: 15 - config: - log_level: info - - init: - enabled: true - image: - name: wait-for-kafka - repository: solsson/kafka - tag: 2.8.1 - pullPolicy: IfNotPresent - command: "until ./bin/kafka-broker-api-versions.sh --bootstrap-server $kafka_host:$kafka_port; do echo waiting for Kafka; sleep 2; done;" - env: {} - ## Env example - # env: - # envItem1: - # name: hello - # value: world - # - - ## metric configuration for prometheus instrumentation - metrics: - ## flag to enable/disable the metrics end-points - enabled: true - - config: - # this can be set if the dependency chart for kafka is disabled. If 'kafka_host' is commented out, then the name of the dependency chart will be used. - kafka_host: '$release_name-kafka' - kafka_port: 9092 - central_services_host: '$release_name-centralledger-service' - central_services_port: 80 - security: - callback: - rejectUnauthorized: true - max_callback_time_lag_dilation_milliseconds: 100 - max_fulfil_timeout_duration_seconds: 240 - - # Protocol versions used for validating (VALIDATELIST) incoming FSPIOP API Headers (Content-type, Accept), - # and for generating requests/callbacks from the Switch itself (DEFAULT value) - protocol_versions: { - "CONTENT": { - "DEFAULT": "1.1", - "VALIDATELIST": [ - "1", - "1.0", - "1.1" - ] - }, - "ACCEPT": { - "DEFAULT": "1", - "VALIDATELIST": [ - "1", - "1.0", - "1.1" - ] - } -} - ## Log Configuration - log_level: info - log_filter: 'error, warn, info' - log_transport: file - - ## Tracing Configuration - event_trace_vendor: mojaloop - event_log_filter: 'audit:*, log:warn, log:error' - # If set to true, only the metadata object from the event will be printed. - event_log_metadata_only: false - # A comma-separated list of events that should return immediately instead of waiting for the event promises to resolve - # Any combination of: `log,audit,trace` - event_async_override: 'log,trace' - - ## Error handling Configuration - error_handling: - include_cause_extension: false - truncate_extensions: true - - service: - type: ClusterIP - externalPort: 80 - internalPort: 3000 - - ingress: - enabled: true - ## @param ingress.pathType Ingress path type - ## - pathType: ImplementationSpecific - ## @param ingress.apiVersion Force Ingress API version (automatically detected if not set) - ## - apiVersion: - ## @param ingress.hostname Default host for the ingress record - ## - hostname: ml-api-adapter.local - ## @param servicePort : port for the service - ## - servicePort: 80 - ## @param ingress.path Default path for the ingress record - ## NOTE: You may need to set this to '/*' in order to use this with ALB ingress controllers - path: / - ## @param ingress.annotations Additional custom annotations for the ingress record - ## NOTE: If `ingress.certManager=true`, annotation `kubernetes.io/tls-acme: "true"` will automatically be added - ## - annotations: - ## @param ingress.tls Enable TLS configuration for the host defined at `ingress.hostname` parameter - ## TLS certificates will be retrieved from a TLS secret with name: `{{- printf "%s-tls" .Values.ingress.hostname }}` - ## You can: - ## - Use the `ingress.secrets` parameter to create this TLS secret - ## - Relay on cert-manager to create it by setting `ingress.certManager=true` - ## - Relay on Helm to create self-signed certificates by setting `ingress.selfSigned=true` - ## - tls: false - ## @param ingress.certManager Add the corresponding annotations for cert-manager integration - ## - certManager: false - ## @param ingress.selfSigned Create a TLS secret for this ingress record using self-signed certificates generated by Helm - ## - selfSigned: false - ## @param ingress.extraHosts An array with additional hostname(s) to be covered with the ingress record - ## e.g: - ## extraHosts: - ## - name: transfer-api-svc.local - ## path: / - ## - extraHosts: - extraPaths: - extraTls: - secrets: - className: "nginx" - ## - resources: {} - # We usually recommend not to specify default resources and to leave this as a conscious - # choice for the user. This also increases chances charts run on environments with little - # resources, such as Minikube. If you do want to specify resources, uncomment the following - # lines, adjust them as necessary, and remove the curly braces after 'resources:'. - # limits: - # cpu: 100m - # memory: 128Mi - # requests: - # cpu: 100m - # memory: 128Mi - - ml-api-adapter-handler-notification: - enabled: true - # Default values for ml-api-adapter. - # This is a YAML-formatted file. - # Declare variables to be passed into your templates. - replicaCount: 1 - image: - repository: mojaloop/ml-api-adapter - tag: v14.0.0 - command: '["node", "src/handlers/index.js", "handler", "--notification"]' - ## Optionally specify an array of imagePullSecrets. - ## Secrets must be manually created in the namespace. - ## ref: https://kubernetes.io/docs/concepts/containers/images/#specifying-imagepullsecrets-on-a-pod - ## - # imagePullSecrets: - # - name: myregistrykey - pullPolicy: IfNotPresent - - ## Pod scheduling preferences. - ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity - affinity: {} - - ## Node labels for pod assignment - ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector - nodeSelector: {} - - ## Set toleration for scheduler - ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ - tolerations: [] - - sidecar: - enabled: true - image: - repository: mojaloop/event-sidecar - tag: v12.0.0 - pullPolicy: IfNotPresent - readinessProbe: - enabled: true - initialDelaySeconds: 120 - periodSeconds: 15 - livenessProbe: - enabled: true - initialDelaySeconds: 90 - periodSeconds: 15 - config: - log_level: info - - init: - enabled: true - - ## metric configuration for prometheus instrumentation - metrics: - ## flag to enable/disable the metrics end-points - enabled: true - - config: - # this can be set if the dependency chart for kafka is disabled. If 'kafka_host' is commented out, then the name of the dependency chart will be used. - kafka_host: '$release_name-kafka' - kafka_port: 9092 - central_services_host: '$release_name-centralledger-service' - central_services_port: 80 - security: - callback: - rejectUnauthorized: true - max_callback_time_lag_dilation_milliseconds: 100 - max_fulfil_timeout_duration_seconds: 240 - - # Protocol versions used for validating (VALIDATELIST) incoming FSPIOP API Headers (Content-type, Accept), - # and for generating requests/callbacks from the Switch itself (DEFAULT value) - protocol_versions: { - "CONTENT": { - "DEFAULT": "1.1", - "VALIDATELIST": [ - "1", - "1.0", - "1.1" - ] - }, - "ACCEPT": { - "DEFAULT": "1", - "VALIDATELIST": [ - "1", - "1.0", - "1.1" - ] - } -} - ## Endpoint Cache Configuration - endpoint_cache_expiresInMs: 180000 - endpoint_cache_generateTimeoutMs: 30000 - - ## Send callback confirmation to PayeeFSP in addition to the Mojaloop v1.0 Spec Callback to PayerFSP - send_transfer_confirmation_to_payee: false - - ## Log Configuration - log_level: info - log_filter: 'error, warn, info' - log_transport: file - - ## Tracing Configuration - event_trace_vendor: mojaloop - event_log_filter: 'audit:*, log:warn, log:error' - # If set to true, only the metadata object from the event will be printed. - event_log_metadata_only: false - # A comma-separated list of events that should return immediately instead of waiting for the event promises to resolve - # Any combination of: `log,audit,trace` - event_async_override: 'log,trace' - - # Parameters for JWS signing requests generated by ml-api-adapter - endpointSecurity: - jwsSign: true - fspiopSourceSigningName: 'switch' - # jwsSigningKey: - # To generate this key: - # Private: - # ssh-keygen -t rsa -b 4096 -m PEM -f jwtRS256.key - # Public: - # openssl rsa -in jwtRS256.key -pubout -outform PEM -out jwtRS256.key.pub - # Should look like: - # -----BEGIN RSA PRIVATE KEY----- - # MIIJKQIBAAKCAgEAxfqaZivMPd4MpdBHu0jVMf3MSuSdkSMHn+sNJdDQfl+x4R5R - # .. - # .. - # mBynFpdjO0D3PnLKjnBDn1vFAfANOwVpGXCw5mn+484A/SIXYebWruFd03g4 - # -----END RSA PRIVATE KEY----- - # The following is an example key and shouldn't be used in production - jwsSigningKey: |- - -----BEGIN PRIVATE KEY----- - MIIEugIBADANBgkqhkiG9w0BAQEFAASCBKQwggSgAgEAAoIBAQDuB5HuHRH5BqI/ - VAC/ixm6lz8kJmigIB5jMxLrhB9cgqM+pb0O+is88VRHdxtw8eKG3nvrZYy/4nsJ - z32qo4sOIMqHWTlZgbURVK4FAUEZ/qn63UnXJ1YVqT4UGg31BBj2c1JdlxG2t4JV - DvzGrI2/ia/t4gYZCWrQz6a8OClBIaXu2t6EGFnysyS+1YDWtNIHO+z0lvAY9oad - 5MZPHN51o04eIoLO0tPfkz0+NDs4ECwUWuFAg8yo1hxnvSoERiCAwEbFgq2wDe1+ - oBhOpusd4VastD/TEqO8RhrwTodddOMKzapJPrQJuvTkrpkmkPOGE8DgIVHsULLR - UYEMKvTVAgMBAAECgf94Meq77xrcFg8sSqe5eNHYP39tvaWyqE7mY/slvpNDH5Pl - D/p21akS156E32BEJuYPk/TLiI2kMWjnvbHvNgr9tq8x3ToyTjtrg5clq8Hr1Ozo - FnFiqkVHMFPFPQZEVU64CQPA33DixuWjMWS3YINfCAinErBry0PiNZGmuFi1K/wy - e1z2F9WfG3IEBEe3NaeXwN55ZPJve0LtneJy3YqNwMg2FpPKBRHFV4lKTaU/hqhC - NK6HQoEXN4Y9AQHn53Fl8n0iNO3qx0Tb7EuGNFmZ2xTlpDKAp8M+BA5Qm5YDkbd6 - OoxbGj2YxZncbG+RsvICtVMLqIytubvYREY9WGkCgYEA+K64xhJzWV3cGc8/90ko - TryGMBj1ly5TNa1YyOQxl5z4Glc0aI8a+1vJGEAA+c/OEhMR8MRn3+QfV2LJOI5X - V8Zo2Ger6Ln99LBddTh2HXL3M60cMgs8MYGuJ75g5R/UHnJBLo7NFyVddCOMT3hc - AYSDN3XCw9ycqTw2/mJHB9kCgYEA9QiaCfTtnXdjMqLeYbp2uQEyyO6IZs956ym7 - sEQMwx/3wnlE9eiJ6iQxZfddkfOCyV/4MMAlYfpTBQFg7Cwb32Xrv3Ezy0HfZrnt - 5Nj4SVQWuOXJhdfC9dmTF+cvBeP+vC6PyDbikxdCo9+05chxS7I3MLxCue4qxy0C - QfQIE10CgYA+kHacHng2u45sT9/f7t/dL0DzSNRAvL7iekIkCIURh8RDnDzrMVWw - d18YYsHcF5PYqEOTN1aK1XGtIoVNXUJMKvaluy9c1a42qUhZ/WJ59jqLHbpCPOFf - 8yhFh3gJLQDIyCXt+K9Qa24fkfHy7Gz5VMVOZqohbJddXHDZfxAvwQKBgAdU947+ - tjF1BhHYz8Cq3KySfZuHj6tL4AEKYaRXlO4twbMe/9I/4AiShqvfZ/xbBfnSllGX - Hkc9P0iyDt1iQH9BxHkZAQy+7tlbDORBHcTL8FYeAhawKxRCK2WWtFB/zvqAhire - gY8XLhZLNlV91u4F6iLaL0DzAHKvRRcGH0u9AoGATNigZgbRRHJC21JucHeE0tP7 - HjGALvb4qn1o0oDHsxNY8i6vVNw9YeQpZaJhceuRHJTGcsq2dJSXpYwIhIVs/8RK - bKbkEndra96L6FRZN8LYBl8zbRUPx39ojGeSbFliQv1eaoA/1DDhCiC2NlcSmbJl - ecaG/Oyo/S+eM8nR7mc= - -----END PRIVATE KEY----- - - ## Error handling Configuration - error_handling: - include_cause_extension: false - truncate_extensions: true - - service: - type: ClusterIP - externalPort: 80 - internalPort: 3000 - - ingress: - enabled: true - ## @param ingress.pathType Ingress path type - ## - pathType: ImplementationSpecific - ## @param ingress.apiVersion Force Ingress API version (automatically detected if not set) - ## - apiVersion: - ## @param ingress.hostname Default host for the ingress record - ## - hostname: ml-api-adapter-notification.local - ## @param servicePort : port for the service - ## - servicePort: 80 - ## @param ingress.path Default path for the ingress record - ## NOTE: You may need to set this to '/*' in order to use this with ALB ingress controllers - path: / - ## @param ingress.annotations Additional custom annotations for the ingress record - ## NOTE: If `ingress.certManager=true`, annotation `kubernetes.io/tls-acme: "true"` will automatically be added - ## - annotations: - ## @param ingress.tls Enable TLS configuration for the host defined at `ingress.hostname` parameter - ## TLS certificates will be retrieved from a TLS secret with name: `{{- printf "%s-tls" .Values.ingress.hostname }}` - ## You can: - ## - Use the `ingress.secrets` parameter to create this TLS secret - ## - Relay on cert-manager to create it by setting `ingress.certManager=true` - ## - Relay on Helm to create self-signed certificates by setting `ingress.selfSigned=true` - ## - tls: false - ## @param ingress.certManager Add the corresponding annotations for cert-manager integration - ## - certManager: false - ## @param ingress.selfSigned Create a TLS secret for this ingress record using self-signed certificates generated by Helm - ## - selfSigned: false - ## @param ingress.extraHosts An array with additional hostname(s) to be covered with the ingress record - ## e.g: - ## extraHosts: - ## - name: transfer-api-svc.local - ## path: / - ## - extraHosts: - extraPaths: - extraTls: - secrets: - className: "nginx" - ## - resources: {} - # We usually recommend not to specify default resources and to leave this as a conscious - # choice for the user. This also increases chances charts run on environments with little - # resources, such as Minikube. If you do want to specify resources, uncomment the following - # lines, adjust them as necessary, and remove the curly braces after 'resources:'. - # limits: - # cpu: 100m - # memory: 128Mi - # requests: - # cpu: 100m - # memory: 128Mi - -emailnotifier: - enabled: false - replicaCount: 1 - - image: - repository: mojaloop/email-notifier - tag: v12.0.0 - pullPolicy: IfNotPresent - - init: - enabled: true - kafka: - name: wait-for-kafka - repository: solsson/kafka - tag: 2.8.1 - pullPolicy: IfNotPresent - command: "until ./bin/kafka-broker-api-versions.sh --bootstrap-server $kafka_host:$kafka_port; do echo waiting for Kafka; sleep 2; done;" - env: {} - ## Env example - # env: - # envItem1: - # name: hello - # value: world - - config: - ## Kafka Configuration - # this can be set if the dependency chart for kafka is disabled. If 'kafka_host' is commented out, then the name of the dependency chart will be used. - kafka_host: '$release_name-kafka' - kafka_port: 9092 - email: - host: 'smtp.gmail.com' - port: 587 - # secure_connection: false - user: 'user@gmail.com' - pass: 'pass' - ciphers: 'SSLv3' - PORT: 3081 - hub_participant: - name: Hub - log_level: 'info' - log_transport: 'file' - - service: - name: email-notifier - type: ClusterIP - externalPort: 80 - internalPort: 3081 - - annotations: {} - - # This allows one to point the service to an external backend. - # This is useful for local development where one wishes to hijack - # the communication from the service to the node layer and point - # to a specific endpoint (IP, Port, etc). - external: - enabled: false - # 10.0.2.2 is the magic IP for the host on virtualbox's network - ip: 10.0.2.2 - ports: - api: - name: email-notifier - externalPort: 3081 - - readinessProbe: - enabled: true - httpGet: - path: /health - initialDelaySeconds: 30 - periodSeconds: 15 - - livenessProbe: - enabled: true - httpGet: - path: /health - initialDelaySeconds: 30 - periodSeconds: 15 - - ingress: - enabled: true - ## @param ingress.pathType Ingress path type - ## - pathType: ImplementationSpecific - ## @param ingress.apiVersion Force Ingress API version (automatically detected if not set) - ## - apiVersion: - ## @param ingress.hostname Default host for the ingress record - ## - hostname: email-notifier.local - ## @param servicePort : port for the service - ## - servicePort: 80 - ## @param ingress.path Default path for the ingress record - ## NOTE: You may need to set this to '/*' in order to use this with ALB ingress controllers - path: / - ## @param ingress.annotations Additional custom annotations for the ingress record - ## NOTE: If `ingress.certManager=true`, annotation `kubernetes.io/tls-acme: "true"` will automatically be added - ## - annotations: - ## @param ingress.tls Enable TLS configuration for the host defined at `ingress.hostname` parameter - ## TLS certificates will be retrieved from a TLS secret with name: `{{- printf "%s-tls" .Values.ingress.hostname }}` - ## You can: - ## - Use the `ingress.secrets` parameter to create this TLS secret - ## - Relay on cert-manager to create it by setting `ingress.certManager=true` - ## - Relay on Helm to create self-signed certificates by setting `ingress.selfSigned=true` - ## - tls: false - ## @param ingress.certManager Add the corresponding annotations for cert-manager integration - ## - certManager: false - ## @param ingress.selfSigned Create a TLS secret for this ingress record using self-signed certificates generated by Helm - ## - selfSigned: false - ## @param ingress.extraHosts An array with additional hostname(s) to be covered with the ingress record - ## e.g: - ## extraHosts: - ## - name: transfer-api-svc.local - ## path: / - ## - extraHosts: - extraPaths: - extraTls: - secrets: - className: "nginx" - ## - - resources: {} - # We usually recommend not to specify default resources and to leave this as a conscious - # choice for the user. This also increases chances charts run on environments with little - # resources, such as Minikube. If you do want to specify resources, uncomment the following - # lines, adjust them as necessary, and remove the curly braces after 'resources:'. - # limits: - # cpu: 100m - # memory: 128Mi - # requests: - # cpu: 100m - # memory: 128Mi - -account-lookup-service: - enabled: true - - account-lookup-service: - enabled: true - # Default values for account-lookup-service. - # This is a YAML-formatted file. - # Declare variables to be passed into your templates. - - replicaCount: 1 - containers: - api: - image: - repository: mojaloop/account-lookup-service - tag: v14.0.0 - pullPolicy: IfNotPresent - command: '["node", "src/index.js", "server", "--api"]' - service: - ports: - api: - name: http-api - port: 4002 - admin: - image: - repository: mojaloop/account-lookup-service - tag: v14.0.0 - pullPolicy: IfNotPresent - command: '["node", "src/index.js", "server", "--admin"]' - service: - ports: - api: - name: http-admin - port: 4001 - - nameOverride: "" - fullnameOverride: "" - - sidecar: - enabled: true - image: - repository: mojaloop/event-sidecar - tag: v12.0.0 - pullPolicy: IfNotPresent - command: '["npm", "run", "start"]' - service: - internalPort: 4001 - readinessProbe: - enabled: true - httpGet: - path: /health - initialDelaySeconds: 120 - periodSeconds: 15 - livenessProbe: - enabled: true - httpGet: - path: /health - initialDelaySeconds: 90 - periodSeconds: 15 - config: - event_log_grpc_host: localhost - event_log_grpc_port: 50051 - event_log_filter: 'audit:*, log:info, log:warn, log:error' - event_log_metadata_only: true - log_level: info - log_filter: 'error, warn, info' - - ## metric configuration for prometheus instrumentation - metrics: - ## flag to enable/disable the metrics end-points - enabled: true - config: - timeout: 5000 - prefix: moja_ - defaultLabels: - serviceName: account-lookup-service - - config: - ## Central-Ledger config - central_services_host: '$release_name-centralledger-service' - central_services_port: 80 - - # Protocol versions used for validating (VALIDATELIST) incoming FSPIOP API Headers (Content-type, Accept), - # and for generating requests/callbacks from the Switch itself (DEFAULT value) - protocol_versions: { - "CONTENT": { - "DEFAULT": "1.1", - "VALIDATELIST": [ - "1", - "1.0", - "1.1" - ] - }, - "ACCEPT": { - "DEFAULT": "1", - "VALIDATELIST": [ - "1", - "1.0", - "1.1" - ] - } -} - # Log config - log_level: 'info' - log_transport: 'file' - - end_point_cache: - expiresIn: 180000 - generateTimeout: 30000 - - error_handling: - include_cause_extension: false - truncate_extensions: true - - ## DB Configuration - # db_type can either be 'postgres' or 'mysql'. Ensure the correct DB is enabled and configured below: postgresql.enabled or mysql.enabled - db_type: 'mysql' - # db_driver can either be 'pg' or 'mysql'. Ensure the correct corresponding db_type above has been set. - db_driver: 'mysql' - db_host: '$release_name-account-lookup-mysql' - db_port: 3306 - db_user: account_lookup - db_password: OdonPianoX - db_database: account_lookup - db_connection_pool_min: 10 - db_connection_pool_max: 30 - db_acquire_timeout_millis: 30000 - db_create_timeout_millis: 30000 - db_destroy_timeout_millis: 5000 - db_idle_timeout_millis: 30000 - db_reap_interval_millis: 1000 - db_create_retry_interval_millis: 200 - db_debug: false - display_routes: true - run_migrations: false - - endpointSecurity: - jwsSign: true - fspiopSourceSigningName: switch - # jwsSigningKey: - # To generate this key: - # Private: - # ssh-keygen -t rsa -b 4096 -m PEM -f jwtRS256.key - # Public: - # openssl rsa -in jwtRS256.key -pubout -outform PEM -out jwtRS256.key.pub - # Should look like: - # -----BEGIN RSA PRIVATE KEY----- - # MIIJKQIBAAKCAgEAxfqaZivMPd4MpdBHu0jVMf3MSuSdkSMHn+sNJdDQfl+x4R5R - # .. - # .. - # mBynFpdjO0D3PnLKjnBDn1vFAfANOwVpGXCw5mn+484A/SIXYebWruFd03g4 - # -----END RSA PRIVATE KEY----- - # The following is an example key and shouldn't be used in production - jwsSigningKey: |- - -----BEGIN PRIVATE KEY----- - MIIEugIBADANBgkqhkiG9w0BAQEFAASCBKQwggSgAgEAAoIBAQDuB5HuHRH5BqI/ - VAC/ixm6lz8kJmigIB5jMxLrhB9cgqM+pb0O+is88VRHdxtw8eKG3nvrZYy/4nsJ - z32qo4sOIMqHWTlZgbURVK4FAUEZ/qn63UnXJ1YVqT4UGg31BBj2c1JdlxG2t4JV - DvzGrI2/ia/t4gYZCWrQz6a8OClBIaXu2t6EGFnysyS+1YDWtNIHO+z0lvAY9oad - 5MZPHN51o04eIoLO0tPfkz0+NDs4ECwUWuFAg8yo1hxnvSoERiCAwEbFgq2wDe1+ - oBhOpusd4VastD/TEqO8RhrwTodddOMKzapJPrQJuvTkrpkmkPOGE8DgIVHsULLR - UYEMKvTVAgMBAAECgf94Meq77xrcFg8sSqe5eNHYP39tvaWyqE7mY/slvpNDH5Pl - D/p21akS156E32BEJuYPk/TLiI2kMWjnvbHvNgr9tq8x3ToyTjtrg5clq8Hr1Ozo - FnFiqkVHMFPFPQZEVU64CQPA33DixuWjMWS3YINfCAinErBry0PiNZGmuFi1K/wy - e1z2F9WfG3IEBEe3NaeXwN55ZPJve0LtneJy3YqNwMg2FpPKBRHFV4lKTaU/hqhC - NK6HQoEXN4Y9AQHn53Fl8n0iNO3qx0Tb7EuGNFmZ2xTlpDKAp8M+BA5Qm5YDkbd6 - OoxbGj2YxZncbG+RsvICtVMLqIytubvYREY9WGkCgYEA+K64xhJzWV3cGc8/90ko - TryGMBj1ly5TNa1YyOQxl5z4Glc0aI8a+1vJGEAA+c/OEhMR8MRn3+QfV2LJOI5X - V8Zo2Ger6Ln99LBddTh2HXL3M60cMgs8MYGuJ75g5R/UHnJBLo7NFyVddCOMT3hc - AYSDN3XCw9ycqTw2/mJHB9kCgYEA9QiaCfTtnXdjMqLeYbp2uQEyyO6IZs956ym7 - sEQMwx/3wnlE9eiJ6iQxZfddkfOCyV/4MMAlYfpTBQFg7Cwb32Xrv3Ezy0HfZrnt - 5Nj4SVQWuOXJhdfC9dmTF+cvBeP+vC6PyDbikxdCo9+05chxS7I3MLxCue4qxy0C - QfQIE10CgYA+kHacHng2u45sT9/f7t/dL0DzSNRAvL7iekIkCIURh8RDnDzrMVWw - d18YYsHcF5PYqEOTN1aK1XGtIoVNXUJMKvaluy9c1a42qUhZ/WJ59jqLHbpCPOFf - 8yhFh3gJLQDIyCXt+K9Qa24fkfHy7Gz5VMVOZqohbJddXHDZfxAvwQKBgAdU947+ - tjF1BhHYz8Cq3KySfZuHj6tL4AEKYaRXlO4twbMe/9I/4AiShqvfZ/xbBfnSllGX - Hkc9P0iyDt1iQH9BxHkZAQy+7tlbDORBHcTL8FYeAhawKxRCK2WWtFB/zvqAhire - gY8XLhZLNlV91u4F6iLaL0DzAHKvRRcGH0u9AoGATNigZgbRRHJC21JucHeE0tP7 - HjGALvb4qn1o0oDHsxNY8i6vVNw9YeQpZaJhceuRHJTGcsq2dJSXpYwIhIVs/8RK - bKbkEndra96L6FRZN8LYBl8zbRUPx39ojGeSbFliQv1eaoA/1DDhCiC2NlcSmbJl - ecaG/Oyo/S+eM8nR7mc= - -----END PRIVATE KEY----- - - # Thirdparty API Config - featureEnableExtendedPartyIdType: false - - init: - enabled: true - mysql: - enabled: true - name: wait-for-mysql - repository: mysql - tag: 8.0.30 - pullPolicy: IfNotPresent - command: "until mysql -h $db_host -P $db_port -u $db_user --password=$db_password $db_database -e 'select * from oracleEndpoint;' ; do echo waiting for MySQL; sleep 2; done;" - - service: - type: ClusterIP - port: 80 - - ingress: - enabled: true - ## @param ingress.pathType Ingress path type - ## - pathType: ImplementationSpecific - ## @param ingress.apiVersion Force Ingress API version (automatically detected if not set) - ## - apiVersion: - ## @param ingress.hostname Default host for the ingress record - ## - hostname: account-lookup-service.local - ## @param servicePort : port for the service - ## - servicePort: 4002 - ## @param ingress.path Default path for the ingress record - ## NOTE: You may need to set this to '/*' in order to use this with ALB ingress controllers - path: / - ## @param ingress.annotations Additional custom annotations for the ingress record - ## NOTE: If `ingress.certManager=true`, annotation `kubernetes.io/tls-acme: "true"` will automatically be added - ## - annotations: - ## @param ingress.tls Enable TLS configuration for the host defined at `ingress.hostname` parameter - ## TLS certificates will be retrieved from a TLS secret with name: `{{- printf "%s-tls" .Values.ingress.hostname }}` - ## You can: - ## - Use the `ingress.secrets` parameter to create this TLS secret - ## - Relay on cert-manager to create it by setting `ingress.certManager=true` - ## - Relay on Helm to create self-signed certificates by setting `ingress.selfSigned=true` - ## - tls: false - ## @param ingress.certManager Add the corresponding annotations for cert-manager integration - ## - certManager: false - ## @param ingress.selfSigned Create a TLS secret for this ingress record using self-signed certificates generated by Helm - ## - selfSigned: false - ## @param ingress.extraHosts An array with additional hostname(s) to be covered with the ingress record - ## e.g: - ## extraHosts: - ## - name: transfer-api-svc.local - ## path: / - ## - extraHosts: - extraPaths: - extraTls: - secrets: - className: "nginx" - ## - # - secretName: chart-example-tls - # hosts: - # - chart-example.local - - resources: {} - # We usually recommend not to specify default resources and to leave this as a conscious - # choice for the user. This also increases chances charts run on environments with little - # resources, such as Minikube. If you do want to specify resources, uncomment the following - # lines, adjust them as necessary, and remove the curly braces after 'resources:'. - # limits: - # cpu: 100m - # memory: 128Mi - # requests: - # cpu: 100m - # memory: 128Mi - - nodeSelector: {} - - tolerations: [] - - affinity: {} - - account-lookup-service-admin: - enabled: true - - # Default values for account-lookup-service. - # This is a YAML-formatted file. - # Declare variables to be passed into your templates. - - replicaCount: 1 - containers: - api: - image: - repository: mojaloop/account-lookup-service - tag: v14.0.0 - pullPolicy: IfNotPresent - command: '["node", "src/index.js", "server", "--api"]' - service: - ports: - api: - name: http-api - port: 4002 - admin: - image: - repository: mojaloop/account-lookup-service - tag: v14.0.0 - pullPolicy: IfNotPresent - command: '["node", "src/index.js", "server", "--admin"]' - service: - ports: - api: - name: http-admin - port: 4001 - - nameOverride: "" - fullnameOverride: "" - - sidecar: - enabled: true - image: - repository: mojaloop/event-sidecar - tag: v12.0.0 - pullPolicy: IfNotPresent - command: '["npm", "run", "start"]' - service: - internalPort: 4003 - readinessProbe: - enabled: true - httpGet: - path: /health - initialDelaySeconds: 120 - periodSeconds: 15 - livenessProbe: - enabled: true - httpGet: - path: /health - initialDelaySeconds: 90 - periodSeconds: 15 - config: - event_log_grpc_host: localhost - event_log_grpc_port: 50051 - event_log_filter: 'audit:*, log:info, log:warn, log:error' - event_log_metadata_only: true - log_level: info - log_filter: 'error, warn, info' - - ## metric configuration for prometheus instrumentation - metrics: - ## flag to enable/disable the metrics end-points - enabled: true - config: - timeout: 5000 - prefix: moja_ - defaultLabels: - serviceName: account-lookup-service-admin - - config: - ## Central-Ledger config - central_services_host: '$release_name-centralledger-service' - central_services_port: 80 - - # Protocol versions used for validating (VALIDATELIST) incoming FSPIOP API Headers (Content-type, Accept), - # and for generating requests/callbacks from the Switch itself (DEFAULT value) - protocol_versions: { - "CONTENT": { - "DEFAULT": "1.1", - "VALIDATELIST": [ - "1", - "1.0", - "1.1" - ] - }, - "ACCEPT": { - "DEFAULT": "1", - "VALIDATELIST": [ - "1", - "1.0", - "1.1" - ] - } -} - end_point_cache: - expiresIn: 180000 - generateTimeout: 30000 - - error_handling: - include_cause_extension: false - truncate_extensions: true - - ## DB Configuration - # db_type can either be 'postgres' or 'mysql'. Ensure the correct DB is enabled and configured below: postgresql.enabled or mysql.enabled - db_type: 'mysql' - # db_driver can either be 'pg' or 'mysql'. Ensure the correct corresponding db_type above has been set. - db_driver: 'mysql' - db_host: '$release_name-account-lookup-mysql' - db_port: 3306 - db_user: account_lookup - db_password: OdonPianoX - db_database: account_lookup - db_connection_pool_min: 10 - db_connection_pool_max: 30 - db_acquire_timeout_millis: 30000 - db_create_timeout_millis: 30000 - db_destroy_timeout_millis: 5000 - db_idle_timeout_millis: 30000 - db_reap_interval_millis: 1000 - db_create_retry_interval_millis: 200 - db_debug: false - - endpointSecurity: - jwsSign: false - fspiopSourceSigningName: switch - # jwsSigningKey: - # To generate this key: - # Private: - # ssh-keygen -t rsa -b 4096 -m PEM -f jwtRS256.key - # Public: - # openssl rsa -in jwtRS256.key -pubout -outform PEM -out jwtRS256.key.pub - # Should look like: - # -----BEGIN RSA PRIVATE KEY----- - # MIIJKQIBAAKCAgEAxfqaZivMPd4MpdBHu0jVMf3MSuSdkSMHn+sNJdDQfl+x4R5R - # .. - # .. - # mBynFpdjO0D3PnLKjnBDn1vFAfANOwVpGXCw5mn+484A/SIXYebWruFd03g4 - # -----END RSA PRIVATE KEY----- - # The following is an example key and shouldn't be used in production - jwsSigningKey: - # To generate this key: - # Private: - # ssh-keygen -t rsa -b 4096 -m PEM -f jwtRS256.key - # Public: - # openssl rsa -in jwtRS256.key -pubout -outform PEM -out jwtRS256.key.pub - # Should look like: - # -----BEGIN RSA PRIVATE KEY----- - # MIIJKQIBAAKCAgEAxfqaZivMPd4MpdBHu0jVMf3MSuSdkSMHn+sNJdDQfl+x4R5R - # .. - # .. - # mBynFpdjO0D3PnLKjnBDn1vFAfANOwVpGXCw5mn+484A/SIXYebWruFd03g4 - # -----END RSA PRIVATE KEY----- - - - display_routes: true - run_migrations: false - - # Log config - log_level: 'info' - log_transport: 'file' - - # Thirdparty API Config - featureEnableExtendedPartyIdType: false - - init: - enabled: true - mysql: - name: wait-for-mysql - repository: mysql - tag: 8.0.30 - pullPolicy: IfNotPresent - command: "until mysql -h $db_host -P $db_port -u $db_user --password=$db_password $db_database -e 'select version()' ; do echo waiting for MySQL; sleep 2; done;" - - service: - type: ClusterIP - port: 80 - - ingress: - enabled: true - ## @param ingress.pathType Ingress path type - ## - pathType: ImplementationSpecific - ## @param ingress.apiVersion Force Ingress API version (automatically detected if not set) - ## - apiVersion: - ## @param ingress.hostname Default host for the ingress record - ## - hostname: account-lookup-service-admin.local - ## @param servicePort : port for the service - ## - servicePort: 4002 - ## @param ingress.path Default path for the ingress record - ## NOTE: You may need to set this to '/*' in order to use this with ALB ingress controllers - path: / - ## @param ingress.annotations Additional custom annotations for the ingress record - ## NOTE: If `ingress.certManager=true`, annotation `kubernetes.io/tls-acme: "true"` will automatically be added - ## - annotations: - ## @param ingress.tls Enable TLS configuration for the host defined at `ingress.hostname` parameter - ## TLS certificates will be retrieved from a TLS secret with name: `{{- printf "%s-tls" .Values.ingress.hostname }}` - ## You can: - ## - Use the `ingress.secrets` parameter to create this TLS secret - ## - Relay on cert-manager to create it by setting `ingress.certManager=true` - ## - Relay on Helm to create self-signed certificates by setting `ingress.selfSigned=true` - ## - tls: false - ## @param ingress.certManager Add the corresponding annotations for cert-manager integration - ## - certManager: false - ## @param ingress.selfSigned Create a TLS secret for this ingress record using self-signed certificates generated by Helm - ## - selfSigned: false - ## @param ingress.extraHosts An array with additional hostname(s) to be covered with the ingress record - ## e.g: - ## extraHosts: - ## - name: transfer-api-svc.local - ## path: / - ## - extraHosts: - extraPaths: - extraTls: - secrets: - className: "nginx" - ## - # - secretName: chart-example-tls - # hosts: - # - chart-example.local - - resources: {} - # We usually recommend not to specify default resources and to leave this as a conscious - # choice for the user. This also increases chances charts run on environments with little - # resources, such as Minikube. If you do want to specify resources, uncomment the following - # lines, adjust them as necessary, and remove the curly braces after 'resources:'. - # limits: - # cpu: 100m - # memory: 128Mi - # requests: - # cpu: 100m - # memory: 128Mi - - nodeSelector: {} - - tolerations: [] - - affinity: {} - - als-oracle-pathfinder: - enabled: false - # Declare variables to be passed into your templates. - replicaCount: 1 - image: - repository: mojaloop/als-oracle-pathfinder - tag: v12.0.0 - pullPolicy: IfNotPresent - command: '["node", "/opt/app/src/index.js"]' - imagePullSecrets: [] - - readinessProbe: - enabled: true - httpGet: - path: / - initialDelaySeconds: 45 - periodSeconds: 15 - - livenessProbe: - enabled: true - httpGet: - path: / - initialDelaySeconds: 45 - periodSeconds: 15 - - config: - db: - type: 'mysql' - driver: 'mysql' - central_ledger: - host: '$release_name-centralledger-mysql' - port: '3306' - database: 'central_ledger' - user: 'central_ledger' - password: 'oyMxgZChuu' - account_lookup: - host: '$release_name-account-lookup-mysql' - port: '3306' - database: 'account_lookup' - user: 'account_lookup' - password: 'OdonPianoX' - log_level: 'info' - - pathfinder: - # Example host IP to be replaced by valid IP - host: 'localhost' - port: 7007 - queryTimeoutMs: 10000 - tls: - certs: - # These are example keys, please get valid keys for your deployment - client_cert: |- - -----BEGIN CERTIFICATE----- - MIIDejCCAmICCQClh6JWji+/NjANBgkqhkiG9w0BAQsFADB/MQswCQYDVQQGEwJV - UzEQMA4GA1UECAwHQWxhYmFtYTETMBEGA1UEBwwKTW9udGdvbWVyeTENMAsGA1UE - CgwEVGVzdDENMAsGA1UECwwEVGVzdDENMAsGA1UEAwwEVGVzdDEcMBoGCSqGSIb3 - DQEJARYNdGVzdEB0ZXN0LmNvbTAeFw0xOTEwMjkxNTMwNTFaFw0yOTEwMjYxNTMw - NTFaMH8xCzAJBgNVBAYTAlVTMRAwDgYDVQQIDAdBbGFiYW1hMRMwEQYDVQQHDApN - b250Z29tZXJ5MQ0wCwYDVQQKDARUZXN0MQ0wCwYDVQQLDARUZXN0MQ0wCwYDVQQD - DARUZXN0MRwwGgYJKoZIhvcNAQkBFg10ZXN0QHRlc3QuY29tMIIBIjANBgkqhkiG - 9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4MU4ipis7vrhsJl6Ad0hIF/nEGjTPG/6KliG - E1eaAVxOc/Pgw43quKjt846Aqwd9YoMp2NAx74xvZ4OnbMwSpjDQGRQbMY7Hiubs - UiJMqrst6S5AQqPHJoaErknVjRov0NyAUjia3HThtkqrRT52xTnTGYwc49zt+BKo - G4iurv40hfOTe4b7g3A64CVNEZe7t+qPbAIew9MU1X3OD3D0hzKZ8MstqebLbSPV - IflnzU+8Acg4mrMvSdf6OOveUUbf7r4QmfC9AerNVia/GcAvbG/GU+WEOnJfp+8X - Av+gfS0aM2pUbdrXLi/NxWnvw6bh8e+pjbBcli8roWmroRbFPwIDAQABMA0GCSqG - SIb3DQEBCwUAA4IBAQApH4oz7CWXzor91aU7bcdD5Ec/Z5QNDKXVrBcF5r+g83yz - bBphZrvDq+wOVigQ/JfmuAzRtK05WIpvxd22kvsKrDoViG9B+x+wDQm0tP0vY1Cp - EChdJLE1tAktRL49r8pzpOaUU7NrhYLP1tWrDDsCC3fPUwZzx9quem0xSYmC0BpT - Ug+hxw3uH7bsGhQkQnGrAoEwrsyq8M3lbw0pIUvq2S7t8lpHZvM5Ldkp5DM7SlJg - gBabAqScAeoqssFv4bsWINawn/7JvmFEb4kwep6pIf9Lh/rkCgsgyq2xEh/9LXNs - eCgyt9zbdU2HwsWnoOUEJ0Z4157ykgOkECCGErKl - -----END CERTIFICATE----- - client_key: |- - -----BEGIN PRIVATE KEY----- - MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDgxTiKmKzu+uGw - mXoB3SEgX+cQaNM8b/oqWIYTV5oBXE5z8+DDjeq4qO3zjoCrB31igynY0DHvjG9n - g6dszBKmMNAZFBsxjseK5uxSIkyquy3pLkBCo8cmhoSuSdWNGi/Q3IBSOJrcdOG2 - SqtFPnbFOdMZjBzj3O34EqgbiK6u/jSF85N7hvuDcDrgJU0Rl7u36o9sAh7D0xTV - fc4PcPSHMpnwyy2p5sttI9Uh+WfNT7wByDiasy9J1/o4695RRt/uvhCZ8L0B6s1W - Jr8ZwC9sb8ZT5YQ6cl+n7xcC/6B9LRozalRt2tcuL83Fae/DpuHx76mNsFyWLyuh - aauhFsU/AgMBAAECggEAWgPhvu+h4hsrI1Rznid2ysZdfR7d6chWgXruRvTAQmc7 - LAixLN+67rUIho+9S8E2H6uzqJbISM0PGH+LH3Eiztehn0mEEnbBxwjv/3ypA37u - xgG1znpUmUMqA7qiAV5JY/XKliMBMeTFOAHzUUnQuu+LcSHBuCeUTdL66/vzKTT4 - oCKwB1vcnzfL5NS/7ownAgLsjNj3pgORRAY9sTDzUkjwrrN/m5nEfghycAcyXHDJ - lQprc0xX4TI/Vd9ZkG+khAznkRaXiPJ1P1TwadgK5m53Imt2H3F0lmrhNCrul/l7 - F0Uf2tfNHHgSjyoGQkPryuqyf2NcMiUY1d4uCsnWEQKBgQDziD3gBkjguQZUc3Yb - DqiCtaLkavndmRTPaAyUk95dUuiVEMhnDm8L7T+03PhVDjtXdy4PQUm61xr/Kw4J - 1VUArbIjzcs+OEGNvq99stThRBvszwNRSWS4kYIur3+ggddrewtL7s+hiAqeK88L - n6vG4/eSKWJBQwF1001siKf7/QKBgQDsRxXGZkf+yVsuL/hSiadwRdD/OJ1O7gr2 - j8za6izaUX1anXLdPrvtOkdCgEC0Iy6hY0FMi0GWzklpY4SvZuxXlK6QkKB3SCE9 - E8RuOSFLouuaxgiau8MnAEUTkInTC+9foOa8znuOGC0JmzztlFf7P7CF8PoNTb4n - x4a9dQSE6wKBgAjPfgWT1KEksIDvqG80KY6JCbqf0ChfOGyEhCf/7YSM0lNKRyXL - VOMmky507BsPp7/zVNxCbWtwCs7+fMSITkn2/sHi2R6IJH7/ThQLGz6HG0eG+cTA - Ff/Da+VKfiCNcgC2c+MsYaCjblbomNX/0dQhPTyxeJeJ2AyuN1fc3c71AoGBAIA2 - tsc5e3nz9AmlOEA5uGWBTT8hjqNlIwfW0pg8mOhDbh188PbD8yBxDng0tmfJ66Ti - Am4x5v6ZpFaPDVJNLJT99pg2Ew2HU5ocHuydDcdIekc7jTHCD80bJWDPfyrKADRJ - UMxF0+AwmEftOGvHotKRJg4YzOfpNvXJHQGz/SbPAoGAALJa010eqPHuZKQxpW4z - 4dpt1Fr16cbLnmIk16zxnvPbPJeCtEx8IkwgLIWP6zPOESIGBTslGMq6xIgYaOXZ - G8S+fLF3J9sfE2gCJR1JSBXdlyWmcKJdyvhRt168hxVW1N4uHJ2KBA3vUhC/kRvh - 3XDCWsEkXqU0KRzt+TkWVOQ= - -----END PRIVATE KEY----- - pathfinder_cert: |- - -----BEGIN CERTIFICATE----- - MIIDejCCAmICCQClh6JWji+/NjANBgkqhkiG9w0BAQsFADB/MQswCQYDVQQGEwJV - UzEQMA4GA1UECAwHQWxhYmFtYTETMBEGA1UEBwwKTW9udGdvbWVyeTENMAsGA1UE - CgwEVGVzdDENMAsGA1UECwwEVGVzdDENMAsGA1UEAwwEVGVzdDEcMBoGCSqGSIb3 - DQEJARYNdGVzdEB0ZXN0LmNvbTAeFw0xOTEwMjkxNTMwNTFaFw0yOTEwMjYxNTMw - NTFaMH8xCzAJBgNVBAYTAlVTMRAwDgYDVQQIDAdBbGFiYW1hMRMwEQYDVQQHDApN - b250Z29tZXJ5MQ0wCwYDVQQKDARUZXN0MQ0wCwYDVQQLDARUZXN0MQ0wCwYDVQQD - DARUZXN0MRwwGgYJKoZIhvcNAQkBFg10ZXN0QHRlc3QuY29tMIIBIjANBgkqhkiG - 9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4MU4ipis7vrhsJl6Ad0hIF/nEGjTPG/6KliG - E1eaAVxOc/Pgw43quKjt846Aqwd9YoMp2NAx74xvZ4OnbMwSpjDQGRQbMY7Hiubs - UiJMqrst6S5AQqPHJoaErknVjRov0NyAUjia3HThtkqrRT52xTnTGYwc49zt+BKo - G4iurv40hfOTe4b7g3A64CVNEZe7t+qPbAIew9MU1X3OD3D0hzKZ8MstqebLbSPV - IflnzU+8Acg4mrMvSdf6OOveUUbf7r4QmfC9AerNVia/GcAvbG/GU+WEOnJfp+8X - Av+gfS0aM2pUbdrXLi/NxWnvw6bh8e+pjbBcli8roWmroRbFPwIDAQABMA0GCSqG - SIb3DQEBCwUAA4IBAQApH4oz7CWXzor91aU7bcdD5Ec/Z5QNDKXVrBcF5r+g83yz - bBphZrvDq+wOVigQ/JfmuAzRtK05WIpvxd22kvsKrDoViG9B+x+wDQm0tP0vY1Cp - EChdJLE1tAktRL49r8pzpOaUU7NrhYLP1tWrDDsCC3fPUwZzx9quem0xSYmC0BpT - Ug+hxw3uH7bsGhQkQnGrAoEwrsyq8M3lbw0pIUvq2S7t8lpHZvM5Ldkp5DM7SlJg - gBabAqScAeoqssFv4bsWINawn/7JvmFEb4kwep6pIf9Lh/rkCgsgyq2xEh/9LXNs - eCgyt9zbdU2HwsWnoOUEJ0Z4157ykgOkECCGErKl - -----END CERTIFICATE----- - pathfinder_intermediate_cert: |- - -----BEGIN CERTIFICATE----- - MIIDejCCAmICCQClh6JWji+/NjANBgkqhkiG9w0BAQsFADB/MQswCQYDVQQGEwJV - UzEQMA4GA1UECAwHQWxhYmFtYTETMBEGA1UEBwwKTW9udGdvbWVyeTENMAsGA1UE - CgwEVGVzdDENMAsGA1UECwwEVGVzdDENMAsGA1UEAwwEVGVzdDEcMBoGCSqGSIb3 - DQEJARYNdGVzdEB0ZXN0LmNvbTAeFw0xOTEwMjkxNTMwNTFaFw0yOTEwMjYxNTMw - NTFaMH8xCzAJBgNVBAYTAlVTMRAwDgYDVQQIDAdBbGFiYW1hMRMwEQYDVQQHDApN - b250Z29tZXJ5MQ0wCwYDVQQKDARUZXN0MQ0wCwYDVQQLDARUZXN0MQ0wCwYDVQQD - DARUZXN0MRwwGgYJKoZIhvcNAQkBFg10ZXN0QHRlc3QuY29tMIIBIjANBgkqhkiG - 9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4MU4ipis7vrhsJl6Ad0hIF/nEGjTPG/6KliG - E1eaAVxOc/Pgw43quKjt846Aqwd9YoMp2NAx74xvZ4OnbMwSpjDQGRQbMY7Hiubs - UiJMqrst6S5AQqPHJoaErknVjRov0NyAUjia3HThtkqrRT52xTnTGYwc49zt+BKo - G4iurv40hfOTe4b7g3A64CVNEZe7t+qPbAIew9MU1X3OD3D0hzKZ8MstqebLbSPV - IflnzU+8Acg4mrMvSdf6OOveUUbf7r4QmfC9AerNVia/GcAvbG/GU+WEOnJfp+8X - Av+gfS0aM2pUbdrXLi/NxWnvw6bh8e+pjbBcli8roWmroRbFPwIDAQABMA0GCSqG - SIb3DQEBCwUAA4IBAQApH4oz7CWXzor91aU7bcdD5Ec/Z5QNDKXVrBcF5r+g83yz - bBphZrvDq+wOVigQ/JfmuAzRtK05WIpvxd22kvsKrDoViG9B+x+wDQm0tP0vY1Cp - EChdJLE1tAktRL49r8pzpOaUU7NrhYLP1tWrDDsCC3fPUwZzx9quem0xSYmC0BpT - Ug+hxw3uH7bsGhQkQnGrAoEwrsyq8M3lbw0pIUvq2S7t8lpHZvM5Ldkp5DM7SlJg - gBabAqScAeoqssFv4bsWINawn/7JvmFEb4kwep6pIf9Lh/rkCgsgyq2xEh/9LXNs - eCgyt9zbdU2HwsWnoOUEJ0Z4157ykgOkECCGErKl - -----END CERTIFICATE----- - # rejectUnauthorized should be true in production - rejectUnauthorized: false - # The following paths are all relative to this directory containing the values file - client_cert_path: '/opt/app/secrets/client_cert.pem' - client_key_path: '/opt/app/secrets/client_key.pem' - root_cert_path: '/opt/app/secrets/pathfinder_cert.pem' - # Intermediate cert is optional, but will likely be required for mutual auth if - # rejectUnauthorized is true, as Neustar's certificate doesn't seem to have been signed by any - # certs in the Mozilla bundle, which is used by Node as default. - intermediate_cert_path: '/opt/app/secrets/pathfinder_intermediate_cert.pem' - - init: - enabled: true - waitForMysql: - name: wait-for-mysql - repository: mysql - tag: 8.0.30 - pullPolicy: IfNotPresent - command: "until mysql -h $db_host -P $db_port -u $db_user --password=$db_password $db_database -e 'select version()' ; do echo waiting for MySQL; sleep 2; done;" - initMysql: - centralLedger: - enabled: true - name: init-central-ledger-mysql - repository: mojaloop/als-oracle-pathfinder - tag: v12.0.0 - pullPolicy: IfNotPresent - command: mysql -h $db_host -P $db_port -u $db_user --password=$db_password $db_database -e "SET @service_name='$service_name'; source /opt/app/init-central-ledger.sql;"; - accountLookup: - enabled: true - name: init-account-lookup-mysql - repository: mojaloop/als-oracle-pathfinder - tag: v12.0.0 - pullPolicy: IfNotPresent - command: mysql -h $db_host -P $db_port -u $db_user --password=$db_password $db_database -e "SET @service_name='$service_name'; source /opt/app/init-account-lookup.sql;"; - populateMysql: - enabled: true - name: populate-mysql-tables - repository: mysql - tag: 8.0.30 - pullPolicy: IfNotPresent - command: "echo 'Nothing configured to be populated. Continuing...';" - service: - type: ClusterIP - name: http-api - port: 80 - - annotations: {} - - # This allows one to point the service to an external backend. - # This is useful for local development where one wishes to hijack - # the communication from the service to the node layer and point - # to a specific endpoint (IP, Port, etc). - external: - enabled: false - # 10.0.2.2 is the magic IP for the host on virtualbox's network - ip: 10.0.2.2 - ports: - provisioning: - name: http-api - externalPort: 3000 - - ingress: - enabled: true - ## @param ingress.pathType Ingress path type - ## - pathType: ImplementationSpecific - ## @param ingress.apiVersion Force Ingress API version (automatically detected if not set) - ## - apiVersion: - ## @param ingress.hostname Default host for the ingress record - ## - hostname: als-oracle-pathfinder.local - ## @param servicePort : port for the service - ## - servicePort: 80 - ## @param ingress.path Default path for the ingress record - ## NOTE: You may need to set this to '/*' in order to use this with ALB ingress controllers - path: / - ## @param ingress.annotations Additional custom annotations for the ingress record - ## NOTE: If `ingress.certManager=true`, annotation `kubernetes.io/tls-acme: "true"` will automatically be added - ## - annotations: - ## @param ingress.tls Enable TLS configuration for the host defined at `ingress.hostname` parameter - ## TLS certificates will be retrieved from a TLS secret with name: `{{- printf "%s-tls" .Values.ingress.hostname }}` - ## You can: - ## - Use the `ingress.secrets` parameter to create this TLS secret - ## - Relay on cert-manager to create it by setting `ingress.certManager=true` - ## - Relay on Helm to create self-signed certificates by setting `ingress.selfSigned=true` - ## - tls: false - ## @param ingress.certManager Add the corresponding annotations for cert-manager integration - ## - certManager: false - ## @param ingress.selfSigned Create a TLS secret for this ingress record using self-signed certificates generated by Helm - ## - selfSigned: false - ## @param ingress.extraHosts An array with additional hostname(s) to be covered with the ingress record - ## e.g: - ## extraHosts: - ## - name: transfer-api-svc.local - ## path: / - ## - extraHosts: - extraPaths: - extraTls: - secrets: - className: "nginx" - ## - resources: {} - # We usually recommend not to specify default resources and to leave this as a conscious - # choice for the user. This also increases chances charts run on environments with little - # resources, such as Minikube. If you do want to specify resources, uncomment the following - # lines, adjust them as necessary, and remove the curly braces after 'resources:'. - # limits: - # cpu: 100m - # memory: 128Mi - # requests: - # cpu: 100m - # memory: 128Mi - - mysql: - enabled: true - nameOverride: "account-lookup-mysql" - # Default values for Percona XtraDB Cluster - - ## percona image and version - ## ref: https://hub.docker.com/r/percona/percona-xtradb-cluster/tags/ - image: - repository: "percona/percona-xtradb-cluster" - tag: "5.7.19" - pullPolicy: IfNotPresent - - # Desired number of members of xtradb cluster - replicas: 1 - - ## Specify password for root user - ## - # mysqlRootPassword: not-a-secure-password - - ## Specify password for xtradb backup user - ## - # xtraBackupPassword: replicate-my-data - - ## Uncomment to create a database user - ## - mysqlUser: account_lookup - mysqlPassword: OdonPianoX - - ## Allow unauthenticated access, uncomment to enable - ## - # mysqlAllowEmptyPassword: true - - ## Uncomment to Create a database - ## - mysqlDatabase: account_lookup - - ## hosts to allow root user access from - # set to "127.0.0.1" to deny remote root. - allowRootFrom: "%" - - ## Persist data to a persitent volume - persistence: - enabled: false - ## percona data Persistent Volume Storage Class - ## If defined, storageClassName: - ## If set to "-", storageClassName: "", which disables dynamic provisioning - ## If undefined (the default) or set to null, no storageClassName spec is - ## set, choosing the default provisioner. (gp2 on AWS, standard on - ## GKE, AWS & OpenStack) - ## - # storageClass: "-" - accessMode: ReadWriteOnce - size: 8Gi - - ## Node labels for pod assignment - ## Ref: https://kubernetes.io/docs/user-guide/node-selection/ - ## - nodeSelector: {} - - ## Pod annotations - ## Ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/ - ## - podAnnotations: {} - - ## Tolerations labels for pod assignment - ## Allow the scheduling on tainted nodes (requires Kubernetes >= 1.6) - ## Ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ - ## - tolerations: [] - - ## Configure resource requests and limits - ## ref: http://kubernetes.io/docs/user-guide/compute-resources/ - ## - # resources: - # requests: - # memory: 256Mi - # cpu: 100m - - ## Configure the following values below if required - # performance_schema=ON - # max_connections=999 - # max_user_connections=999 - # thread_cache_size=999 - configFiles: - node.cnf: | - [client] - default-character-set=utf8mb4 - - [mysql] - default-character-set=utf8mb4 - - [mysqld] - collation-server = utf8mb4_unicode_ci - init-connect='SET NAMES utf8mb4' - character-set-server = utf8mb4 - datadir=/var/lib/mysql - default_storage_engine=InnoDB - binlog_format=ROW - innodb_flush_log_at_trx_commit = 1 - innodb_flush_method = O_DIRECT - innodb_file_per_table = 1 - innodb_autoinc_lock_mode=2 - bind_address = 0.0.0.0 - wsrep_slave_threads=2 - wsrep_cluster_address=gcomm:// - wsrep_provider=/usr/lib/galera3/libgalera_smm.so - wsrep_cluster_name=galera - wsrep_sst_method=xtrabackup-v2 - pxc_strict_mode=DISABLED - max_connections=999 - max_user_connections=994 - thread_cache_size=999 - ## When set to true will create sidecar for `prom/mysqld-exporter` - ## metrics exporting - metricsExporter: - enabled: true - - ## When set to true will create sidecar to tail mysql log - logTail: true - - service: - type: ClusterIP - port: 3306 - externalIPs: [] - -quoting-service: - # Declare variables to be passed into your templates. - replicaCount: 1 - image: - repository: mojaloop/quoting-service - tag: v15.0.2 - pullPolicy: IfNotPresent - - readinessProbe: - enabled: true - httpGet: - path: /health - initialDelaySeconds: 60 - periodSeconds: 15 - - livenessProbe: - enabled: true - httpGet: - path: /health - initialDelaySeconds: 60 - periodSeconds: 15 - - config: - - # Protocol versions used for validating (VALIDATELIST) incoming FSPIOP API Headers (Content-type, Accept), - # and for generating requests/callbacks from the Switch itself (DEFAULT value) - protocol_versions: { - "CONTENT": { - "DEFAULT": "1.1", - "VALIDATELIST": [ - "1", - "1.0", - "1.1" - ] - }, - "ACCEPT": { - "DEFAULT": "1", - "VALIDATELIST": [ - "1", - "1.0", - "1.1" - ] - } -} - ## DB Configuration - # db_type can either be 'postgres' or 'mysql'. Ensure the correct DB is enabled and configured below: postgresql.enabled or mysql.enabled - db_type: 'mysql' - # db_driver can either be 'pg' or 'mysql'. Ensure the correct corresponding db_type above has been set. - db_driver: 'mysql' - db_host: '$release_name-centralledger-mysql' - db_port: 3306 - db_user: central_ledger - db_password: oyMxgZChuu - db_database: central_ledger - db_connection_pool_min: 10 - db_connection_pool_max: 30 - db_acquire_timeout_millis: 30000 - db_create_timeout_millis: 30000 - db_destroy_timeout_millis: 5000 - db_idle_timeout_millis: 30000 - db_reap_interval_millis: 1000 - db_create_retry_interval_millis: 200 - db_debug: false - simple_routing_mode_enabled: true - log_level: 'info' - log_transport: 'file' - - # A comma-separated list of events that should return immediately instead of waiting for the event promises to resolve - # Any combination of: `log,audit,trace` - event_async_override: 'log,trace' - - ## Kafka Configuration (used for sidecar) - # this can be set if the dependency chart for kafka is disabled. If 'kafka_host' is commented out, then the name of the dependency chart will be used. - kafka_host: '$release_name-kafka' - kafka_port: 9092 - - error_handling: - include_cause_extension: false - truncate_extensions: true - - endpointSecurity: - jwsSign: true - fspiopSourceSigningName: 'switch' - # jwsSigningKey: - # To generate this key: - # Private: - # ssh-keygen -t rsa -b 4096 -m PEM -f jwtRS256.key - # Public: - # openssl rsa -in jwtRS256.key -pubout -outform PEM -out jwtRS256.key.pub - # Should look like: - # -----BEGIN RSA PRIVATE KEY----- - # MIIJKQIBAAKCAgEAxfqaZivMPd4MpdBHu0jVMf3MSuSdkSMHn+sNJdDQfl+x4R5R - # .. - # .. - # mBynFpdjO0D3PnLKjnBDn1vFAfANOwVpGXCw5mn+484A/SIXYebWruFd03g4 - # -----END RSA PRIVATE KEY----- - # The following is an example key and shouldn't be used in production - jwsSigningKey: |- - -----BEGIN PRIVATE KEY----- - MIIEugIBADANBgkqhkiG9w0BAQEFAASCBKQwggSgAgEAAoIBAQDuB5HuHRH5BqI/ - VAC/ixm6lz8kJmigIB5jMxLrhB9cgqM+pb0O+is88VRHdxtw8eKG3nvrZYy/4nsJ - z32qo4sOIMqHWTlZgbURVK4FAUEZ/qn63UnXJ1YVqT4UGg31BBj2c1JdlxG2t4JV - DvzGrI2/ia/t4gYZCWrQz6a8OClBIaXu2t6EGFnysyS+1YDWtNIHO+z0lvAY9oad - 5MZPHN51o04eIoLO0tPfkz0+NDs4ECwUWuFAg8yo1hxnvSoERiCAwEbFgq2wDe1+ - oBhOpusd4VastD/TEqO8RhrwTodddOMKzapJPrQJuvTkrpkmkPOGE8DgIVHsULLR - UYEMKvTVAgMBAAECgf94Meq77xrcFg8sSqe5eNHYP39tvaWyqE7mY/slvpNDH5Pl - D/p21akS156E32BEJuYPk/TLiI2kMWjnvbHvNgr9tq8x3ToyTjtrg5clq8Hr1Ozo - FnFiqkVHMFPFPQZEVU64CQPA33DixuWjMWS3YINfCAinErBry0PiNZGmuFi1K/wy - e1z2F9WfG3IEBEe3NaeXwN55ZPJve0LtneJy3YqNwMg2FpPKBRHFV4lKTaU/hqhC - NK6HQoEXN4Y9AQHn53Fl8n0iNO3qx0Tb7EuGNFmZ2xTlpDKAp8M+BA5Qm5YDkbd6 - OoxbGj2YxZncbG+RsvICtVMLqIytubvYREY9WGkCgYEA+K64xhJzWV3cGc8/90ko - TryGMBj1ly5TNa1YyOQxl5z4Glc0aI8a+1vJGEAA+c/OEhMR8MRn3+QfV2LJOI5X - V8Zo2Ger6Ln99LBddTh2HXL3M60cMgs8MYGuJ75g5R/UHnJBLo7NFyVddCOMT3hc - AYSDN3XCw9ycqTw2/mJHB9kCgYEA9QiaCfTtnXdjMqLeYbp2uQEyyO6IZs956ym7 - sEQMwx/3wnlE9eiJ6iQxZfddkfOCyV/4MMAlYfpTBQFg7Cwb32Xrv3Ezy0HfZrnt - 5Nj4SVQWuOXJhdfC9dmTF+cvBeP+vC6PyDbikxdCo9+05chxS7I3MLxCue4qxy0C - QfQIE10CgYA+kHacHng2u45sT9/f7t/dL0DzSNRAvL7iekIkCIURh8RDnDzrMVWw - d18YYsHcF5PYqEOTN1aK1XGtIoVNXUJMKvaluy9c1a42qUhZ/WJ59jqLHbpCPOFf - 8yhFh3gJLQDIyCXt+K9Qa24fkfHy7Gz5VMVOZqohbJddXHDZfxAvwQKBgAdU947+ - tjF1BhHYz8Cq3KySfZuHj6tL4AEKYaRXlO4twbMe/9I/4AiShqvfZ/xbBfnSllGX - Hkc9P0iyDt1iQH9BxHkZAQy+7tlbDORBHcTL8FYeAhawKxRCK2WWtFB/zvqAhire - gY8XLhZLNlV91u4F6iLaL0DzAHKvRRcGH0u9AoGATNigZgbRRHJC21JucHeE0tP7 - HjGALvb4qn1o0oDHsxNY8i6vVNw9YeQpZaJhceuRHJTGcsq2dJSXpYwIhIVs/8RK - bKbkEndra96L6FRZN8LYBl8zbRUPx39ojGeSbFliQv1eaoA/1DDhCiC2NlcSmbJl - ecaG/Oyo/S+eM8nR7mc= - -----END PRIVATE KEY----- - - sidecar: - enabled: true - image: - repository: mojaloop/event-sidecar - tag: v12.0.0 - pullPolicy: IfNotPresent - readinessProbe: - enabled: true - initialDelaySeconds: 120 - periodSeconds: 15 - livenessProbe: - enabled: true - initialDelaySeconds: 90 - periodSeconds: 15 - config: - event_log_grpc_host: localhost - event_log_grpc_port: 50051 - log_level: info - - init: - enabled: true - mysql: - name: wait-for-mysql - repository: mysql - tag: 8.0.30 - pullPolicy: IfNotPresent - command: "until result=$(mysql -h $db_host -P $db_port -u $db_user --password=$db_password $db_database -ss -N -e 'select is_locked from migration_lock;') && eval 'echo is_locked=$result' && if [ -z $result ]; then false; fi && if [ $result -ne 0 ]; then false; fi; do echo waiting for MySQL; sleep 2; done;" - - service: - type: ClusterIP - ports: - api: - name: http-api - externalPort: 80 - internalPort: 3002 - - annotations: {} - - # This allows one to point the service to an external backend. - # This is useful for local development where one wishes to hijack - # the communication from the service to the node layer and point - # to a specific endpoint (IP, Port, etc). - external: - enabled: false - # 10.0.2.2 is the magic IP for the host on virtualbox's network - ip: 10.0.2.2 - ports: - api: - name: http-api - externalPort: 3002 - - ingress: - enabled: true - ## @param ingress.pathType Ingress path type - ## - pathType: ImplementationSpecific - ## @param ingress.apiVersion Force Ingress API version (automatically detected if not set) - ## - apiVersion: - ## @param ingress.hostname Default host for the ingress record - ## - hostname: quoting-service.local - ## @param servicePort : port for the service - ## - servicePort: 80 - ## @param ingress.path Default path for the ingress record - ## NOTE: You may need to set this to '/*' in order to use this with ALB ingress controllers - path: / - ## @param ingress.annotations Additional custom annotations for the ingress record - ## NOTE: If `ingress.certManager=true`, annotation `kubernetes.io/tls-acme: "true"` will automatically be added - ## - annotations: - ## @param ingress.tls Enable TLS configuration for the host defined at `ingress.hostname` parameter - ## TLS certificates will be retrieved from a TLS secret with name: `{{- printf "%s-tls" .Values.ingress.hostname }}` - ## You can: - ## - Use the `ingress.secrets` parameter to create this TLS secret - ## - Relay on cert-manager to create it by setting `ingress.certManager=true` - ## - Relay on Helm to create self-signed certificates by setting `ingress.selfSigned=true` - ## - tls: false - ## @param ingress.certManager Add the corresponding annotations for cert-manager integration - ## - certManager: false - ## @param ingress.selfSigned Create a TLS secret for this ingress record using self-signed certificates generated by Helm - ## - selfSigned: false - ## @param ingress.extraHosts An array with additional hostname(s) to be covered with the ingress record - ## e.g: - ## extraHosts: - ## - name: transfer-api-svc.local - ## path: / - ## - extraHosts: - extraPaths: - extraTls: - secrets: - className: "nginx" - ## - resources: {} - # We usually recommend not to specify default resources and to leave this as a conscious - # choice for the user. This also increases chances charts run on environments with little - # resources, such as Minikube. If you do want to specify resources, uncomment the following - # lines, adjust them as necessary, and remove the curly braces after 'resources:'. - # limits: - # cpu: 100m - # memory: 128Mi - # requests: - # cpu: 100m - # memory: 128Mi - -transaction-requests-service: - # Declare variables to be passed into your templates. - replicaCount: 1 - image: - repository: mojaloop/transaction-requests-service - tag: v14.0.1 - pullPolicy: IfNotPresent - command: '["node", "src/index.js", "api"]' - - readinessProbe: - enabled: true - httpGet: - path: /health - initialDelaySeconds: 60 - periodSeconds: 15 - - livenessProbe: - enabled: true - httpGet: - path: /health - initialDelaySeconds: 60 - periodSeconds: 15 - - sidecar: - enabled: true - image: - repository: mojaloop/event-sidecar - tag: v12.0.0 - pullPolicy: IfNotPresent - command: '["npm", "run", "start"]' - service: - internalPort: 4001 - readinessProbe: - enabled: true - httpGet: - path: /health - initialDelaySeconds: 120 - periodSeconds: 15 - livenessProbe: - enabled: true - httpGet: - path: /health - initialDelaySeconds: 90 - periodSeconds: 15 - config: - event_log_grpc_host: localhost - event_log_grpc_port: 50051 - event_log_filter: 'audit:*, log:info, log:warn, log:error' - event_log_metadata_only: true - log_level: info - log_filter: 'error, warn, info' - - config: - central_services_host: '$release_name-centralledger-service' - central_services_port: 80 - - # Protocol versions used for validating (VALIDATELIST) incoming FSPIOP API Headers (Content-type, Accept), - # and for generating requests/callbacks from the Switch itself (DEFAULT value) - protocol_versions: { - "CONTENT": { - "DEFAULT": "1.1", - "VALIDATELIST": [ - "1", - "1.0", - "1.1" - ] - }, - "ACCEPT": { - "DEFAULT": "1", - "VALIDATELIST": [ - "1", - "1.0", - "1.1" - ] - } -} - log_level: info - log_transport: file - - error_handling: - include_cause_extension: false - truncate_extensions: true - - ## metric configuration for prometheus instrumentation - metrics: - ## flag to enable/disable the metrics end-points - enabled: false - config: - timeout: 5000 - prefix: moja_ - defaultLabels: - serviceName: transaction-requests - - init: - enabled: true - - service: - type: ClusterIP - ports: - api: - name: http-api - externalPort: 80 - internalPort: 4000 - - annotations: {} - - # This allows one to point the service to an external backend. - # This is useful for local development where one wishes to hijack - # the communication from the service to the node layer and point - # to a specific endpoint (IP, Port, etc). - external: - enabled: false - # 10.0.2.2 is the magic IP for the host on virtualbox's network - ip: 10.0.2.2 - ports: - api: - name: http-api - externalPort: 4000 - - ingress: - enabled: true - ## @param ingress.pathType Ingress path type - ## - pathType: ImplementationSpecific - ## @param ingress.apiVersion Force Ingress API version (automatically detected if not set) - ## - apiVersion: - ## @param ingress.hostname Default host for the ingress record - ## - hostname: transaction-request-service.local - ## @param servicePort : port for the service - ## - servicePort: 80 - ## @param ingress.path Default path for the ingress record - ## NOTE: You may need to set this to '/*' in order to use this with ALB ingress controllers - path: / - ## @param ingress.annotations Additional custom annotations for the ingress record - ## NOTE: If `ingress.certManager=true`, annotation `kubernetes.io/tls-acme: "true"` will automatically be added - ## - annotations: - ## @param ingress.tls Enable TLS configuration for the host defined at `ingress.hostname` parameter - ## TLS certificates will be retrieved from a TLS secret with name: `{{- printf "%s-tls" .Values.ingress.hostname }}` - ## You can: - ## - Use the `ingress.secrets` parameter to create this TLS secret - ## - Relay on cert-manager to create it by setting `ingress.certManager=true` - ## - Relay on Helm to create self-signed certificates by setting `ingress.selfSigned=true` - ## - tls: false - ## @param ingress.certManager Add the corresponding annotations for cert-manager integration - ## - certManager: false - ## @param ingress.selfSigned Create a TLS secret for this ingress record using self-signed certificates generated by Helm - ## - selfSigned: false - ## @param ingress.extraHosts An array with additional hostname(s) to be covered with the ingress record - ## e.g: - ## extraHosts: - ## - name: transfer-api-svc.local - ## path: / - ## - extraHosts: - extraPaths: - extraTls: - secrets: - className: "nginx" - ## - resources: {} - # We usually recommend not to specify default resources and to leave this as a conscious - # choice for the user. This also increases chances charts run on environments with little - # resources, such as Minikube. If you do want to specify resources, uncomment the following - # lines, adjust them as necessary, and remove the curly braces after 'resources:'. - # limits: - # cpu: 100m - # memory: 128Mi - # requests: - # cpu: 100m - # memory: 128Mi - -thirdparty: - enabled: false - auth-svc: - enabled: true - replicaCount: 1 - image: - repository: mojaloop/auth-service - tag: v13.0.2 - command: '[ "npm", "run", "start" ]' - pullPolicy: IfNotPresent - - ## Pod scheduling preferences. - ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity - affinity: {} - - ## Node labels for pod assignment - ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector - nodeSelector: {} - - ## Set toleration for scheduler - ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ - tolerations: [] - - livenessProbe: - initialDelaySeconds: 30 - httpGet: - path: /health - port: 4004 - readinessProbe: - initialDelaySeconds: 30 - httpGet: - path: /health - port: 4004 - - # Add extra environment variables here - env: - - name: NODE_ENV - value: production - # e.g. to change the Log Level: - # - name: LOG_LEVEL - # value: debug - - config: - production.json: { - "PORT": 4004, - "HOST": "0.0.0.0", - "PARTICIPANT_ID": "centralauth", - "REDIS": { - "PORT": 6379, - "HOST": "auth-svc-redis-svc", - "TIMEOUT": 100 - }, - "INSPECT": { - "DEPTH": 4, - "SHOW_HIDDEN": false, - "COLOR": true - }, - "SHARED": { - "THIRDPARTY_REQUESTS_ENDPOINT": "tp-api-svc:3008", - "ALS_ENDPOINT": "$release_name-account-lookup-service", - "JWS_SIGN": false, - "JWS_SIGNING_KEY": "/secrets/jwsSigningKey.key", - "WSO2_AUTH": { - "staticToken": "0706c62f-c022-3c42-8d14-8b5df128876d", - "tokenEndpoint": "", - "clientKey": "test-client-key", - "clientSecret": "test-client-secret", - "refreshSeconds": 3600 - }, - "TLS": { - "mutualTLS": { - "enabled": false - }, - "creds": { - "ca": "/secrets/client.crt", - "cert": "/secrets/client.crt", - "key": "/secrets/client.crt" - } - } - }, - "DATABASE": { - "client": "mysql", - "version": "5.5", - "connection": { - "host": "mysql-auth-svc", - "port": 3306, - "user": "auth-svc", - "password": "password", - "database": "auth-svc", - "timezone": "UTC" - }, - "pool": { - "min": 10, - "max": 10, - "acquireTimeoutMillis": 30000, - "createTimeoutMillis": 30000, - "destroyTimeoutMillis": 5000, - "idleTimeoutMillis": 30000, - "reapIntervalMillis": 1000, - "createRetryIntervalMillis": 200 - }, - "migrations": { - "tableName": "auth-svc", - "loadExtensions": [ - ".js" - ] - }, - "seeds": { - "loadExtensions": [ - ".js" - ] - } - }, - "DEMO_SKIP_VALIDATION_FOR_CREDENTIAL_IDS": [ - "HskU2gw4np09IUtYNHnxMM696jJHqvccUdBmd0xP6XEWwH0xLei1PUzDJCM19SZ3A2Ex0fNLw0nc2hrIlFnAtw" - ] -} - service: - type: ClusterIP - ports: - name: api - externalPort: 4004 - internalPort: 4004 - - ingress: - enabled: true - ## @param ingress.pathType Ingress path type - ## - pathType: ImplementationSpecific - ## @param ingress.apiVersion Force Ingress API version (automatically detected if not set) - ## - apiVersion: - ## @param ingress.hostname Default host for the ingress record - ## - hostname: auth-service.local - ## @param servicePort : port for the service - ## - servicePort: 4004 - ## @param ingress.path Default path for the ingress record - ## NOTE: You may need to set this to '/*' in order to use this with ALB ingress controllers - path: / - ## @param ingress.annotations Additional custom annotations for the ingress record - ## NOTE: If `ingress.certManager=true`, annotation `kubernetes.io/tls-acme: "true"` will automatically be added - ## - annotations: - ## @param ingress.tls Enable TLS configuration for the host defined at `ingress.hostname` parameter - ## TLS certificates will be retrieved from a TLS secret with name: `{{- printf "%s-tls" .Values.ingress.hostname }}` - ## You can: - ## - Use the `ingress.secrets` parameter to create this TLS secret - ## - Relay on cert-manager to create it by setting `ingress.certManager=true` - ## - Relay on Helm to create self-signed certificates by setting `ingress.selfSigned=true` - ## - tls: false - ## @param ingress.certManager Add the corresponding annotations for cert-manager integration - ## - certManager: false - ## @param ingress.selfSigned Create a TLS secret for this ingress record using self-signed certificates generated by Helm - ## - selfSigned: false - ## @param ingress.extraHosts An array with additional hostname(s) to be covered with the ingress record - ## e.g: - ## extraHosts: - ## - name: transfer-api-svc.local - ## path: / - ## - extraHosts: - extraPaths: - extraTls: - secrets: - className: "nginx" - ## - - consent-oracle: - enabled: true - replicaCount: 1 - image: - repository: mojaloop/als-consent-oracle - tag: v0.2.0 - command: '[ "npm", "run", "start" ]' - pullPolicy: IfNotPresent - - ## Pod scheduling preferences. - ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity - affinity: {} - - ## Node labels for pod assignment - ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector - nodeSelector: {} - - ## Set toleration for scheduler - ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ - tolerations: [] - - livenessProbe: - enabled: true - initialDelaySeconds: 30 - httpGet: - path: /health - port: 3000 - - readinessProbe: - enabled: true - initialDelaySeconds: 30 - httpGet: - path: /health - port: 3000 - - # Add exta environment variables here - env: [] - # e.g. - # - name: LOG_LEVEL - # value: debug - - config: - default.json: { - "PORT": 3000, - "HOST": "0.0.0.0", - "INSPECT": { - "DEPTH": 4, - "SHOW_HIDDEN": false, - "COLOR": true - }, - "DATABASE": { - "DIALECT": "mysql", - "HOST": "mysql-consent-oracle", - "PORT": 3306, - "USER": "consent-oracle", - "PASSWORD": "password", - "DATABASE": "consent-oracle", - "POOL_MIN_SIZE": 10, - "POOL_MAX_SIZE": 10, - "ACQUIRE_TIMEOUT_MILLIS": 30000, - "CREATE_TIMEOUT_MILLIS": 30000, - "DESTROY_TIMEOUT_MILLIS": 5000, - "IDLE_TIMEOUT_MILLIS": 30000, - "REAP_INTERVAL_MILLIS": 1000, - "CREATE_RETRY_INTERVAL_MILLIS": 200 - } -} - service: - type: ClusterIP - ports: - name: api - externalPort: 3000 - internalPort: 3000 - - ingress: - enabled: true - ## @param ingress.pathType Ingress path type - ## - pathType: ImplementationSpecific - ## @param ingress.apiVersion Force Ingress API version (automatically detected if not set) - ## - apiVersion: - ## @param ingress.hostname Default host for the ingress record - ## - hostname: consent-oracle.local - ## @param servicePort : port for the service - ## - servicePort: 3000 - ## @param ingress.path Default path for the ingress record - ## NOTE: You may need to set this to '/*' in order to use this with ALB ingress controllers - path: / - ## @param ingress.annotations Additional custom annotations for the ingress record - ## NOTE: If `ingress.certManager=true`, annotation `kubernetes.io/tls-acme: "true"` will automatically be added - ## - annotations: - ## @param ingress.tls Enable TLS configuration for the host defined at `ingress.hostname` parameter - ## TLS certificates will be retrieved from a TLS secret with name: `{{- printf "%s-tls" .Values.ingress.hostname }}` - ## You can: - ## - Use the `ingress.secrets` parameter to create this TLS secret - ## - Relay on cert-manager to create it by setting `ingress.certManager=true` - ## - Relay on Helm to create self-signed certificates by setting `ingress.selfSigned=true` - ## - tls: false - ## @param ingress.certManager Add the corresponding annotations for cert-manager integration - ## - certManager: false - ## @param ingress.selfSigned Create a TLS secret for this ingress record using self-signed certificates generated by Helm - ## - selfSigned: false - ## @param ingress.extraHosts An array with additional hostname(s) to be covered with the ingress record - ## e.g: - ## extraHosts: - ## - name: transfer-api-svc.local - ## path: / - ## - extraHosts: - extraPaths: - extraTls: - secrets: - className: "nginx" - ## - - tp-api-svc: - enabled: true - replicaCount: 1 - image: - repository: mojaloop/thirdparty-api-svc - tag: v13.0.2 - command: '[ "npm", "run", "start" ]' - pullPolicy: IfNotPresent - - ## Pod scheduling preferences. - ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity - affinity: {} - - ## Node labels for pod assignment - ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector - nodeSelector: {} - - ## Set toleration for scheduler - ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ - tolerations: [] - - livenessProbe: - initialDelaySeconds: 30 - httpGet: - path: /health - port: 3008 - readinessProbe: - initialDelaySeconds: 30 - httpGet: - path: /health - port: 3008 - - # Add exta environment variables here - env: [] - # e.g. to change the Log Level: - # - name: LOG_LEVEL - # value: debug - - config: - default.json: { - "PORT": 3008, - "HOST": "0.0.0.0", - "INSPECT": { - "DEPTH": 4, - "SHOW_HIDDEN": false, - "COLOR": true - }, - "ENDPOINT_CACHE_CONFIG": { - "expiresIn": 180000, - "generateTimeout": 30000 - }, - "ENDPOINT_SERVICE_URL": "http://$release_name-centralledger-service", - "PARTICIPANT_LIST_LOCAL": [ - "dfspa", - "dfspb" - ], - "ERROR_HANDLING": { - "includeCauseExtension": true, - "truncateExtensions": true - }, - "INSTRUMENTATION": { - "METRICS": { - "DISABLED": false, - "labels": { - "eventId": "*" - }, - "config": { - "timeout": 5000, - "prefix": "moja_3p_api", - "defaultLabels": { - "serviceName": "thirdparty-api-svc" - } - } - } - }, - "MOCK_CALLBACK": { - "transactionRequestId": "abc-12345", - "pispId": "pisp" - } -} - service: - type: ClusterIP - ports: - name: api - externalPort: 3008 - internalPort: 3008 - - ingress: - enabled: true - ## @param ingress.pathType Ingress path type - ## - pathType: ImplementationSpecific - ## @param ingress.apiVersion Force Ingress API version (automatically detected if not set) - ## - apiVersion: - ## @param ingress.hostname Default host for the ingress record - ## - hostname: tp-api-svc.local - ## @param servicePort : port for the service - ## - servicePort: 3008 - ## @param ingress.path Default path for the ingress record - ## NOTE: You may need to set this to '/*' in order to use this with ALB ingress controllers - path: / - ## @param ingress.annotations Additional custom annotations for the ingress record - ## NOTE: If `ingress.certManager=true`, annotation `kubernetes.io/tls-acme: "true"` will automatically be added - ## - annotations: - ## @param ingress.tls Enable TLS configuration for the host defined at `ingress.hostname` parameter - ## TLS certificates will be retrieved from a TLS secret with name: `{{- printf "%s-tls" .Values.ingress.hostname }}` - ## You can: - ## - Use the `ingress.secrets` parameter to create this TLS secret - ## - Relay on cert-manager to create it by setting `ingress.certManager=true` - ## - Relay on Helm to create self-signed certificates by setting `ingress.selfSigned=true` - ## - tls: false - ## @param ingress.certManager Add the corresponding annotations for cert-manager integration - ## - certManager: false - ## @param ingress.selfSigned Create a TLS secret for this ingress record using self-signed certificates generated by Helm - ## - selfSigned: false - ## @param ingress.extraHosts An array with additional hostname(s) to be covered with the ingress record - ## e.g: - ## extraHosts: - ## - name: transfer-api-svc.local - ## path: / - ## - extraHosts: - extraPaths: - extraTls: - secrets: - className: "nginx" - ## - -simulator: - enabled: true - # Default values for simulators. - # This is a YAML-formatted file. - # Declare variables to be passed into your templates. - - replicaCount: 1 - - image: - repository: mojaloop/simulator - tag: v12.0.0 - pullPolicy: IfNotPresent - - imagePullSecrets: [] - # - name: {{replace with credential}} - - ## Pod scheduling preferences. - ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity - affinity: {} - - ## Node labels for pod assignment - ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector - nodeSelector: {} - - ## Set toleration for scheduler - ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ - tolerations: [] - - metrics: - enabled: true - prefix: moja_ - timeout: 5000 - defaultLabels: - serviceName: simulator - - config: - ## Set debug level for log output - LOG_LEVEL: 'info' - - ## Add '$release' into any of the *_SERVICE_ENDPOINT values to include the release name as part of the deployment - PARTIES_SERVICE_ENDPOINT: 'http://$release_name-account-lookup-service' - QUOTES_SERVICE_ENDPOINT: 'http://$release_name-quoting-service' - TRANSFERS_SERVICE_ENDPOINT: 'http://$release_name-ml-api-adapter-service' - BULK_TRANSFERS_SERVICE_ENDPOINT: 'http://$release_name-bulk-api-adapter-service' - TRANSACTION_REQUESTS_SERVICE_ENDPOINT: 'http://$release_name-transaction-requests-service' - ## Disable the fulfil response callback - TRANSFERS_FULFIL_RESPONSE_DISABLED: false - ## Set the fulfil response response information - TRANSFERS_FULFILMENT: 'XoSz1cL0tljJSCp_VtIYmPNw-zFUgGfbUqf69AagUzY' - TRANSFERS_CONDITION: 'HOr22-H3AfTDHrSkPjJtVPRdKouuMkDXTR4ejlQa8Ks' - TRANSFERS_ILPPACKET: 'AQAAAAAAAADIEHByaXZhdGUucGF5ZWVmc3CCAiB7InRyYW5zYWN0aW9uSWQiOiIyZGY3NzRlMi1mMWRiLTRmZjctYTQ5NS0yZGRkMzdhZjdjMmMiLCJxdW90ZUlkIjoiMDNhNjA1NTAtNmYyZi00NTU2LThlMDQtMDcwM2UzOWI4N2ZmIiwicGF5ZWUiOnsicGFydHlJZEluZm8iOnsicGFydHlJZFR5cGUiOiJNU0lTRE4iLCJwYXJ0eUlkZW50aWZpZXIiOiIyNzcxMzgwMzkxMyIsImZzcElkIjoicGF5ZWVmc3AifSwicGVyc29uYWxJbmZvIjp7ImNvbXBsZXhOYW1lIjp7fX19LCJwYXllciI6eyJwYXJ0eUlkSW5mbyI6eyJwYXJ0eUlkVHlwZSI6Ik1TSVNETiIsInBhcnR5SWRlbnRpZmllciI6IjI3NzEzODAzOTExIiwiZnNwSWQiOiJwYXllcmZzcCJ9LCJwZXJzb25hbEluZm8iOnsiY29tcGxleE5hbWUiOnt9fX0sImFtb3VudCI6eyJjdXJyZW5jeSI6IlVTRCIsImFtb3VudCI6IjIwMCJ9LCJ0cmFuc2FjdGlvblR5cGUiOnsic2NlbmFyaW8iOiJERVBPU0lUIiwic3ViU2NlbmFyaW8iOiJERVBPU0lUIiwiaW5pdGlhdG9yIjoiUEFZRVIiLCJpbml0aWF0b3JUeXBlIjoiQ09OU1VNRVIiLCJyZWZ1bmRJbmZvIjp7fX19' - MOCK_JWS_SIGNATURE: 'abcJjvNrkyK2KBieDUbGfhaBUn75aDUATNF4joqA8OLs4QgSD7i6EO8BIdy6Crph3LnXnTM20Ai1Z6nt0zliS_qPPLU9_vi6qLb15FOkl64DQs9hnfoGeo2tcjZJ88gm19uLY_s27AJqC1GH1B8E2emLrwQMDMikwQcYvXoyLrL7LL3CjaLMKdzR7KTcQi1tCK4sNg0noIQLpV3eA61kess' - - service: - type: ClusterIP - port: 80 - targetPort: http - - readinessProbe: - enabled: true - httpGet: - path: /health - port: 8444 - scheme: HTTP - initialDelaySeconds: 5 - periodSeconds: 15 - livenessProbe: - enabled: true - httpGet: - path: /health - port: 8444 - scheme: HTTP - initialDelaySeconds: 5 - periodSeconds: 15 - - ingress: - enabled: true - ## @param ingress.pathType Ingress path type - ## - pathType: ImplementationSpecific - ## @param ingress.apiVersion Force Ingress API version (automatically detected if not set) - ## - apiVersion: - ## @param ingress.hostname Default host for the ingress record - ## - hostname: moja-simulator.local - ## @param servicePort : port for the service - ## - servicePort: 80 - ## @param ingress.path Default path for the ingress record - ## NOTE: You may need to set this to '/*' in order to use this with ALB ingress controllers - path: / - ## @param ingress.annotations Additional custom annotations for the ingress record - ## NOTE: If `ingress.certManager=true`, annotation `kubernetes.io/tls-acme: "true"` will automatically be added - ## - annotations: - ## @param ingress.tls Enable TLS configuration for the host defined at `ingress.hostname` parameter - ## TLS certificates will be retrieved from a TLS secret with name: `{{- printf "%s-tls" .Values.ingress.hostname }}` - ## You can: - ## - Use the `ingress.secrets` parameter to create this TLS secret - ## - Relay on cert-manager to create it by setting `ingress.certManager=true` - ## - Relay on Helm to create self-signed certificates by setting `ingress.selfSigned=true` - ## - tls: false - ## @param ingress.certManager Add the corresponding annotations for cert-manager integration - ## - certManager: false - ## @param ingress.selfSigned Create a TLS secret for this ingress record using self-signed certificates generated by Helm - ## - selfSigned: false - ## @param ingress.extraHosts An array with additional hostname(s) to be covered with the ingress record - ## e.g: - ## extraHosts: - ## - name: transfer-api-svc.local - ## path: / - ## - extraHosts: - extraPaths: - extraTls: - secrets: - className: "nginx" - ## - # - secretName: chart-example-tls - # hosts: - # - chart-example.local - - resources: {} - # We usually recommend not to specify default resources and to leave this as a conscious - # choice for the user. This also increases chances charts run on environments with little - # resources, such as Minikube. If you do want to specify resources, uncomment the following - # lines, adjust them as necessary, and remove the curly braces after 'resources:'. - # limits: - # cpu: 100m - # memory: 128Mi - # requests: - # cpu: 100m - # memory: 128Mi - -mojaloop-simulator: - enabled: true - # Default values for mojaloop-simulator. - # This is a YAML-formatted file. - # Declare variables to be passed into your templates. - - # Usage: - # Add simulators to the simulators object. The following example will create two simulators, - # 'payerfsp' and 'payeefsp' that will be created with the default values available lower in this - # file. - # - # simulators: - # payerfsp: {} - # payeefsp: {} - # - # The default values can be overridden for all sims by modifying mojaloop-simulator.defaults in - # your parent chart. They can also be overriden per-simulator. The following example will result in - # a payerfsp without a cache and a payeefsp with a cache. - # - # simulators: - # payerfsp: - # config: - # cache: - # enabled: false - # payeefsp: {} - # - # If you want to disable any of the default simulators, you can define the values to null in this file. - # - # simlators: - # payerfsp: null - # payeefsp: null - # - - # TODO & notes: - # * do the port _numbers_ matter at all? Can we get rid of them? - # * for Mowali, how are JWS and TLS secrets being set up? - # * support arbitrary init containers + config (that might just be config that goes into defaults - # or something?). Supply all config and volumes to the init containers. - # * create some test containers - # * parametrise imagePullSecretName (global? like https://github.com/bitnami/charts/tree/master/bitnami/redis#parameters) - # * generate JWS private/public keys, so the user does not need to supply keys at all. - # * generate public key from private, so the user only needs to supply private keys for each sim? - # (_might_ be possible with a job or init container or similar). - # * support mTLS auto-cert generation - # * probably eliminate all config that shouldn't actually be changed by a user, e.g. - # JWS_VERIFICATION_KEYS_DIRECTORY. That's a good configuration option to have for other contexts, - # such as running the sim locally or in docker-compose but in this context it's _an - # implementation detail_. The chart user should not have to worry about it, and we should not - # have to test the effect of changing it. - # Also - # INBOUND_LISTEN_PORT - # OUTBOUND_LISTEN_PORT - # * make ingress more generic- do not preconfigure annotations - # * think about labels a little more carefully- the app should probably always be "mojaloop-simulator" - # * add config map and hashes to the deployments so that a configmap change triggers a rolling - # update - # * support JWS public keys for other entities. Add a note in the documentation that they must map - # directly to the value that will be received in the FSPIOP-Source (check this is correct) - # * update labels to be compliant. E.g. app.kubernetes.io/name or whatever - # * rename ".Values.defaults.config" as it's pretty a useless name - # * support arbitrary sidecars? - # * use the redis subchart? https://github.com/bitnami/charts/tree/master/bitnami/redis - # - this would mean a single instance of redis (probably good) - # - might need to have the simulators use separate databases per simulator, or prefix all of - # their keys with their own name, or something - # * allow the user to optionally specify the namespace, with the caveat that that namespace will - # need to be created manually before the release is deployed. There may be a horrible hack (which - # I have not tried) whereby all templates are moved to a different directory, say ./xtemplates, - # then all are imported using {{ .Files.Glob }} and {{ .Files.Get }} then templated into a single - # amazing template with {{ template }}. At the top of this template goes a namespace. The - # consequence of this is that the namespace is created first, enabling this beautiful pattern. - # Remember, with great power comes great responsibility. (In other words, we probably have a - # responsibility to _not_ do this). - # * should redis be a statefulset? optionally? what does the bitnami chart do? - # * move labels into helpers - # * autogenerate ILP stuff? - # * defaults.resources looks like it's used nowhere- check this and remove it as appropriate - # * look for references to replicaCount in the charts/values. Is it set, or whatever? - # * scale Redis - # * changing JWS_SIGNING_KEY_PATH currently breaks the chart because it's nastily hard-coded. It - # should be possible to use the Spring filepath functions to avoid this. Similarly, changing - # RULES_FILE will have a similar effect. Alternatively, make these unconfigured by default. I.e. - # comment them out, hard-code them and add a warning to the user in the config. (Is there a - # scenario where the user should want to configure them? I don't think so..). - # (https://masterminds.github.io/sprig/paths.html) - # * put sim inbound API on port 80 - # * supply more documentation, especially a range of examples, and preferably documentation that is - # executable - # * share configmaps, secrets with init containers - # * share an emptyDir volume between init containers and main containers - # * allow init containers to create secrets and put them on persistent volumes, or emptyDirs, then - # allow main containers to access those - # * do not put environment variables in configmaps, instead put them straight into the deployments. - # This makes the deployment much easier to manage. - # * Remember, labels are _for_ identifying stuff. So labels should probably be like "release" - # (.Release.Name or similar) "chart" (.Chart.Name or similar) "simulator" (e.g. payerfsp, - # payeefsp) "sim-component" (e.g. backend, scheme-adapter, cache) - # * can _probably_ remove port numbers from services to simplify chart (although perhaps not? try - # to port-forward with a named port instead of a numbered port?) - - - simulators: - ## Every key added to this `simulators` object will be a simulator that takes on the default - ## config below. The default is deliberately left empty so nothing is deployed by default. - # payerfsp: {} - # payeefsp: {} - ## Default FSPs for Mojaloop Postman Scripts - payerfsp: - ingress: - hosts: - - sim-payerfsp.local - config: - schemeAdapter: - secrets: - jws: - # The following is an example key and shouldn't be used in production - privateKey: |- - -----BEGIN PRIVATE KEY----- - MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCg9eU66hg4ZAE6 - jM4U8ylXQwUz9cdmzS3JyW+1bbgv77peMKSU/wFsi4QRwmbrYze9baFnGCKnS75E - vCchib5vJxp3MDWzi/TGxmzgWdJRzkyCiI5C6dCgVL71MjsFgN3TN63wEf5sEU2I - eoJ8yXJM0pUG9f9NO7p/IGliDmt6C7EA7D9kQWigufmX0ZTVNKI07fKwC/AEKLp7 - kx99pvsCq8m184EEL15Q/NhA7R/5zKoHvmJa6Jd7tM0i0xn8IKOkNVFu3YIafAEC - QWQwRbanFEeRc3tH3bEoYM8c74r+W+YxCG7nUf16XCk132XVffbHVl+wFgo18YB/ - sAJmcbePAgMBAAECggEAGQGKnsf+gkg7DqMQYx3Rxt5BISzmURjAK9CxG6ETk9Lt - A7QP5ZvmVzwnhPDMN3Z/Et1EzXTo8U+pnBkVBTdWkAMlr+2b8ixklzr9cC9UJuRj - a4YWf9u+TyJLVmF63OSD0cwdKCZLffOENZc+zW8oZDn08BNomdGVLCnXZWXzGY8X - KaJTJr29jEgkKOqFXdAHrsmj7TBtqSLZKx2IHdCmi05+5JCxVLPgnDiCicZ9zEii - yWw57Q1migFIcw6ZQP4RyjgH1o70B+zo3OL7IQEirE17GUgK16XD8xi8hWCYTj5n - xOz9yfVfPuYom/9Xbm5kYJZKE2HOZ3Lg8pUnWncuNQKBgQDbaOoACQPhVxQK1qYR - RbW0I5Rn0EDxzsFPEpu3eXHoIYGXi8u/ew9AzFmGu+tKYJV5V4BCXo5x2ddE+B8B - dXhyHLGfeV8tWKYKBpatolVxxKDL/9fnxoGIAO9cc91ieOm5JxmKscCVP1UnOXHZ - uomSfAbGQwYDtMd2bJKkE1z0qwKBgQC7zacuv1PMaDFksHuNNRG+aZ74pJ77msht - vJoKyaQcktD0xmIXhFfJvK4cclzG7s5jxCsu2ejimgmfVzgXlLEMrJFvSdFkD2SS - gGqoxq5c9g8ssvt7xwr7aJ+VYYWTWRzJrOUny+99UbwHedu0EHL1BYILwy67Lium - sgUeeCEgrQKBgGv+7f7qcRB/jgvvr3oc990dDjUzGmRrQlcrb54Vlu2NYH45fyZW - 6iEY9JAO+zd25tv9J9KDPFXpxb3a61gKfCie2wcF9MUbN08EAzKgDrKa+BKxcZJR - 8PwCic7V8QhBP7m09yt/Zq2PqNhPvCxRVtnVVnhMES/N0cgGlP9R0JVVAoGAHU2/ - kmnEN5bibiWjgasQM7fjWETHkdbbA1R0bM59zv+Rnz/9OlIqKI5KVKH7nAbTKXoI - iuzxi7ohWj2PwQ4wehvLLaRFCenk9X8YJXGq71Jtl7ntx6iNLCFtFS/8WbuD5GwX - 7ZfCrLk+L6RyBayzY0wSuKch+Y8AvKf2aISyFpkCgYEAjSfEjz9Cn+27HdiMoBwa - +fyyoosci/6OBxj/WTKvV6KUYLBfFoAYpb9rqrbvnfyyc0UiAYQeMJAOWQ1kkzY4 - zXs63iPQi2UeGPJZ7RsT+31DSaG9YiQdrInsUrlm8hi1C7Pg/NNt6Y1G0WhWYrvF - iNK0yCENMhSoOTtbT9tmGi0= - -----END PRIVATE KEY----- - publicKey: |- - -----BEGIN PUBLIC KEY----- - MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAoPXlOuoYOGQBOozOFPMp - V0MFM/XHZs0tyclvtW24L++6XjCklP8BbIuEEcJm62M3vW2hZxgip0u+RLwnIYm+ - bycadzA1s4v0xsZs4FnSUc5MgoiOQunQoFS+9TI7BYDd0zet8BH+bBFNiHqCfMly - TNKVBvX/TTu6fyBpYg5reguxAOw/ZEFooLn5l9GU1TSiNO3ysAvwBCi6e5Mffab7 - AqvJtfOBBC9eUPzYQO0f+cyqB75iWuiXe7TNItMZ/CCjpDVRbt2CGnwBAkFkMEW2 - pxRHkXN7R92xKGDPHO+K/lvmMQhu51H9elwpNd9l1X32x1ZfsBYKNfGAf7ACZnG3 - jwIDAQAB - -----END PUBLIC KEY----- - payeefsp: - ingress: - hosts: - - sim-payeefsp.local - config: - schemeAdapter: - secrets: - jws: - # The following is an example key and shouldn't be used in production - privateKey: |- - -----BEGIN PRIVATE KEY----- - MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDMu126miewCUCT - 7f49B0SyCPFGzmqGSs9rTPbk1se+BBhqfhsfkZj6cRRfrlg3rme6we0Ib2AF5TQL - noSBlDAimQcNOHXrqpAY/B0l/mgyUwmfv0NJ3UjZuCFuw3HRrU/oSUfXoDITC+Bi - 120w4FY2B/vPn+1iC/tsaCayneoaV/Sedq7H9+smEnQfGl3p5QJp/B2Ws3Bz1HqI - IoxLEaO9VMeDHQPvNJn/7g9erqA5vIhmgLS46worOVjdRLH2SECH73qp8Wg0rJ8Y - eW2kQ8kuY4uHcG3MO6drYrC011U0ZyM90KV7dv2Y0h2FHlpn9s/pmb630m5ELpnB - T/pYTLcXAgMBAAECggEADqk6Qz3SgBeMMYEWYZ4ZdsW6Ktpm+Xqg/kDy4JywOB9z - SikBXeeKH3Z6ltwq2BicDV020Wb8Zt+s3vTOmLhDzC544/hPmtKfjWfR2eHX6gaq - m+8ml+20pQFmb4Kn2MlC/Xzwm/SOXBvPyUmTua95rQExsK12DT0+F4YhLfhYsTh2 - HfkEzdFW4rrd+9ddKG1ZANS4ZaiMyzhtvUWeEBypBtVf+kBk+51t9pLCdjuynb8I - WylSDhikT3/YQ/3g/Sz3SMp1u4x0GQe9FWYrnPzzp5LnM5fm49v8JWVHUvd0TOi0 - dQV+LYlgSD38YPpi4iKQSh0Zf0EBfbA83GsX2ArJ7QKBgQDmvcA6PqPo0OV/7RKY - JuziA3TpucL8iVM1i7/Lv6+VkX88uDvEjwLoNAiYcgIm/CMK7WAwA+Dzn4r38EHB - BKF4KRhP0qQS0KLXsd0tdsmAB0In7+cbKL4ttqNUP98xZAkTLJq9PXqTKN0qtyw4 - SfIsVMjDGoeSdWHObZYbGKICfQKBgQDjJLwolDrVX29V4zVmxQYH5iN+5kwKXHXj - suHBrW02Oj/GQFh3Xj6JQi3mzTWYhHwhA4pdaQtNYqTaz9Ic/O1VNPic2ovtg+cd - 7sh86qdQ4QZYhN3RT4oX///u6+UK90llh9hEBo3GuZ4X47tuByNtD4SFAlULrkSm - fW4XaC3gIwKBgGil6HfCDx65F00UnVlKVicPQEf8ivVz5rwjPIJQ1nZ0PYuxVtIH - tl7PspJJKra5pb7/957vM2fqlOFsIrZCvmS75p3VP7qUyzYeIdzLwgmBwTxRrrP/ - n3kmGx9LtJM29nKuySNIrb3uS5hi6PhCeUYn0cHC13fSKuCvjOOPIXMVAoGBAJg+ - CPdR0tUs8Byq+yH0sIQe1m+5wAG50zJYtUPxD6AnDpO8kQ8A1f19o/JsXJ3rPp+K - FfVh8LdfhIs8e+H+DLztkizftqXtoLzJTQuc46QsDurJszsVisNnTI1BAvWEpWct - 0+BUXDZ0NuhgNUIb+rygh/v2gjYgCddlfqKlqwntAoGBAM5Kpp5R0G0ioAuqGqfZ - sHEdLqJMSepgc6c7RC+3G/svtS2IqCfyNfVMM3qV5MY3J7KnAVjGOw2oJbXcPLXa - uutsVVmPx2d/x2LZdc8dYYcdOQZvrUhmALhAPXM4SRujakxh+Uxi1VOiW+fZL8aW - uu1pxuWD0gTJxFkp6u4YIAhw - -----END PRIVATE KEY----- - publicKey: |- - -----BEGIN PUBLIC KEY----- - MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAzLtduponsAlAk+3+PQdE - sgjxRs5qhkrPa0z25NbHvgQYan4bH5GY+nEUX65YN65nusHtCG9gBeU0C56EgZQw - IpkHDTh166qQGPwdJf5oMlMJn79DSd1I2bghbsNx0a1P6ElH16AyEwvgYtdtMOBW - Ngf7z5/tYgv7bGgmsp3qGlf0nnaux/frJhJ0Hxpd6eUCafwdlrNwc9R6iCKMSxGj - vVTHgx0D7zSZ/+4PXq6gObyIZoC0uOsKKzlY3USx9khAh+96qfFoNKyfGHltpEPJ - LmOLh3BtzDuna2KwtNdVNGcjPdCle3b9mNIdhR5aZ/bP6Zm+t9JuRC6ZwU/6WEy3 - FwIDAQAB - -----END PUBLIC KEY----- - testfsp1: - ingress: - hosts: - - sim-testfsp1.local - config: - schemeAdapter: - secrets: - jws: - # The following is an example key and shouldn't be used in production - privateKey: |- - -----BEGIN PRIVATE KEY----- - MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDZHci4QOmoO2xL - 3p6YjS90Iml5v+WcLFHY3DnHpncaML09EUInaCxLZmrvQ1pRDnJauutn0Nnw+OAJ - ep+1Qobja4WyJssWk3T0iNC5kIO4CQJ0SMyCb7GJ6zjtqNHOXp685zQKWRAFlUbJ - uX1ECvo1FMU5iRiMnTFLQw2R9GQOI4S7kED9cpvmgtvJUyMbK8uDJLWDjXHh8D4J - xvk8Q1qH12qQUnePbXxGz5sbK2tWqusIKNXUWIj5j1iMq5NFGjtT+NwYct8RzthF - w/ZT2izFDEW+EfFHtbR7vh8BTwHxggnPCNpC+sSH1IlFzYhmyHoR0EBdeZuTiwcr - KGhfRvJRAgMBAAECggEAJ1r6QMfncsq+sSv71Iw3D1aThvGtZbc06NnWkWWPzkwK - aXDg7HK6ILrCZHdxfiLfwKmENU/KyZ7bQWycWYdjGwMo+2eDxaZZ+193ckOLVMcx - TjHJ/FTRuj3MlmvVCBLntDc2nC+Ts2dhKvy4A6b3vrpym6DJtedigZF4er3xiww4 - a9XV7vr5xDEjf4kFWWGtEDuF+4YAEBbmD76cRyF5Hv8eoU0MELCelHqL1jL7W6/5 - sTfbTxRIFO3wmJhW2ZRRyD9EN5lmP9dROxIE4H3tRBihUJVDBA0IXGiE2Z+NjOUJ - ycbZVT0LMa3XeYKdrhHRGFafWPSPIJCyQOIK33V6BwKBgQD/TjS9sXJ9hXu53bM1 - 8/X780kUp66GQF5V+QhMAVW/6BdQ1Fkhv6AuJZl+FujBRszSdl96thILy87qkP+n - dUDxXn5B2B7MQ1K7uwmKrYW087BfDPa+3R7wKJ4fndIhrqANGy1KCfwhe8GJEzpP - vlI4JeInrgMXyQgZgj+65zE22wKBgQDZtPu1MD8SJVvUYXgP1u0XqJWZDo5dndI1 - KA7UlefbBqqtZ87EP7zxcTZHaRLuMBPEppH4+K4NsopnZh4rD+bV/NOJ/rI6PMZe - zIkjLYE+KTgvM7pvwDy+q08fDYnucS4xnHOjLzw8/l4ptJ1uigXkx8PSl94118+5 - h4Ac4ZL1QwKBgQCk/3MggXT/4GvU9I4kuVVpjpLVkYU+aI1PPNH65QX5L9MZvxMX - t5ObH1uy3LVybAJlpnEQimjhTMeeWzWOkT32gF5SyY0l8AChKUECaiC2kKOU2nkB - Y0Diby26OzIZ6JSxw7WiWw+iyCuNHmsaLGNQvFML1+9RyO++JKpxbYcl7wKBgBbd - Vi5CYe1i9REKJ5TqSr5YW1XW3Ibig2hHy77x+4baXWSW6XVdCFgHPt8jHvTbIche - gig23fjcToLri7GUGvdQdVsh39AT//WG38RNDCzeIWN7uFHyS67uyQGG53yecG6P - cumplVcGlBcnO/2XC2VqwZtFjfXzs4JVw9PEsS2HAoGANdd6dNf7ETpBgAlesWgS - 73JAElMGkQH42dqejEzMa5CXUCPLQdqHCgxaT4M25c6F8tUhb2qSvV+Cl+zVkqlA - CpocM6+FV4oYNLIJUtNJj+XLbDkV2XjXYzuzcGlDd9HAv6hzg0zHOhN6ETsxqIx7 - dvV4dxN19eDirp9AVl6k3Ew= - -----END PRIVATE KEY----- - publicKey: |- - -----BEGIN PUBLIC KEY----- - MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2R3IuEDpqDtsS96emI0v - dCJpeb/lnCxR2Nw5x6Z3GjC9PRFCJ2gsS2Zq70NaUQ5yWrrrZ9DZ8PjgCXqftUKG - 42uFsibLFpN09IjQuZCDuAkCdEjMgm+xies47ajRzl6evOc0ClkQBZVGybl9RAr6 - NRTFOYkYjJ0xS0MNkfRkDiOEu5BA/XKb5oLbyVMjGyvLgyS1g41x4fA+Ccb5PENa - h9dqkFJ3j218Rs+bGytrVqrrCCjV1FiI+Y9YjKuTRRo7U/jcGHLfEc7YRcP2U9os - xQxFvhHxR7W0e74fAU8B8YIJzwjaQvrEh9SJRc2IZsh6EdBAXXmbk4sHKyhoX0by - UQIDAQAB - -----END PUBLIC KEY----- - testfsp2: - ingress: - hosts: - - sim-testfsp2.local - config: - schemeAdapter: - secrets: - jws: - # The following is an example key and shouldn't be used in production - privateKey: |- - -----BEGIN PRIVATE KEY----- - MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQC/uTQyrLSNJcWk - cP39r5iXl2Nerod3IL4GxID+xEpzMQEpDJbyYQlUgsAqQ6JtbMrt75ImNA9sWOCq - JRm9Ejn6CAeRIlcRXbwGLawXnwDXmxCPBpKQTa8HAsAvkZ+1KZqjRBKjNJ9D5EXD - Y36WhEZh51dmlEyxgWvW4DWpq9wGOiPsmo+kgPtRpOBfDAdZtX6Pa6FB+i2pG85D - kpObHkclr5WM+77EALuaZwv53GZ4GlskkPkuLwHyCAlcYlST4SfpdIiBmRDq8q8L - 0fJqwTpZktdT4kmgKnbCQI81NHHM8TY8aeUjRrhk/b/L/bJpxzgdAYGEQxz5JVP9 - VJloxL4BAgMBAAECggEAGZJlDy5AbcQgOrj0c7IIXw3K6/3I5T+JgQMUNobtbDRY - 1IYQmxcMxMgkw+5d+4zjez11R6GxffDT1HXa20BTWdFY2weSx+bx9XwBhGwJk3hk - CsOkaFloMz3vbtjUTbhVHxotBzY1WPuZP4CliYNulM/jtTOqEBH0VYZ1ueIJmI3N - EtSUO1IAYO8SyP4sozLpAIfp4+ftML4HVCiD6aKdVl38S3PX65j1Q3x9Jz3GBSBo - 9UA6cQHRoCMrujeIAeY2uUCevhdm75xoywVFSCpRCguFxIX5GbvISJRL8XFNhDHl - OY7yHSOJSmnedFh8oRwBDKkoxhwb+nn1wjf4FXdY/QKBgQDgRuqPx2ou25vKOnx1 - G/xvvMLWzB9KF2wqqFP4uNv0dI9qJ7zCf1ifneAv/CEU+JwX5KJknUtanCpWZare - vlWSH0UItgs0cgEKjKFwYzXIlc06TffkFz+UlGlLXSFD3BR59xmOY/ZwXlgPz4iW - 6TefXvrU+jNGigJVIYEMzBaCLQKBgQDa14VuCOjMa0YtzAd1cQ2jd8dYovnko/J0 - OQtdx9WoEdeKsCJ8cwVJxSOF4739i0h2Bxa/lLI6mn9VuBKddBLThO1+vBCQ1SCi - rQGYy1JUchy7OTBo1pEMAQ9AsFGXDMg4/uWdM18O9JwDHAIKsj+vGP+NTgVSO5Cq - lO6QgG+TpQKBgHsKLNDoQ/alAFj3sSPGUL00P2f74AaTxwG4CylesTzxXWSNnF7P - 4lzfDgkFN1j78xaglf7A1IBHQGrZp94/aU6a3RKkXI1PJgcVk9PGedErbcXY1HBL - 2NO4f/Oaig9ig9FNoLWfXanT+FfkMTkphRxnzRBemxbNy+3MTbIpnQeZAoGBAMSF - yKAAxjZUm2gjEguoI6xJsy3o5WoqxF8Unx1viHHu29YCyGVj0TrnGzhwRTx8KO08 - /nO677bq6TCsJaNaClICzFgEQQgfLLiJjqaM5/lHpH+JIuzyyryx8uWPsSVpaCCu - 3rol2NaQWc39B+RdIA148H0PtH2dWhOlvPrtK8W1AoGBAMza6OkhyCIzSTKVSWuF - dvIUbj6jjFLuRapusG+JX+B12Upa6Z3lOHe7e0VWq3rgTktnfqf2gO55b+3o30o4 - ww+sGmRdqMTuPCCZx41XT/v0loYm+ik1GAJz1TUFDDtXlouD2QCDJJfZqPIQf29/ - bFt8u+844ddF0+j5r5Q2aXdR - -----END PRIVATE KEY----- - publicKey: |- - -----BEGIN PUBLIC KEY----- - MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAv7k0Mqy0jSXFpHD9/a+Y - l5djXq6HdyC+BsSA/sRKczEBKQyW8mEJVILAKkOibWzK7e+SJjQPbFjgqiUZvRI5 - +ggHkSJXEV28Bi2sF58A15sQjwaSkE2vBwLAL5GftSmao0QSozSfQ+RFw2N+loRG - YedXZpRMsYFr1uA1qavcBjoj7JqPpID7UaTgXwwHWbV+j2uhQfotqRvOQ5KTmx5H - Ja+VjPu+xAC7mmcL+dxmeBpbJJD5Li8B8ggJXGJUk+En6XSIgZkQ6vKvC9HyasE6 - WZLXU+JJoCp2wkCPNTRxzPE2PGnlI0a4ZP2/y/2yacc4HQGBhEMc+SVT/VSZaMS+ - AQIDAQAB - -----END PUBLIC KEY----- - testfsp3: - ingress: - hosts: - - sim-testfsp3.local - config: - schemeAdapter: - secrets: - jws: - # The following is an example key and shouldn't be used in production - privateKey: |- - -----BEGIN PRIVATE KEY----- - MIIEuwIBADANBgkqhkiG9w0BAQEFAASCBKUwggShAgEAAoIBAQCZKXDVFI703fvK - SdDnFukWC6EbQipNSg+MzzZvt+E/ynkBO35QK4E9Z3RgOWS74GxMI+K+h6k4+3Z0 - XQJjJAj8dPeserCMnTgThQ76fZ5kDi3YtdoFoxvNVQhTVBGe4soocb/H6XKoUXVH - qDI4J+KiW4t/bz3OnVRhHIzCdnM5kGFQnXchWgL3ymhueU8m2d6532GqsEbhC9dZ - D3cbo757UZAn4TZUgiTVSlY07e4nUulUvVV0+pQmjZMwBQNxonBVkFQWuitrbMVh - ZYEYUL5tB07OAfN/p2LcxumCJ49dGqLvC0VyMsGQkZ3dS9kNKx/sP67xlSl9YeCI - PN95wxcFAgMBAAECggEAB+EQ4h/89O3e+SGpAPiZTxOUFAkEyTIz1CR6kIstNhEB - 4iVYzykBV2D/3YZ9cOxk/r1N3WgGUggCGlYlPEtO1UJk8g//8jaRNEYWZp582nkR - mEWjjKWUOR8pu0JYdUTM0Va2CYrayUMGoPXZzNtPiCw5q0C3pycRDdngQMaKgra7 - kj0pOITHpgN4bCPeutKAX514aD+nobJ4UOjcWcAemuoM4ZSl/tqZziXAHi3DjuIL - jTfeBKae7tViUuQPwxcCNffTAsKAlI0BaD10fb1gzwLZkY4E8LThlIR3Pk6BdPlA - ab0Gu9rtgIbPJnNFp5QWMVelW+2WF2qWfszu2HloFQKBgQDLhLh8xsP2ioGWLyFl - JKGDzyNYn+MC3ZWaNttsprl+hBXRMGXfMDlGSJ0WAHYDgjMJIcZqUmPGGchQkwC0 - QnTeRbFLSlzVormqYVxJqrlNs3t0KRqarq1S3aFEPQI/aLBjsuXFlHegdpLJHQW6 - exZvU4+ShS+LMZeu/ywqsUIqgwKBgQDAqG3mFmY3NYZLAA2YWsxU2bQyHgqnK7CJ - XZxZ+FE+2Xo2EqAMM3fJj5IShlCnjE7ciMt1hyigKTZlKIiO7iOCAiZ0P4XOZuOA - p3wQEFCjfl7mjTXj75LzWTla+92B1t2tHhYXdd1y3M3yci8UK76MxCZrK/ol4oN5 - UhEHQaeh1wJ/XQNLTbuJ1CN5Fip0GMWlC5ifjuGD3stmlBR+NCn+nNPBJNn5tQdV - JcoKAQQ062WV7ZaCGBWPg/pEko6cw8Wbo/o2DTLvOrQkJrpYc1KTXe+pfG1Mu2UZ - 0cV47rbzUAeIlggs+x/fjHakn0WkWJXoqviFpXE5SWRg7pmwldJtawKBgQCEj9/+ - n475kgSzenfgSympgJqymWUvHaq8+gJpDampmy6yIiKqAof70qPpxy2b+7kPmbiV - R8i2W2UoObmsz0LzY9NdzY+eM8F6dsOwsekqdfuKm8Nm8SOl+dCzP/ZsLpIdWkRN - JDaZoEC8/8BRGsBkT1s4Bux6QN/CDKvW2GAlxQKBgDcTDbSxhmyMjDJr5p1oy4re - Ju0bMtFyf95B2mqMw781JoKxXHfHNBwtHgku1JHSKtTRCH7w4uoLrN+dDXd68Q6b - qmJ4KNL+8ac2sJWOyjWP2bB62/Yqx/XcFJXHbfnvSEXRGav+D/aq3xkmRDwa8wqM - zmVQaekRl4XbZA8+Fvgw - -----END PRIVATE KEY----- - publicKey: |- - -----BEGIN PUBLIC KEY----- - MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAmSlw1RSO9N37yknQ5xbp - FguhG0IqTUoPjM82b7fhP8p5ATt+UCuBPWd0YDlku+BsTCPivoepOPt2dF0CYyQI - /HT3rHqwjJ04E4UO+n2eZA4t2LXaBaMbzVUIU1QRnuLKKHG/x+lyqFF1R6gyOCfi - oluLf289zp1UYRyMwnZzOZBhUJ13IVoC98pobnlPJtneud9hqrBG4QvXWQ93G6O+ - e1GQJ+E2VIIk1UpWNO3uJ1LpVL1VdPqUJo2TMAUDcaJwVZBUFrora2zFYWWBGFC+ - bQdOzgHzf6di3MbpgiePXRqi7wtFcjLBkJGd3UvZDSsf7D+u8ZUpfWHgiDzfecMX - BQIDAQAB - -----END PUBLIC KEY----- - testfsp4: - ingress: - hosts: - - sim-testfsp4.local - config: - schemeAdapter: - secrets: - jws: - # The following is an example key and shouldn't be used in production - privateKey: |- - -----BEGIN PRIVATE KEY----- - MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDH5Q+uzIdf7yTX - 4A23TTaGSCMU6ieKUmg2qsRJ0/lnk50A0eFQb98ux/XT90oEpqa8dqpla7lic3BK - XdWoUYI+zmauzepTE3L0IZJB7VzQcPfbZiFG7OrGPAUtxxz4FBbKSA7FJnchIAEs - blsyu2mQx+zbeajnQS3P+6oqDjdyuT5JyDjna7UFarozx1YXExwyfKsEtIPuMh/U - L/q80gtWbXA9nA38t7vmdqxhh4PMddHgSEl6KK29yqwHsgpVg/5Yi0ubhbgLQbHm - 6XflBQK05t5AqD2j5h94h/dk9WzoWft8/haxI3OqFoaOOQmHemSs3KJndL+PyzL7 - 6JCMlsHBAgMBAAECggEACsA4V3WjG0cEo4KmojLqKY80KdINJdyYQ8Zr76+RpJ81 - DL/8/wNBTOYOw+NzLOxcn9q+/9zrF88vHSTOUrLtjxyxO5oSDf1IC7bJg7e1K/XD - ct6bkBG6b8Z3HdbtaS9FaYQ2HSbcNeEfhwj5aTFYtGN4SvaQXb2s7dhydrgUhdw1 - 1TxXDio728BjRvCOex4H2lmJSflGYwHGJpy1C5Q8upAAMhKMP11598i9Vw7JJI4t - wZ2vv3w728ApnQzDIiLzKMvNtvoEwQ7PlnSevL6V4sYAnsAmx6ZctEEv632nGPqk - f5XLlDaczcRDcpAC+nyJKER7T/+emWNFlV0Mj+JMQQKBgQDncR0EzPRWGCDBmH8K - e2hzzS0RmLb1nouhcFb6EiQR4WTvB8BjAJuf1Brq7gX1b/gGfWkYPS/9AKOI/JzO - YHACgQmvTaF2WMHcvhb2F/Z96cKIpsD++RIARClv7MSfbTBVcBXbwaboN/B89sGG - 4+07ciy4uCwdK7wJP2gSyy3AsQKBgQDdGwDGppVdcGc4cStlCKoGQnT5owCidqP+ - pLdF5d69pLKaFKFzUh92dUOwLh4qonuOgGGy574JE0oncKn72eie6biEesu+4uuR - Teu2qrKiHBPDtPlrBZrYnlyE6h9dftAie++bu0UzMSP4WtevxzF0xykELXtlJUx7 - fSjZ7UnWEQKBgQC/qdPPQu/hUG/oAyLKCnLw22xEU0TI2XhmxEKzK0zFpfPRY4j2 - M+2tCZkVDvLOU+CBd2AOG7Xe/qVvb0toOULpP/VGQLLC8DPzW1Rmjmep1Gkug3H2 - dUtr/waV0uzt3h2V05G2gIN5ccHtquePjrfKb/4LJzIZIjvBKMpGLg6AsQKBgAs2 - 32cz88d1eAbI1qadNeJzZHN07QdQdSjpOdJ1wkJkJBrkiPvMYoQjlndNH4KSEyo7 - ILluP5k+PTia4kQ/3SiSOiWeBM99uuz3wsjVB5JpUidO+oePFTd/cLndFhIr6GqX - VqPTb8MU7vodwWrM85k0sMPheqy6o5Jv2q6S9nfBAoGAai34NUJam3rAw+5EF1fI - 9v1AQxFmCX1xPawaFqudGxwod+NtrU5T11O07gDOC9V1ZdDU5btTlEoDgDiy5GNo - 9Bve6yCxr2L7ZaKNccw+yuqTrIzHD4JBpanHjafPCDB+auW0U1lP7Q7TDSzJ42E9 - yq8V8FKKjAQ2hlGoSVfEvG0= - -----END PRIVATE KEY----- - publicKey: |- - -----BEGIN PUBLIC KEY----- - MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAx+UPrsyHX+8k1+ANt002 - hkgjFOonilJoNqrESdP5Z5OdANHhUG/fLsf10/dKBKamvHaqZWu5YnNwSl3VqFGC - Ps5mrs3qUxNy9CGSQe1c0HD322YhRuzqxjwFLccc+BQWykgOxSZ3ISABLG5bMrtp - kMfs23mo50Etz/uqKg43crk+Scg452u1BWq6M8dWFxMcMnyrBLSD7jIf1C/6vNIL - Vm1wPZwN/Le75nasYYeDzHXR4EhJeiitvcqsB7IKVYP+WItLm4W4C0Gx5ul35QUC - tObeQKg9o+YfeIf3ZPVs6Fn7fP4WsSNzqhaGjjkJh3pkrNyiZ3S/j8sy++iQjJbB - wQIDAQAB - -----END PUBLIC KEY----- - - defaultProbes: &defaultProbes - livenessProbe: - enabled: true - initialDelaySeconds: 3 - periodSeconds: 30 - timeoutSeconds: 10 - successThreshold: 1 - failureThreshold: 3 - readinessProbe: - enabled: true - initialDelaySeconds: 3 - periodSeconds: 5 - timeoutSeconds: 5 - successThreshold: 1 - failureThreshold: 3 - - ingress: - # If you're using nginx ingress controller >= v0.22.0 set this to (/|$)(.*). Ensure that you set the `"nginx.ingress.kubernetes.io/rewrite-target": "/$2"` - # If you're using nginx ingress controller < v0.22.0 set this to an empty string or "/". Ensure that you set the `"nginx.ingress.kubernetes.io/rewrite-target": "/"` - # This affects the way your rewrite target will work. - # For more information see "Breaking changes" here: - # https://github.com/kubernetes/ingress-nginx/blob/master/Changelog.md#0220 - - ## https://kubernetes.github.io/ingress-nginx/examples/rewrite/ - # nginx.ingress.kubernetes.io/rewrite-target: '/' - # nginx.ingress.kubernetes.io/rewrite-target: '/$2' - ## https://kubernetes.github.io/ingress-nginx/user-guide/multiple-ingress/ - # kubernetes.io/ingress.class: nginx - ## https://kubernetes.github.io/ingress-nginx/user-guide/tls/#automated-certificate-management-with-kube-lego - # kubernetes.io/tls-acme: "true"" - - ## nginx ingress controller >= v0.22.0 - annotations: - nginx.ingress.kubernetes.io/rewrite-target: '/$2' - ingressPathRewriteRegex: (/|$)(.*) - - ## nginx ingress controller < v0.22.0 - # annotations: - # nginx.ingress.kubernetes.io/rewrite-target: '/' - # ingressPathRewriteRegex: "/" - - # If you enable JWS validation and intend to communicate via a switch you will almost certainly - # want to put your switch JWS public key in this array. The name of the property in this object - # will correspond directly to the name of the signing key (e.g., in the example below, - # `switch.pem`). Do not include the `.pem` extension, this will be added for you. The scheme - # adapter will use the FSPIOP-Source header content to identify the relevant signing key to use. - # The below example assumes your switch will use `FSPIOP-Source: switch`. If instead, for example, - # your switch is using `FSPIOP-Source: peter` you will need a property `peter` in the following - # object. Do not add the public keys of your simulators to this object. Instead, put them in - # `mojaloop-simulator.simulators.$yourSimName.config.schemeAdapter.secrets.jws.publicKey`. - sharedJWSPubKeys: - # switch: |- - # -----BEGIN PUBLIC KEY----- - # blah blah blah - # -----END PUBLIC KEY----- - - defaults: - # Changes to this object in the parent chart, for example 'mojaloop-simulator.defaults' will be - # applied to all simulators deployed by this child chart. - config: - # Config for init containers - initContainers: - waitForCache: - enabled: true - - imagePullSecretName: dock-casa-secret - - cache: - - # These will be supplied directly to the init containers array in the deployment for the - # scheme adapter. They should look exactly as you'd declare them inside the deployment. - # Example: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/#init-containers-in-use - # This init container will have the same environment variables as the main backend container, - # as specified in .env below. - # Additionally, the following preset environment variables will be set: - # SIM_NAME: the name of the simulator as specified in the `mojaloop-simulator` config - # SIM_SCHEME_ADAPTER_SERVICE_NAME: "sim-$SIM_NAME-scheme-adapter" - # SIM_BACKEND_SERVICE_NAME: "sim-$SIM_NAME-backend" - # SIM_CACHE_SERVICE_NAME: "sim-$SIM_NAME-cache" - initContainers: [] - enabled: true - image: - repository: redis - tag: 5.0.4-alpine - pullPolicy: IfNotPresent - <<: *defaultProbes - livenessProbe: - enabled: true - timeoutSeconds: 5 - readinessProbe: - enabled: true - timeoutSeconds: 5 - - schemeAdapter: - secrets: - jws: - # Use the privKeySecretName field if you would like to supply a JWS private key external - # to this chart. - # For example, if you create a private key called `sim-payerfsp-jws-signing-key` external - # to this chart, you would supply `privKeySecretName: sim-payerfsp-jws-signing-key` here. - # These fields will take precedence over `privateKey` and `publicKey` below. - # This field is best supplied per-simulator, however it's here for documentation - # purposes. - privKeySecretName: {} - # TODO: update `privKeySecretName` above to contain both a name and a key in the secret. - # Add documentation on usage. - # privKeySecret: {} - # name: - # key: - # - # The `publicKeyConfigMapName` field allows you to supply a ConfigMap containing JWS public - # keys external to this release, and have this release reference that ConfigMap to - # populate JWS public keys. The format of this ConfigMap must be as described for - # `sharedJWSPubKeys`, a map with one key per FSP/simulator corresponding to the - # FSPIOP-Source header that will be supplied by that FSP/simulator. - publicKeyConfigMapName: {} - # Supply per-simulator private and public keys here: - privateKey: '' - publicKey: '' - image: - repository: mojaloop/sdk-scheme-adapter - tag: v18.0.2 - pullPolicy: IfNotPresent - <<: *defaultProbes - - # These will be supplied directly to the init containers array in the deployment for the - # scheme adapter. They should look exactly as you'd declare them inside the deployment. - # Example: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/#init-containers-in-use - # This init container will have the same environment variables as the main scheme adapter - # container, as specified in .env below. - # All init containers will have the same preset environment variables as the backend init - # container as specified above. - initContainers: [] - - scale: - enabled: false - spec: - minReplicas: 1 - maxReplicas: 10 - metrics: - - type: Resource - resource: - name: cpu - target: - type: Utilization - averageUtilization: 80 - - env: - # Ports the scheme adapter listens on. Shouldn't really matter for a user of this chart. - # You probably shouldn't bother configuring them- it likely won't do you much good. But it - # won't do any harm, either. - INBOUND_LISTEN_PORT: 4000 - OUTBOUND_LISTEN_PORT: 4001 - TEST_LISTEN_PORT: 4002 - - # Enable mutual TLS authentication. Useful when not running in a secure - # environment, i.e. when you're running it locally against your own implementation. - INBOUND_MUTUAL_TLS_ENABLED: false - OUTBOUND_MUTUAL_TLS_ENABLED: false - TEST_MUTUAL_TLS_ENABLED: false - - # Enable JWS verification and signing - VALIDATE_INBOUND_JWS: false - JWS_SIGN: true - - # applicable only if VALIDATE_INBOUND_JWS is `true` - # allows disabling of validation on incoming PUT /parties/{idType}/{idValue} requests - VALIDATE_INBOUND_PUT_PARTIES_JWS: true - - # applicable only if JWS_SIGN is `true` - # allows disabling of signing on outgoing PUT /parties/{idType}/{idValue} requests - JWS_SIGN_PUT_PARTIES: true - - # The number of space characters by which to indent pretty-printed logs. If set to zero, log events - # will each be printed on a single line. - LOG_INDENT: "0" - - # REDIS CACHE CONNECTION - # CACHE_HOST: "" # Default is parametrised, but it's possible to override this - CACHE_PORT: 6379 - - # Switch or DFSP system under test Mojaloop API endpoint - # The option 'PEER_ENDPOINT' has no effect if the remaining options 'ALS_ENDPOINT', 'QUOTES_ENDPOINT', - # 'BULK_QUOTES_ENDPOINT', 'TRANSFERS_ENDPOINT', 'BULK_TRANSFERS_ENDPOINT', 'TRANSACTION_REQUESTS_ENDPOINT' are specified. # Do not include the protocol, i.e. http. - PEER_ENDPOINT: "mojaloop-switch" - # Common Account Lookup System (ALS) - ALS_ENDPOINT: $release_name-account-lookup-service - QUOTES_ENDPOINT: $release_name-quoting-service - TRANSFERS_ENDPOINT: $release_name-ml-api-adapter-service - BULK_TRANSFERS_ENDPOINT: $release_name-bulk-api-adapter-service - BULK_QUOTES_ENDPOINT: $release_name-bulk-quoting-service - TRANSACTION_REQUESTS_ENDPOINT: $release_name-transaction-requests-service - - # This value specifies the endpoint the scheme adapter expects to communicate with the - # backend on. Do not include the protocol, i.e. http. - # You're very likely to break the functioning of this chart if you configure the following - # value. This config item has been copied from the service repo for consistency with that, - # so that if you come here and find this variable, with this comment, it's less confusing - # than if you come here and it's missing entirely. - # BACKEND_ENDPOINT: "localhost:3000" - - # FSPID of this DFSP - # Commented by default- you're likely to break the chart if you configure this value. - # DFSP_ID: "mojaloop-sdk" - - # Secret used for generation and verification of secure ILP - ILP_SECRET: "Quaixohyaesahju3thivuiChai5cahng" - - # expiry period in seconds for quote and transfers issued by the SDK - EXPIRY_SECONDS: "60" - - # if set to false the SDK will not automatically accept all returned quotes - # but will halt the transfer after a quote response is received. A further - # confirmation call will be required to complete the final transfer stage. - AUTO_ACCEPT_QUOTES: true - - # if set to false the SDK will not automatically accept a resolved party - # but will halt the transer after a party lookup response is received. A further - # confirmation call will be required to progress the transfer to quotes state. - AUTO_ACCEPT_PARTY: true - - # when set to true, when sending money via the outbound API, the SDK will use the value - # of FSPIOP-Source header from the received quote response as the payeeFsp value in the - # transfer prepare request body instead of the value received in the payee party lookup. - # This behaviour should be enabled when the SDK user DFSP is in a forex enabled switch - # ecosystem and expects quotes and transfers to be rerouted by the switch to forex - # entities i.e. forex providing DFSPs. Please see the SDK documentation and switch - # operator documentation for more information on forex use cases. - USE_QUOTE_SOURCE_FSP_AS_TRANSFER_PAYEE_FSP: false - - # set to true to validate ILP, otherwise false to ignore ILP - CHECK_ILP: true - - # set to true to enable test features such as request cacheing and retrieval endpoints - ENABLE_TEST_FEATURES: true - - # set to true to mock WSO2 oauth2 token endpoint - ENABLE_OAUTH_TOKEN_ENDPOINT: false - OAUTH_TOKEN_ENDPOINT_CLIENT_KEY: "test-client-key" - OAUTH_TOKEN_ENDPOINT_CLIENT_SECRET: "test-client-secret" - OAUTH_TOKEN_ENDPOINT_LISTEN_PORT: "6000" - - # WS02 Bearer Token specific to golden-fsp instance and environment - WS02_BEARER_TOKEN: "7718fa9b-be13-3fe7-87f0-a12cf1628168" - - # OAuth2 data used to obtain WSO2 bearer token - OAUTH_TOKEN_ENDPOINT: "" - OAUTH_CLIENT_KEY: "" - OAUTH_CLIENT_SECRET: "" - OAUTH_REFRESH_SECONDS: "3600" - - # Set to true to respect expirity timestamps - REJECT_EXPIRED_QUOTE_RESPONSES: false - REJECT_TRANSFERS_ON_EXPIRED_QUOTES: false - REJECT_EXPIRED_TRANSFER_FULFILS: false - - # Timeout for GET/POST/DELETE - PUT flow processing - REQUEST_PROCESSING_TIMEOUT_SECONDS: "30" - - # To allow transfer without a previous quote request, set this value to true. - # The incoming transfer request should consist of an ILP packet and a matching condition in this case. - # The fulfilment will be generated from the provided ILP packet, and must hash to the provided condition. - ALLOW_TRANSFER_WITHOUT_QUOTE: true - RESERVE_NOTIFICATION: false - RESOURCE_VERSIONS: transfers=1.1,quotes=1.1,participants=1.1,parties=1.1,transactionRequests=1.1 - - - backend: - image: - repository: mojaloop/mojaloop-simulator - tag: v13.0.1 - pullPolicy: IfNotPresent - <<: *defaultProbes - - # These will be supplied directly to the init containers array in the deployment for the - # backend. They should look exactly as you'd declare them inside the deployment. - # Example: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/#init-containers-in-use - initContainers: [] - - # Supply JSON rules here as a string - # Example: - # rules: |- - # [ - # { - # "ruleId": 1, - # .. etc. - # } - # ] - rules: |- - [] - - env: - ## - # This is the endpoint the backend expects to communicate with the scheme adapter on. - # Include the protocol, i.e. http. - # It's not configured by default in this chart as the default value is calculated in a - # template and configuring it is likely to break communication between the backend and the - # scheme adapter. - # OUTBOUND_ENDPOINT: "http://localhost:4001" # within the pod - - # Enable mutual TLS authentication. Useful when the simulator is not running in a managed - # environment, i.e. when you're running it locally against your own implementation. - MUTUAL_TLS_ENABLED: false - - # Enable server-only TLS; i.e. serve on HTTPS instead of HTTP. - HTTPS_ENABLED: false - - # Location of certs and key required for TLS - CA_CERT_PATH: /secrets/cacert.pem - SERVER_CERT_PATH: /secrets/servercert.pem - SERVER_KEY_PATH: /secrets/serverkey.pem - - # The number of space characters by which to indent pretty-printed logs. If set to zero, log events - # will each be printed on a single line. - LOG_INDENT: "0" - - # The name of the sqlite log file. This probably doesn't matter much to the user, except that - # setting :memory: will use an in-memory sqlite db, which will be faster and not consume disk - # space. However, it will also mean that the logs will be lost once the container is stopped. - SQLITE_LOG_FILE: ':memory:' - - # The DFSPID of this simulator. The simulator will accept any requests routed to - # FSPIOP-Destination: $SCHEME_NAME. Other requests will be rejected. - # Not set in this chart as these are calculated in templates. Setting this values is likely - # to break expected functionality. - # SCHEME_NAME: golden - # DFSP_ID: golden - - # The name of the sqlite model database. If you would like to start the simulator with preloaded - # state you can use a preexisting file. If running in a container, you can mount a sqlite file as a - # volume in the container to preserve state between runs. - # Use MODEL_DATABASE: :memory: for an ephemeral in-memory database - MODEL_DATABASE: ':memory:' - - # The simulator can automatically add fees when generating quote responses. Use this - # variable to control the fee amounts added. e.g. for a transfer of 100 USD a FEE_MULTIPLIER of 0.1 - # reuslts in fees of USD 10 being applied to the quote response - FEE_MULTIPLIER: "0.05" - - # Specifies the location of a rules file for the simulator backend. Rules can be used to produce - # specific simulator behaviours in response to incoming requests that match certain conditions. - # e.g. a rule can be used to trigger NDC errors given transfers between certain limits. - RULES_FILE: ../rules/rules.json - - # Ports for simulator, report, and test APIs - SIMULATOR_API_LISTEN_PORT: 3000 - REPORT_API_LISTEN_PORT: 3002 - TEST_API_LISTEN_PORT: 3003 - - thirdpartysdk: - secrets: - tls: - # In order to enable TLS with your supplied credentials, you will need to: - # 1. set all three of the `cert`, `key`, `cacert` fields appropriately for each of - # `inbound` and `outbound` as per your preference. - # 2. optionally specify `schemeAdapter.env.INBOUND_MUTUAL_TLS_ENABLED: true` - # 3. optionally specify `schemeAdapter.env.OUTBOUND_MUTUAL_TLS_ENABLED: true` - # It probably makes sense to set your CA cert in defaults. Note that the default is that - # the CA, cert and key will be generated for you by this chart. To use this functionality - # you only need specify the config documented in steps (2, 3, 4) a few lines up. - # - # inbound: - # key: | - # -----BEGIN CERTIFICATE----- - # ... - # -----END CERTIFICATE----- - # cacert: | - # -----BEGIN CERTIFICATE----- - # ... - # -----END CERTIFICATE----- - # cert: | - # -----BEGIN RSA PRIVATE KEY----- - # ... - # -----END RSA PRIVATE KEY----- - # - # To set the same values for each of inbound and outbound, specify the values for - # inbound as above, then the values for outbound using yaml anchors: - # - # inbound: &inbound - # key: | - # .. - # cacert: | - # .. - # cert: | - # .. - # outbound: *inbound - inbound: - outbound: - jws: - # Use the privKeySecretName field if you would like to supply a JWS private key external - # to this chart. - # For example, if you create a private key called `sim-payerfsp-jws-signing-key` external - # to this chart, you would supply `privKeySecretName: sim-payerfsp-jws-signing-key` here. - # These fields will take precedence over `privateKey` and `publicKey` below. - # This field is best supplied per-simulator, however it's here for documentation - # purposes. - privKeySecretName: {} - # TODO: update `privKeySecretName` above to contain both a name and a key in the secret. - # Add documentation on usage. - # privKeySecret: {} - # name: - # key: - # - # The `publicKeyConfigMapName` field allows you to supply a ConfigMap containing JWS public - # keys external to this release, and have this release reference that ConfigMap to - # populate JWS public keys. The format of this ConfigMap must be as described for - # `sharedJWSPubKeys`, a map with one key per FSP/simulator corresponding to the - # FSPIOP-Source header that will be supplied by that FSP/simulator. - publicKeyConfigMapName: {} - # Supply per-simulator private and public keys here: - privateKey: '' - publicKey: '' - image: - repository: mojaloop/thirdparty-sdk - tag: v15.1.0 - pullPolicy: IfNotPresent - inboundCommand: '[ "npm", "run", "start:inbound" ]' - outboundCommand: '[ "npm", "run", "start:outbound" ]' - <<: *defaultProbes - - # These will be supplied directly to the init containers array in the deployment for the - # scheme adapter. They should look exactly as you'd declare them inside the deployment. - # Example: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/#init-containers-in-use - # This init container will have the same environment variables as the main scheme adapter - # container, as specified in .env below. - # All init containers will have the same preset environment variables as the backend init - # container as specified above. - initContainers: [] - - scale: - enabled: false - spec: - minReplicas: 1 - maxReplicas: 10 - metrics: - - type: Resource - resource: - name: cpu - target: - type: Utilization - averageUtilization: 80 - - env: - NODE_ENV: production - INBOUND_LISTEN_PORT: 4005 - OUTBOUND_LISTEN_PORT: 4006 - # Path to JWS signing key (private key of THIS DFSP) - JWS_SIGNING_KEY_PATH: "/jwsSigningKey/private.key" # do not change this unless you know what you are doing - this will break the chart - JWS_VERIFICATION_KEYS_DIRECTORY: "/jwsVerificationKeys" - - ingress: - enabled: true - path: / - hosts: - - mojaloop-simulators.local - tls: [] - # - secretName: chart-example-tls - # hosts: - # - chart-example.local - - resources: {} - # We usually recommend not to specify default resources and to leave this as a conscious - # choice for the user. This also increases chances charts run on environments with little - # resources, such as Minikube. If you do want to specify resources, uncomment the following - # lines, adjust them as necessary, and remove the curly braces after 'resources:'. - # limits: - # cpu: 100m - # memory: 128Mi - # requests: - # cpu: 100m - # memory: 128Mi - - ## Pod scheduling preferences. - ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity - affinity: {} - - ## Node labels for pod assignment - ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector - nodeSelector: {} - - ## Set toleration for scheduler - ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ - tolerations: [] - -mojaloop-bulk: - enabled: false - - bulk-api-adapter: - - bulk-api-adapter-service: - enabled: true - # Default values for bulk-api-adapter. - # This is a YAML-formatted file. - # Declare variables to be passed into your templates. - replicaCount: 1 - image: - repository: mojaloop/bulk-api-adapter - tag: v14.0.0 - command: '["node", "src/api/index.js"]' - ## Optionally specify an array of imagePullSecrets. - ## Secrets must be manually created in the namespace. - ## ref: https://kubernetes.io/docs/concepts/containers/images/#specifying-imagepullsecrets-on-a-pod - ## - # imagePullSecrets: - # - name: myregistrykey - pullPolicy: IfNotPresent - - init: - enabled: true - kafka: - name: wait-for-kafka - repository: solsson/kafka - tag: 2.8.1 - pullPolicy: IfNotPresent - command: "until ./bin/kafka-broker-api-versions.sh --bootstrap-server $kafka_host:$kafka_port; do echo waiting for Kafka; sleep 2; done;" - env: {} - ## Env example - # env: - # envItem1: - # name: hello - # value: world - # - mongodb: - name: wait-for-mongodb - repository: bitnami/mongodb - tag: 6.0.1 - pullPolicy: IfNotPresent - command: "mongosh $mongouri --eval \"db.adminCommand('ping')\"" - - readinessProbe: - enabled: true - httpGet: - path: /health - initialDelaySeconds: 120 - periodSeconds: 15 - livenessProbe: - enabled: true - httpGet: - path: /health - initialDelaySeconds: 90 - periodSeconds: 15 - - ## metric configuration for prometheus instrumentation - metrics: - ## flag to enable/disable the metrics end-points - enabled: true - config: - timeout: 5000 - prefix: moja_ - defaultLabels: - serviceName: bulk-service - - config: - # this can be set if the dependency chart for kafka is disabled. If 'kafka_host' is commented out, then the name of the dependency chart will be used. - kafka_host: '$release_name-kafka' - kafka_port: 9092 - central_services_host: '$release_name-centralledger-service' - central_services_port: 80 - security: - callback: - rejectUnauthorized: true - log_level: 'info' - - # Protocol versions used for validating (VALIDATELIST) incoming FSPIOP API Headers (Content-type, Accept), - # and for generating requests/callbacks from the Switch itself (DEFAULT value) - protocol_versions: { - "CONTENT": { - "DEFAULT": "1.1", - "VALIDATELIST": [ - "1", - "1.0", - "1.1" - ] - }, - "ACCEPT": { - "DEFAULT": "1", - "VALIDATELIST": [ - "1", - "1.0", - "1.1" - ] - } -} - ## MongoDB Configuration for Object Store - objstore_uri: 'mongodb://mojaloop:password@$release_name-centralledger-obj:27017/mlos' - - service: - type: ClusterIP - externalPort: 80 - internalPort: 8088 - - ingress: - enabled: true - ## @param ingress.pathType Ingress path type - ## - pathType: ImplementationSpecific - ## @param ingress.apiVersion Force Ingress API version (automatically detected if not set) - ## - apiVersion: - ## @param ingress.hostname Default host for the ingress record - ## - hostname: bulk-api-adapter.local - ## @param servicePort : port for the service - ## - servicePort: 80 - ## @param ingress.path Default path for the ingress record - ## NOTE: You may need to set this to '/*' in order to use this with ALB ingress controllers - path: / - ## @param ingress.annotations Additional custom annotations for the ingress record - ## NOTE: If `ingress.certManager=true`, annotation `kubernetes.io/tls-acme: "true"` will automatically be added - ## - annotations: - ## @param ingress.tls Enable TLS configuration for the host defined at `ingress.hostname` parameter - ## TLS certificates will be retrieved from a TLS secret with name: `{{- printf "%s-tls" .Values.ingress.hostname }}` - ## You can: - ## - Use the `ingress.secrets` parameter to create this TLS secret - ## - Relay on cert-manager to create it by setting `ingress.certManager=true` - ## - Relay on Helm to create self-signed certificates by setting `ingress.selfSigned=true` - ## - tls: false - ## @param ingress.certManager Add the corresponding annotations for cert-manager integration - ## - certManager: false - ## @param ingress.selfSigned Create a TLS secret for this ingress record using self-signed certificates generated by Helm - ## - selfSigned: false - ## @param ingress.extraHosts An array with additional hostname(s) to be covered with the ingress record - ## e.g: - ## extraHosts: - ## - name: transfer-api-svc.local - ## path: / - ## - extraHosts: - extraPaths: - extraTls: - secrets: - className: "nginx" - ## - resources: {} - # We usually recommend not to specify default resources and to leave this as a conscious - # choice for the user. This also increases chances charts run on environments with little - # resources, such as Minikube. If you do want to specify resources, uncomment the following - # lines, adjust them as necessary, and remove the curly braces after 'resources:'. - # limits: - # cpu: 100m - # memory: 128Mi - # requests: - # cpu: 100m - # memory: 128Mi - - bulk-api-adapter-handler-notification: - enabled: true - # Default values for bulk-api-adapter-handler-notification. - # This is a YAML-formatted file. - # Declare variables to be passed into your templates. - replicaCount: 1 - image: - repository: mojaloop/bulk-api-adapter - tag: v14.0.0 - command: '["node", "src/handlers/index.js", "handler", "--notification"]' - ## Optionally specify an array of imagePullSecrets. - ## Secrets must be manually created in the namespace. - ## ref: https://kubernetes.io/docs/concepts/containers/images/#specifying-imagepullsecrets-on-a-pod - ## - # imagePullSecrets: - # - name: myregistrykey - pullPolicy: IfNotPresent - - init: - enabled: true - kafka: - name: wait-for-kafka - repository: solsson/kafka - tag: 2.8.1 - pullPolicy: IfNotPresent - command: "until ./bin/kafka-broker-api-versions.sh --bootstrap-server $kafka_host:$kafka_port; do echo waiting for Kafka; sleep 2; done;" - env: {} - ## Env example - # env: - # envItem1: - # name: hello - # value: world - # - mongodb: - name: wait-for-mongodb - repository: bitnami/mongodb - tag: 6.0.1 - pullPolicy: IfNotPresent - command: "mongosh $mongouri --eval \"db.adminCommand('ping')\"" - - readinessProbe: - enabled: true - httpGet: - path: /health - initialDelaySeconds: 120 - periodSeconds: 15 - livenessProbe: - enabled: true - httpGet: - path: /health - initialDelaySeconds: 90 - periodSeconds: 15 - - ## metric configuration for prometheus instrumentation - metrics: - ## flag to enable/disable the metrics end-points - enabled: true - config: - timeout: 5000 - prefix: moja_ - defaultLabels: - serviceName: bulk-handler-notification - - config: - # this can be set if the dependency chart for kafka is disabled. If 'kafka_host' is commented out, then the name of the dependency chart will be used. - kafka_host: '$release_name-kafka' - kafka_port: 9092 - central_services_host: '$release_name-centralledger-service' - central_services_port: 80 - security: - callback: - rejectUnauthorized: true - log_level: 'info' - - # Protocol versions used for validating (VALIDATELIST) incoming FSPIOP API Headers (Content-type, Accept), - # and for generating requests/callbacks from the Switch itself (DEFAULT value) - protocol_versions: { - "CONTENT": { - "DEFAULT": "1.1", - "VALIDATELIST": [ - "1", - "1.0", - "1.1" - ] - }, - "ACCEPT": { - "DEFAULT": "1", - "VALIDATELIST": [ - "1", - "1.0", - "1.1" - ] - } -} - ## MongoDB Configuration for Object Store - objstore_uri: 'mongodb://mojaloop:password@$release_name-centralledger-obj:27017/mlos' - - service: - type: ClusterIP - externalPort: 80 - internalPort: 8088 - - ingress: - enabled: true - ## @param ingress.pathType Ingress path type - ## - pathType: ImplementationSpecific - ## @param ingress.apiVersion Force Ingress API version (automatically detected if not set) - ## - apiVersion: - ## @param ingress.hostname Default host for the ingress record - ## - hostname: bulk-api-adapter-notification.local - ## @param servicePort : port for the service - ## - servicePort: 80 - ## @param ingress.path Default path for the ingress record - ## NOTE: You may need to set this to '/*' in order to use this with ALB ingress controllers - path: / - ## @param ingress.annotations Additional custom annotations for the ingress record - ## NOTE: If `ingress.certManager=true`, annotation `kubernetes.io/tls-acme: "true"` will automatically be added - ## - annotations: - ## @param ingress.tls Enable TLS configuration for the host defined at `ingress.hostname` parameter - ## TLS certificates will be retrieved from a TLS secret with name: `{{- printf "%s-tls" .Values.ingress.hostname }}` - ## You can: - ## - Use the `ingress.secrets` parameter to create this TLS secret - ## - Relay on cert-manager to create it by setting `ingress.certManager=true` - ## - Relay on Helm to create self-signed certificates by setting `ingress.selfSigned=true` - ## - tls: false - ## @param ingress.certManager Add the corresponding annotations for cert-manager integration - ## - certManager: false - ## @param ingress.selfSigned Create a TLS secret for this ingress record using self-signed certificates generated by Helm - ## - selfSigned: false - ## @param ingress.extraHosts An array with additional hostname(s) to be covered with the ingress record - ## e.g: - ## extraHosts: - ## - name: transfer-api-svc.local - ## path: / - ## - extraHosts: - extraPaths: - extraTls: - secrets: - className: "nginx" - ## - resources: {} - # We usually recommend not to specify default resources and to leave this as a conscious - # choice for the user. This also increases chances charts run on environments with little - # resources, such as Minikube. If you do want to specify resources, uncomment the following - # lines, adjust them as necessary, and remove the curly braces after 'resources:'. - # limits: - # cpu: 100m - # memory: 128Mi - # requests: - # cpu: 100m - # memory: 128Mi - - bulk-centralledger: - - cl-handler-bulk-transfer-prepare: - enabled: true - # Default values for centralledger-handler-bulk-transfer-prepare. - # This is a YAML-formatted file. - # Declare variables to be passed into your templates. - replicaCount: 1 - containers: - api: - image: - repository: mojaloop/central-ledger - tag: v15.1.2.1 - pullPolicy: IfNotPresent - command: '["node", "src/handlers/index.js", "handler", "--bulkprepare"]' - service: - ports: - api: - name: http-api - externalPort: 80 - internalPort: 3001 - readinessProbe: - enabled: true - httpGet: - path: /health - initialDelaySeconds: 60 - periodSeconds: 15 - livenessProbe: - enabled: true - httpGet: - path: /health - initialDelaySeconds: 60 - periodSeconds: 15 - - ## metric configuration for prometheus instrumentation - metrics: - ## flag to enable/disable the metrics end-points - enabled: true - config: - timeout: 5000 - prefix: moja_ - defaultLabels: - serviceName: central-handler-bulkprepare - - config: - ## Forensic Logging sidecar - # this is for Forensic Logging Sidecar - forensicloggingsidecar_disabled: true - forensicloggingsidecar_host: forensicloggingsidecar-ledger - forensicloggingsidecar_port: 5678 - - error_handling: - include_cause_extension: false - truncate_extensions: true - - ## DB Configuration - # db_type can either be 'postgres' or 'mysql'. Ensure the correct DB is enabled and configured below: postgresql.enabled or mysql.enabled - db_type: 'mysql' - # db_driver can either be 'pg' or 'mysql'. Ensure the correct corresponding db_type above has been set. - db_driver: 'mysql' - db_host: '$release_name-centralledger-mysql' - db_port: 3306 - db_user: central_ledger - db_password: oyMxgZChuu - db_database: central_ledger - db_connection_pool_min: 10 - db_connection_pool_max: 30 - db_acquire_timeout_millis: 30000 - db_create_timeout_millis: 30000 - db_destroy_timeout_millis: 5000 - db_idle_timeout_millis: 30000 - db_reap_interval_millis: 1000 - db_create_retry_interval_millis: 200 - db_debug: false - - ## MongoDB Configuration for Object Store - objstore_disabled: false - objstore_uri: 'mongodb://mojaloop:password@$release_name-centralledger-obj:27017/mlos' - - ## Kafka Configuration - # this can be set if the dependency chart for kafka is disabled. If 'kafka_host' is commented out, then the name of the dependency chart will be used. - kafka_host: '$release_name-kafka' - kafka_port: 9092 - - ## Node Configuration - log_level: 'info' - - ## Enable On-Us transfers - enable_on_us_transfers: false - - init: - enabled: true - kafka: - name: wait-for-kafka - repository: solsson/kafka - tag: 2.8.1 - pullPolicy: IfNotPresent - command: "until ./bin/kafka-broker-api-versions.sh --bootstrap-server $kafka_host:$kafka_port; do echo waiting for Kafka; sleep 2; done;" - env: {} - ## Env example - # env: - # envItem1: - # name: hello - # value: world - # - psql: - name: wait-for-postgres - repository: bowerswilkins/awaitpostgres - tag: latest - pullPolicy: IfNotPresent - mysql: - name: wait-for-mysql - repository: mysql - tag: 8.0.30 - pullPolicy: IfNotPresent - command: "until result=$(mysql -h $db_host -P $db_port -u $db_user --password=$db_password $db_database -ss -N -e 'select is_locked from migration_lock;') && eval 'echo is_locked=$result' && if [ -z $result ]; then false; fi && if [ $result -ne 0 ]; then false; fi; do echo waiting for MySQL; sleep 2; done;" - mongodb: - name: wait-for-mongodb - repository: bitnami/mongodb - tag: 6.0.1 - pullPolicy: IfNotPresent - command: "mongosh $mongouri --eval \"db.adminCommand('ping')\"" - - service: - type: ClusterIP - - annotations: {} - - # This allows one to point the service to an external backend. - # This is useful for local development where one wishes to hijack - # the communication from the service to the node layer and point - # to a specific endpoint (IP, Port, etc). - external: - enabled: false - # 10.0.2.2 is the magic IP for the host on virtualbox's network - ip: 10.0.2.2 - ports: - api: - name: http-api - externalPort: 3001 - - ingress: - enabled: true - ## @param ingress.pathType Ingress path type - ## - pathType: ImplementationSpecific - ## @param ingress.apiVersion Force Ingress API version (automatically detected if not set) - ## - apiVersion: - ## @param ingress.hostname Default host for the ingress record - ## - hostname: central-ledger-transfer-bulkprepare.local - ## @param servicePort : port for the service - ## - servicePort: 80 - ## @param ingress.path Default path for the ingress record - ## NOTE: You may need to set this to '/*' in order to use this with ALB ingress controllers - path: / - ## @param ingress.annotations Additional custom annotations for the ingress record - ## NOTE: If `ingress.certManager=true`, annotation `kubernetes.io/tls-acme: "true"` will automatically be added - ## - annotations: - ## @param ingress.tls Enable TLS configuration for the host defined at `ingress.hostname` parameter - ## TLS certificates will be retrieved from a TLS secret with name: `{{- printf "%s-tls" .Values.ingress.hostname }}` - ## You can: - ## - Use the `ingress.secrets` parameter to create this TLS secret - ## - Relay on cert-manager to create it by setting `ingress.certManager=true` - ## - Relay on Helm to create self-signed certificates by setting `ingress.selfSigned=true` - ## - tls: false - ## @param ingress.certManager Add the corresponding annotations for cert-manager integration - ## - certManager: false - ## @param ingress.selfSigned Create a TLS secret for this ingress record using self-signed certificates generated by Helm - ## - selfSigned: false - ## @param ingress.extraHosts An array with additional hostname(s) to be covered with the ingress record - ## e.g: - ## extraHosts: - ## - name: transfer-api-svc.local - ## path: / - ## - extraHosts: - extraPaths: - extraTls: - secrets: - className: "nginx" - ## - resources: {} - # We usually recommend not to specify default resources and to leave this as a conscious - # choice for the user. This also increases chances charts run on environments with little - # resources, such as Minikube. If you do want to specify resources, uncomment the following - # lines, adjust them as necessary, and remove the curly braces after 'resources:'. - # limits: - # cpu: 100m - # memory: 128Mi - # requests: - # cpu: 100m - # memory: 128Mi - - cl-handler-bulk-transfer-fulfil: - enabled: true - # Default values for centralledger-handler-bulk-transfer-fulfil. - # This is a YAML-formatted file. - # Declare variables to be passed into your templates. - replicaCount: 1 - containers: - api: - image: - repository: mojaloop/central-ledger - tag: v15.1.2.1 - pullPolicy: IfNotPresent - command: '["node", "src/handlers/index.js", "handler", "--bulkfulfil"]' - service: - ports: - api: - name: http-api - externalPort: 80 - internalPort: 3001 - readinessProbe: - enabled: true - httpGet: - path: /health - initialDelaySeconds: 60 - periodSeconds: 15 - livenessProbe: - enabled: true - httpGet: - path: /health - initialDelaySeconds: 60 - periodSeconds: 15 - - ## metric configuration for prometheus instrumentation - metrics: - ## flag to enable/disable the metrics end-points - enabled: true - config: - timeout: 5000 - prefix: moja_ - defaultLabels: - serviceName: central-handler-bulkfulfil - - config: - ## Forensic Logging sidecar - # this is for Forensic Logging Sidecar - forensicloggingsidecar_disabled: true - forensicloggingsidecar_host: forensicloggingsidecar-ledger - forensicloggingsidecar_port: 5678 - - error_handling: - include_cause_extension: false - truncate_extensions: true - - ## DB Configuration - # db_type can either be 'postgres' or 'mysql'. Ensure the correct DB is enabled and configured below: postgresql.enabled or mysql.enabled - db_type: 'mysql' - # db_driver can either be 'pg' or 'mysql'. Ensure the correct corresponding db_type above has been set. - db_driver: 'mysql' - db_host: '$release_name-centralledger-mysql' - db_port: 3306 - db_user: central_ledger - db_password: oyMxgZChuu - db_database: central_ledger - db_connection_pool_min: 10 - db_connection_pool_max: 30 - db_acquire_timeout_millis: 30000 - db_create_timeout_millis: 30000 - db_destroy_timeout_millis: 5000 - db_idle_timeout_millis: 30000 - db_reap_interval_millis: 1000 - db_create_retry_interval_millis: 200 - db_debug: false - - ## MongoDB Configuration for Object Store - objstore_disabled: false - objstore_uri: 'mongodb://mojaloop:password@$release_name-centralledger-obj:27017/mlos' - - ## Kafka Configuration - # this can be set if the dependency chart for kafka is disabled. If 'kafka_host' is commented out, then the name of the dependency chart will be used. - kafka_host: '$release_name-kafka' - kafka_port: 9092 - - ## Node Configuration - log_level: 'info' - - init: - enabled: true - kafka: - name: wait-for-kafka - repository: solsson/kafka - tag: 2.8.1 - pullPolicy: IfNotPresent - command: "until ./bin/kafka-broker-api-versions.sh --bootstrap-server $kafka_host:$kafka_port; do echo waiting for Kafka; sleep 2; done;" - env: {} - ## Env example - # env: - # envItem1: - # name: hello - # value: world - # - psql: - name: wait-for-postgres - repository: bowerswilkins/awaitpostgres - tag: latest - pullPolicy: IfNotPresent - mysql: - name: wait-for-mysql - repository: mysql - tag: 8.0.30 - pullPolicy: IfNotPresent - command: "until result=$(mysql -h $db_host -P $db_port -u $db_user --password=$db_password $db_database -ss -N -e 'select is_locked from migration_lock;') && eval 'echo is_locked=$result' && if [ -z $result ]; then false; fi && if [ $result -ne 0 ]; then false; fi; do echo waiting for MySQL; sleep 2; done;" - mongodb: - name: wait-for-mongodb - repository: bitnami/mongodb - tag: 6.0.1 - pullPolicy: IfNotPresent - command: "mongosh $mongouri --eval \"db.adminCommand('ping')\"" - - service: - type: ClusterIP - - annotations: {} - - # This allows one to point the service to an external backend. - # This is useful for local development where one wishes to hijack - # the communication from the service to the node layer and point - # to a specific endpoint (IP, Port, etc). - external: - enabled: false - # 10.0.2.2 is the magic IP for the host on virtualbox's network - ip: 10.0.2.2 - ports: - api: - name: http-api - externalPort: 3001 - - ingress: - enabled: true - ## @param ingress.pathType Ingress path type - ## - pathType: ImplementationSpecific - ## @param ingress.apiVersion Force Ingress API version (automatically detected if not set) - ## - apiVersion: - ## @param ingress.hostname Default host for the ingress record - ## - hostname: central-ledger-transfer-bulkfulfil.local - ## @param servicePort : port for the service - ## - servicePort: 80 - ## @param ingress.path Default path for the ingress record - ## NOTE: You may need to set this to '/*' in order to use this with ALB ingress controllers - path: / - ## @param ingress.annotations Additional custom annotations for the ingress record - ## NOTE: If `ingress.certManager=true`, annotation `kubernetes.io/tls-acme: "true"` will automatically be added - ## - annotations: - ## @param ingress.tls Enable TLS configuration for the host defined at `ingress.hostname` parameter - ## TLS certificates will be retrieved from a TLS secret with name: `{{- printf "%s-tls" .Values.ingress.hostname }}` - ## You can: - ## - Use the `ingress.secrets` parameter to create this TLS secret - ## - Relay on cert-manager to create it by setting `ingress.certManager=true` - ## - Relay on Helm to create self-signed certificates by setting `ingress.selfSigned=true` - ## - tls: false - ## @param ingress.certManager Add the corresponding annotations for cert-manager integration - ## - certManager: false - ## @param ingress.selfSigned Create a TLS secret for this ingress record using self-signed certificates generated by Helm - ## - selfSigned: false - ## @param ingress.extraHosts An array with additional hostname(s) to be covered with the ingress record - ## e.g: - ## extraHosts: - ## - name: transfer-api-svc.local - ## path: / - ## - extraHosts: - extraPaths: - extraTls: - secrets: - className: "nginx" - ## - resources: {} - # We usually recommend not to specify default resources and to leave this as a conscious - # choice for the user. This also increases chances charts run on environments with little - # resources, such as Minikube. If you do want to specify resources, uncomment the following - # lines, adjust them as necessary, and remove the curly braces after 'resources:'. - # limits: - # cpu: 100m - # memory: 128Mi - # requests: - # cpu: 100m - # memory: 128Mi - - cl-handler-bulk-transfer-processing: - enabled: true - # Default values for centralledger-handler-bulk-transfer-processing. - # This is a YAML-formatted file. - # Declare variables to be passed into your templates. - replicaCount: 1 - containers: - api: - image: - repository: mojaloop/central-ledger - tag: v15.1.2.1 - pullPolicy: IfNotPresent - command: '["node", "src/handlers/index.js", "handler", "--bulkprocessing"]' - service: - ports: - api: - name: http-api - externalPort: 80 - internalPort: 3001 - readinessProbe: - enabled: true - httpGet: - path: /health - initialDelaySeconds: 60 - periodSeconds: 15 - livenessProbe: - enabled: true - httpGet: - path: /health - initialDelaySeconds: 60 - periodSeconds: 15 - - ## metric configuration for prometheus instrumentation - metrics: - ## flag to enable/disable the metrics end-points - enabled: true - config: - timeout: 5000 - prefix: moja_ - defaultLabels: - serviceName: central-handler-bulkprocessing - - config: - ## Forensic Logging sidecar - # this is for Forensic Logging Sidecar - forensicloggingsidecar_disabled: true - forensicloggingsidecar_host: forensicloggingsidecar-ledger - forensicloggingsidecar_port: 5678 - - error_handling: - include_cause_extension: false - truncate_extensions: true - - ## DB Configuration - # db_type can either be 'postgres' or 'mysql'. Ensure the correct DB is enabled and configured below: postgresql.enabled or mysql.enabled - db_type: 'mysql' - # db_driver can either be 'pg' or 'mysql'. Ensure the correct corresponding db_type above has been set. - db_driver: 'mysql' - db_host: '$release_name-centralledger-mysql' - db_port: 3306 - db_user: central_ledger - db_password: oyMxgZChuu - db_database: central_ledger - db_connection_pool_min: 10 - db_connection_pool_max: 30 - db_acquire_timeout_millis: 30000 - db_create_timeout_millis: 30000 - db_destroy_timeout_millis: 5000 - db_idle_timeout_millis: 30000 - db_reap_interval_millis: 1000 - db_create_retry_interval_millis: 200 - db_debug: false - - ## MongoDB Configuration for Object Store - objstore_disabled: false - objstore_uri: 'mongodb://mojaloop:password@$release_name-centralledger-obj:27017/mlos' - - ## Kafka Configuration - # this can be set if the dependency chart for kafka is disabled. If 'kafka_host' is commented out, then the name of the dependency chart will be used. - kafka_host: '$release_name-kafka' - kafka_port: 9092 - - ## Node Configuration - log_level: 'info' - - init: - enabled: true - kafka: - name: wait-for-kafka - repository: solsson/kafka - tag: 2.8.1 - pullPolicy: IfNotPresent - command: "until ./bin/kafka-broker-api-versions.sh --bootstrap-server $kafka_host:$kafka_port; do echo waiting for Kafka; sleep 2; done;" - env: {} - ## Env example - # env: - # envItem1: - # name: hello - # value: world - # - psql: - name: wait-for-postgres - repository: bowerswilkins/awaitpostgres - tag: latest - pullPolicy: IfNotPresent - mysql: - name: wait-for-mysql - repository: mysql - tag: 8.0.30 - pullPolicy: IfNotPresent - command: "until result=$(mysql -h $db_host -P $db_port -u $db_user --password=$db_password $db_database -ss -N -e 'select is_locked from migration_lock;') && eval 'echo is_locked=$result' && if [ -z $result ]; then false; fi && if [ $result -ne 0 ]; then false; fi; do echo waiting for MySQL; sleep 2; done;" - mongodb: - name: wait-for-mongodb - repository: bitnami/mongodb - tag: 6.0.1 - pullPolicy: IfNotPresent - command: "mongosh $mongouri --eval \"db.adminCommand('ping')\"" - - service: - type: ClusterIP - - annotations: {} - - # This allows one to point the service to an external backend. - # This is useful for local development where one wishes to hijack - # the communication from the service to the node layer and point - # to a specific endpoint (IP, Port, etc). - external: - enabled: false - # 10.0.2.2 is the magic IP for the host on virtualbox's network - ip: 10.0.2.2 - ports: - api: - name: http-api - externalPort: 3001 - - ingress: - enabled: true - ## @param ingress.pathType Ingress path type - ## - pathType: ImplementationSpecific - ## @param ingress.apiVersion Force Ingress API version (automatically detected if not set) - ## - apiVersion: - ## @param ingress.hostname Default host for the ingress record - ## - hostname: central-ledger-transfer-bulkprocessing.local - ## @param servicePort : port for the service - ## - servicePort: 80 - ## @param ingress.path Default path for the ingress record - ## NOTE: You may need to set this to '/*' in order to use this with ALB ingress controllers - path: / - ## @param ingress.annotations Additional custom annotations for the ingress record - ## NOTE: If `ingress.certManager=true`, annotation `kubernetes.io/tls-acme: "true"` will automatically be added - ## - annotations: - ## @param ingress.tls Enable TLS configuration for the host defined at `ingress.hostname` parameter - ## TLS certificates will be retrieved from a TLS secret with name: `{{- printf "%s-tls" .Values.ingress.hostname }}` - ## You can: - ## - Use the `ingress.secrets` parameter to create this TLS secret - ## - Relay on cert-manager to create it by setting `ingress.certManager=true` - ## - Relay on Helm to create self-signed certificates by setting `ingress.selfSigned=true` - ## - tls: false - ## @param ingress.certManager Add the corresponding annotations for cert-manager integration - ## - certManager: false - ## @param ingress.selfSigned Create a TLS secret for this ingress record using self-signed certificates generated by Helm - ## - selfSigned: false - ## @param ingress.extraHosts An array with additional hostname(s) to be covered with the ingress record - ## e.g: - ## extraHosts: - ## - name: transfer-api-svc.local - ## path: / - ## - extraHosts: - extraPaths: - extraTls: - secrets: - className: "nginx" - ## - resources: {} - # We usually recommend not to specify default resources and to leave this as a conscious - # choice for the user. This also increases chances charts run on environments with little - # resources, such as Minikube. If you do want to specify resources, uncomment the following - # lines, adjust them as necessary, and remove the curly braces after 'resources:'. - # limits: - # cpu: 100m - # memory: 128Mi - # requests: - # cpu: 100m - # memory: 128Mi - - cl-handler-bulk-transfer-get: - enabled: true - # Default values for centralledger-handler-bulk-transfer-get. - # This is a YAML-formatted file. - # Declare variables to be passed into your templates. - replicaCount: 1 - containers: - api: - image: - repository: mojaloop/central-ledger - tag: v15.1.2.1 - pullPolicy: IfNotPresent - command: '["node", "src/handlers/index.js", "handler", "--bulkget"]' - service: - ports: - api: - name: http-api - externalPort: 80 - internalPort: 3001 - readinessProbe: - enabled: true - httpGet: - path: /health - initialDelaySeconds: 60 - periodSeconds: 15 - livenessProbe: - enabled: true - httpGet: - path: /health - initialDelaySeconds: 60 - periodSeconds: 15 - - ## metric configuration for prometheus instrumentation - metrics: - ## flag to enable/disable the metrics end-points - enabled: true - config: - timeout: 5000 - prefix: moja_ - defaultLabels: - serviceName: central-handler-bulkget - - config: - ## Forensic Logging sidecar - # this is for Forensic Logging Sidecar - forensicloggingsidecar_disabled: true - forensicloggingsidecar_host: forensicloggingsidecar-ledger - forensicloggingsidecar_port: 5678 - - error_handling: - include_cause_extension: false - truncate_extensions: true - - ## DB Configuration - # db_type can either be 'postgres' or 'mysql'. Ensure the correct DB is enabled and configured below: postgresql.enabled or mysql.enabled - db_type: 'mysql' - # db_driver can either be 'pg' or 'mysql'. Ensure the correct corresponding db_type above has been set. - db_driver: 'mysql' - db_host: '$release_name-centralledger-mysql' - db_port: 3306 - db_user: central_ledger - db_password: oyMxgZChuu - db_database: central_ledger - db_connection_pool_min: 10 - db_connection_pool_max: 30 - db_acquire_timeout_millis: 30000 - db_create_timeout_millis: 30000 - db_destroy_timeout_millis: 5000 - db_idle_timeout_millis: 30000 - db_reap_interval_millis: 1000 - db_create_retry_interval_millis: 200 - db_debug: false - - ## MongoDB Configuration for Object Store - objstore_disabled: false - objstore_uri: 'mongodb://mojaloop:password@$release_name-centralledger-obj:27017/mlos' - - ## Kafka Configuration - # this can be set if the dependency chart for kafka is disabled. If 'kafka_host' is commented out, then the name of the dependency chart will be used. - kafka_host: '$release_name-kafka' - kafka_port: 9092 - - ## Node Configuration - log_level: 'info' - - init: - enabled: true - kafka: - name: wait-for-kafka - repository: solsson/kafka - tag: 2.8.1 - pullPolicy: IfNotPresent - command: "until ./bin/kafka-broker-api-versions.sh --bootstrap-server $kafka_host:$kafka_port; do echo waiting for Kafka; sleep 2; done;" - env: {} - ## Env example - # env: - # envItem1: - # name: hello - # value: world - # - psql: - name: wait-for-postgres - repository: bowerswilkins/awaitpostgres - tag: latest - pullPolicy: IfNotPresent - mysql: - name: wait-for-mysql - repository: mysql - tag: 8.0.30 - pullPolicy: IfNotPresent - command: "until result=$(mysql -h $db_host -P $db_port -u $db_user --password=$db_password $db_database -ss -N -e 'select is_locked from migration_lock;') && eval 'echo is_locked=$result' && if [ -z $result ]; then false; fi && if [ $result -ne 0 ]; then false; fi; do echo waiting for MySQL; sleep 2; done;" - mongodb: - name: wait-for-mongodb - repository: bitnami/mongodb - tag: 6.0.1 - pullPolicy: IfNotPresent - command: "mongosh $mongouri --eval \"db.adminCommand('ping')\"" - - service: - type: ClusterIP - - annotations: {} - - # This allows one to point the service to an external backend. - # This is useful for local development where one wishes to hijack - # the communication from the service to the node layer and point - # to a specific endpoint (IP, Port, etc). - external: - enabled: false - # 10.0.2.2 is the magic IP for the host on virtualbox's network - ip: 10.0.2.2 - ports: - api: - name: http-api - externalPort: 3001 - - ingress: - enabled: true - ## @param ingress.pathType Ingress path type - ## - pathType: ImplementationSpecific - ## @param ingress.apiVersion Force Ingress API version (automatically detected if not set) - ## - apiVersion: - ## @param ingress.hostname Default host for the ingress record - ## - hostname: central-ledger-transfer-bulkget.local - ## @param servicePort : port for the service - ## - servicePort: 80 - ## @param ingress.path Default path for the ingress record - ## NOTE: You may need to set this to '/*' in order to use this with ALB ingress controllers - path: / - ## @param ingress.annotations Additional custom annotations for the ingress record - ## NOTE: If `ingress.certManager=true`, annotation `kubernetes.io/tls-acme: "true"` will automatically be added - ## - annotations: - ## @param ingress.tls Enable TLS configuration for the host defined at `ingress.hostname` parameter - ## TLS certificates will be retrieved from a TLS secret with name: `{{- printf "%s-tls" .Values.ingress.hostname }}` - ## You can: - ## - Use the `ingress.secrets` parameter to create this TLS secret - ## - Relay on cert-manager to create it by setting `ingress.certManager=true` - ## - Relay on Helm to create self-signed certificates by setting `ingress.selfSigned=true` - ## - tls: false - ## @param ingress.certManager Add the corresponding annotations for cert-manager integration - ## - certManager: false - ## @param ingress.selfSigned Create a TLS secret for this ingress record using self-signed certificates generated by Helm - ## - selfSigned: false - ## @param ingress.extraHosts An array with additional hostname(s) to be covered with the ingress record - ## e.g: - ## extraHosts: - ## - name: transfer-api-svc.local - ## path: / - ## - extraHosts: - extraPaths: - extraTls: - secrets: - className: "nginx" - ## - resources: {} - # We usually recommend not to specify default resources and to leave this as a conscious - # choice for the user. This also increases chances charts run on environments with little - # resources, such as Minikube. If you do want to specify resources, uncomment the following - # lines, adjust them as necessary, and remove the curly braces after 'resources:'. - # limits: - # cpu: 100m - # memory: 128Mi - # requests: - # cpu: 100m - # memory: 128Mi - - # Declare variables to be passed into your templates. - mongodb: - enabled: true - ## @param nameOverride String to partially override mongodb.fullname template (will maintain the release name) - ## - nameOverride: centralledger-obj - ## @param architecture MongoDB(®) architecture (`standalone` or `replicaset`) - ## - architecture: standalone - ## @param useStatefulSet Set to true to use a StatefulSet instead of a Deployment (only when `architecture=standalone`) - ## - useStatefulSet: false - ## MongoDB(®) Authentication parameters - ## - auth: - ## @param auth.enabled Enable authentication - ## ref: https://docs.mongodb.com/manual/tutorial/enable-authentication/ - ## - enabled: true - ## @param auth.rootUser MongoDB(®) root user - ## - rootUser: root - ## @param auth.rootPassword MongoDB(®) root password - ## ref: https://github.com/bitnami/bitnami-docker-mongodb/blob/master/README.md#setting-the-root-password-on-first-run - ## - rootPassword: adminpass - ## MongoDB(®) custom users and databases - ## ref: https://github.com/bitnami/bitnami-docker-mongodb/blob/master/README.md#creating-users-and-databases-on-first-run - ## @param auth.usernames List of custom users to be created during the initialization - ## @param auth.passwords List of passwords for the custom users set at `auth.usernames` - ## @param auth.databases List of custom databases to be created during the initialization - ## - usernames: - - 'mojaloop' - passwords: - - 'password' - databases: - - 'mlos' - ## @param auth.replicaSetKey Key used for authentication in the replicaset (only when `architecture=replicaset`) - ## - replicaSetKey: "" - ## @param auth.existingSecret Existing secret with MongoDB(®) credentials (keys: `mongodb-passwords`, `mongodb-root-password`, `mongodb-metrics-password`, ` mongodb-replica-set-key`) - ## NOTE: When it's set the previous parameters are ignored. - ## - existingSecret: "" - tls: - ## @param tls.enabled Enable MongoDB(®) TLS support between nodes in the cluster as well as between mongo clients and nodes - ## - enabled: false - ## @param tls.autoGenerated Generate a custom CA and self-signed certificates - ## - autoGenerated: true - ## @param tls.existingSecret Existing secret with TLS certificates (keys: `mongodb-ca-cert`, `mongodb-ca-key`, `client-pem`) - ## NOTE: When it's set it will disable certificate creation - ## - existingSecret: "" - ## Add Custom CA certificate - ## @param tls.caCert Custom CA certificated (base64 encoded) - ## @param tls.caKey CA certificate private key (base64 encoded) - ## - caCert: "" - caKey: "" - -ml-testing-toolkit: - enabled: true - - ml-testing-toolkit-backend: - ingress: - enabled: true - hosts: - specApi: - host: testing-toolkit-specapi.local - adminApi: - host: testing-toolkit.local - config: - user_config.json: { - "DEFAULT_ENVIRONMENT_FILE_NAME": "hub-k8s-default-environment.json" - } - ## We can specify the files and folders here those we want to override in the TTK `spec_files` directory. - ## For example, you can specify user_config.json, system_config.json ...etc - ## Files inside the folders can be defined with full path of the files with slashes replaced by two underscores `__`. - ## For example, `rules_response__default.json`, `rules_callback__default.json`, `rules_validation__default.json` ...etc - ## We can pass the JSON content as the value for the parameters - ## Or we can pass a http/https URL for the JSON file as the value for the parameters. Then the file will be downloaded and replaced in the corresponding location. - ## Ex: rules_callback__default.json: "https://raw.githubusercontent.com/mojaloop/ml-testing-toolkit/master/spec_files/rules_callback/default.json" - - # We can change the names of the simulators to configure the environment files for the testing toolkit. - # If you change these values, you need to change the simulator names in the mojaloop-simulats->simulators section - parameters: &simNames - simNamePayerfsp: 'payerfsp' - simNamePayeefsp: 'payeefsp' - simNameTestfsp1: 'testfsp1' - simNameTestfsp2: 'testfsp2' - simNameTestfsp3: 'testfsp3' - simNameTestfsp4: 'testfsp4' - simNameNoResponsePayeefsp: 'noresponsepayeefsp' - - extraEnvironments: - hub-k8s-default-environment.json: &ttkInputValues { - "inputValues": { - "BASE_CENTRAL_LEDGER_ADMIN": "", - "CALLBACK_ENDPOINT_BASE_URL": "http://$release_name-ml-testing-toolkit-backend:4040", - "ENABLE_JWS_SIGNING": true, - "ENABLE_JWS_VALIDATION": false, - "ENABLE_PROTECTED_HEADERS_VALIDATION": true, - "ENABLE_WS_ASSERTIONS": true, - "HOST_ACCOUNT_LOOKUP_ADMIN": "http://$release_name-account-lookup-service-admin", - "HOST_ACCOUNT_LOOKUP_SERVICE": "http://$release_name-account-lookup-service", - "HOST_ACCOUNT_LOOKUP_SERVICE_ADMIN": "http://$release_name-account-lookup-service-admin", - "HOST_BULK_ADAPTER": "http://$release_name-bulk-api-adapter-service", - "HOST_CENTRAL_LEDGER": "http://$release_name-centralledger-service", - "HOST_CENTRAL_SETTLEMENT": "http://$release_name-centralsettlement-service/v2", - "HOST_LEGACY_SIMULATOR": "http://$release_name-simulator", - "HOST_ML_API_ADAPTER": "http://$release_name-ml-api-adapter-service", - "HOST_QUOTING_SERVICE": "http://$release_name-quoting-service", - "HOST_SIMULATOR": "http://$release_name-simulator", - "HOST_TRANSACTION_REQUESTS_SERVICE": "http://$release_name-transaction-requests-service", - "HUB_OPERATOR_BEARER_TOKEN": "NOT_APPLICABLE", - "PAYEEFSP_BACKEND_TESTAPI_URL": "http://$release_name-sim-$param_simNamePayeefsp-backend:3003", - "PAYEEFSP_CALLBACK_URL": "http://$release_name-sim-$param_simNamePayeefsp-scheme-adapter:4000", - "PAYEEFSP_SDK_TESTAPI_URL": "http://$release_name-sim-$param_simNamePayeefsp-scheme-adapter:4002", - "PAYEEFSP_SDK_TESTAPI_WS_URL": "ws://$release_name-sim-$param_simNamePayeefsp-scheme-adapter:4002", - "PAYERFSP_BACKEND_TESTAPI_URL": "http://$release_name-sim-$param_simNamePayerfsp-backend:3003", - "PAYERFSP_CALLBACK_URL": "http://$release_name-sim-$param_simNamePayerfsp-scheme-adapter:4000", - "PAYERFSP_SDK_TESTAPI_URL": "http://$release_name-sim-$param_simNamePayerfsp-scheme-adapter:4002", - "PAYERFSP_SDK_TESTAPI_WS_URL": "ws://$release_name-sim-$param_simNamePayerfsp-scheme-adapter:4002", - "SIMPAYEE_CURRENCY": "USD", - "SIMPAYEE_JWS_PUB_KEY": "-----BEGIN PUBLIC KEY----- -MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAzLtduponsAlAk+3+PQdE -sgjxRs5qhkrPa0z25NbHvgQYan4bH5GY+nEUX65YN65nusHtCG9gBeU0C56EgZQw -IpkHDTh166qQGPwdJf5oMlMJn79DSd1I2bghbsNx0a1P6ElH16AyEwvgYtdtMOBW -Ngf7z5/tYgv7bGgmsp3qGlf0nnaux/frJhJ0Hxpd6eUCafwdlrNwc9R6iCKMSxGj -vVTHgx0D7zSZ/+4PXq6gObyIZoC0uOsKKzlY3USx9khAh+96qfFoNKyfGHltpEPJ -LmOLh3BtzDuna2KwtNdVNGcjPdCle3b9mNIdhR5aZ/bP6Zm+t9JuRC6ZwU/6WEy3 -FwIDAQAB ------END PUBLIC KEY----- -", - "SIMPAYEE_MSISDN": "17039811902", - "SIMPAYEE_NAME": "$param_simNamePayeefsp", - "SIMPAYER_CURRENCY": "USD", - "SIMPAYER_MSISDN": "17039811901", - "SIMPAYER_NAME": "$param_simNamePayerfsp", - "TESTFSP1_BACKEND_TESTAPI_URL": "http://$release_name-sim-$param_simNameTestfsp1-backend:3003", - "TESTFSP1_CALLBACK_URL": "http://$release_name-sim-$param_simNameTestfsp1-scheme-adapter:4000", - "TESTFSP1_SDK_TESTAPI_URL": "http://$release_name-sim-$param_simNameTestfsp1-scheme-adapter:4002", - "TESTFSP1_SDK_TESTAPI_WS_URL": "ws://$release_name-sim-$param_simNameTestfsp1-scheme-adapter:4002", - "TESTFSP2_BACKEND_TESTAPI_URL": "http://$release_name-sim-$param_simNameTestfsp2-backend:3003", - "TESTFSP2_CALLBACK_URL": "http://$release_name-sim-$param_simNameTestfsp2-scheme-adapter:4000", - "TESTFSP2_SDK_TESTAPI_URL": "http://$release_name-sim-$param_simNameTestfsp2-scheme-adapter:4002", - "TESTFSP2_SDK_TESTAPI_WS_URL": "ws://$release_name-sim-$param_simNameTestfsp2-scheme-adapter:4002", - "TESTFSP3_BACKEND_TESTAPI_URL": "http://$release_name-sim-$param_simNameTestfsp3-backend:3003", - "TESTFSP3_CALLBACK_URL": "http://$release_name-sim-$param_simNameTestfsp3-scheme-adapter:4000", - "TESTFSP3_SDK_TESTAPI_URL": "http://$release_name-sim-$param_simNameTestfsp3-scheme-adapter:4002", - "TESTFSP3_SDK_TESTAPI_WS_URL": "ws://$release_name-sim-$param_simNameTestfsp3-scheme-adapter:4002", - "TESTFSP4_BACKEND_TESTAPI_URL": "http://$release_name-sim-$param_simNameTestfsp4-backend:3003", - "TESTFSP4_CALLBACK_URL": "http://$release_name-sim-$param_simNameTestfsp4-scheme-adapter:4000", - "TESTFSP4_SDK_TESTAPI_URL": "http://$release_name-sim-$param_simNameTestfsp4-scheme-adapter:4002", - "TESTFSP4_SDK_TESTAPI_WS_URL": "ws://$release_name-sim-$param_simNameTestfsp4-scheme-adapter:4002", - "TEST_NOTIFICATIONS": true, - "TTKFSP_JWS_KEY": "-----BEGIN PRIVATE KEY----- -MIIJQwIBADANBgkqhkiG9w0BAQEFAASCCS0wggkpAgEAAoICAQDPnscTEMZGXrO7 -H7nna4qgQPfODs2aV6A39ww4B2T2qeEncKk0xGTPUYAmjDO3TL4sG7Xl1Jiye9XL -MaJxrMB4rh6Ndik8t+GiXIBOjeLVeg/uCBddTZfB/4yHpyfETbDM5QqQLsiWLyz9 -n6/O/bH8sgaygLMaTpYazaoI522bTTGBtgXf6nGNcjgypMPanbvFmE5lOls2Adjq -QDbmC8FgnubSD5R//EULNSRnt+dxyExb7+vDcVqC0npxSxgBGHnkRIlbU6AszBpK -2tMVGV84Qw8ibr1NSD/5n1fg/jfZfICVOcJRgw11v4+OAT3YqL7kKCUo2ChyYVWp -H1aJ+luGs4N2KcgMsmEnA8eZmFMgXk2jJktt/kSXcJjzVg/0CAjK2c/oaPufVg+y -KLRdBkS8FR3deCPH2xRl41f5NSB7/C2kCMcep8EZSlhJ6ZeS3A09HSJPNaA4//hN -0o+DpqUQ2v9rwUH5OJ1YDk6xSFNDSmx/I2UEi/7JXZ5+zd0npfu5kZUQY00X7QrA -hoxLc9zzJbYy3eSHaDsgJ4tRm68a2PpxbmwfvTF51iQwU2F30pE9Xuapbk6Hhwtk -aQwlWohv+ZnNaJp6hsDFe+ELixdXlwi7UMvowXoD4+7AcfBe2QXLllYsZYYLaMj1 -YrKpNfThQoOYNo7UByPJOKLL9Err8QIDAQABAoICAFX3AKeAwQ//Az0eCEvtR8NN -0y0DDRd0Y7b4eBs02JWXRk4dxDnAfZsnvD95uqoRQQajXJ/ydF0mkCGnhgK6TCFL -uwPIoo9s9aRT155u+jZ46WKeAAqWZ5kgVhAO4pTRtDxKM6L6c/xXQTIsbc9vVMRz -8/jx9/aTBmzHrjkslcIBZte1xd3uRSETY3h4p018FPTeOMuKK50Di8yGVRTQVjvK -33inkc2iZvYahV3alB6VGCTTBNPyOc9EFgWV2bUObN3akOL7D62svtAypcatMDNr -9LbFkmUO3spdMzZKHFbVSao/9Zjpgee4rthV5EUyrYNrqeMtCSY+7ghuHNdZjY5M -E9IntIqtZTHnTXJuHR5aZhQUuRBBO8ymhzSRYLPCWTrIb2FdRVj2u2h8YOhVgo13 -3/b55Q1vJxWbUdqgxn087PvvNoznIqTphsKGivyPZ45scnwVMhVd8Pgm6V0nuoCV -Yj32CSXFFTavZTP6c7CN3jzjSXyHlJrC4vhVD30tqV9iDeZtYE3AGuP3E3xGE7oU -vqBzkUOk5gnYxbKpFA2kW8uY0XWmbrWR3sz+1Xw7IrQuyqMFvjnhRdpJaodkAlDa -roefxFliyek4/SRyPcWiM0yaP6Mz6ssGg018b/fM+HemE/wtd3I6qDS9PZl3LBdv -9aLz9XTh948/kIASRjLHAoIBAQDpqwuM1UlcQTuUmuoF0hADmBzi8eIR2JcnVVdE -UHfu8jJ3LMzNNf5VAcjbBwTb3/gdVhD71dm9GdGGmX4bLBogGqRuEYZtDKOoHu0w -RKUGSATob2qkLC6bI+Xg1q6XMTNxrBqqjTMCbHKuvwuwF8qTYTuP4GTaDEBpOdme -VfWoLu9JAbQz/9NxUYqmj2FckA/v1LQ9apBu+Cnwk9/U/Yi/kGz8EuX8apfgou1b -6fi0m/TkkbXuVEKP9CwUuWcX5TGQ5LFSqfK40eIT5AIKPhTWAwZV1iRhNh2J9kNH -gC2yOqFswSRVJ6KsYMs7pMv2g2cwjBP8M1BudKRIxkFJbcmLAoIBAQDjdnDVq09b -xHsv29evhx70GDl+oyNEkbhKjGqr4V7yL8wcchSdyfT8bZhSo/cBE/BRhfgBreLo -TGUHBDWEySGfmWwMQQjorLawnAiJGerm7N497R67jmdZIgd7NwcA+XQ7N784Xbox -9IngEvAt8hyUqJXQOSNnigLOWQoJSdyYzpsXBSjXcu/TsgozLu+FD9Gii8T+hyuo -NhAgmj/9Vr8GhKVIkaWRPouTGA2pm2b6iJgaHWLICbUK8VFdc9XTkBuhTc7IyGHP -1gd87cOM4AkgNp6+XMAmJqePRnBAvbDxNIdaNr/Bp2YxRw+uTa8qCpi3bAsG1qjJ -WJHlNT/jz3fzAoIBAQDYu3jMGOyhcDQGIyYbXfrSip2Idlh8uwuARSzbRVPowqbC -WUBgusr7J9uYJEuCcZveAf1gyLrcJf1sviP0qhRVYMDRAtpPfWCyyHSxx4nVaKl8 -uhMM0Zos9b/7qsRnohAYSEy3kp4UimhY4wTBQV/5ET/AtJ52jNSVhT3vGcXwSBBU -BAuUC56gRcS3ttfUlh7iEcVYDeaHtxCXf2EmWj8jh58+s3y0gl360sQb88lmJB2i -f/Biba8LfKwCUPFpfYFa5nP+u3lRqgLq9hpaS7jhxA51QVme/SWq2EsRH7fCz5T4 -nbDIdynwfxsiaDlynfDxW4wR6bqZqQDUK2dU50r/AoIBAQCvNsY2IS8RPmmx9QPR -ByG1348yWJJLOICglEd7PTC5GE5/PvVYkoAvjnB+gCU95FEDS1I+YObgEDDmVbyw -G4rV+QW87r/hE2Hq61a73YYP+jg7tZMt4MUFaOwgYsP3YTDCiO+4iKJr5rXqMExo -6A5SCQbWDZ2THUGKGBZeD1JpNwVKl0PdqoDJLmUjBi2k7wmJz2agthjQC00jAA74 -pECj0bvMCb1jA63aUfX8R2Ps6xlXTHmSI8AcvMTzWs5EmMZf26LFEW4e/fxopHI0 -60K8WLaxZprxCGecOyMvC6/oLZFx0aimkL9siBOxLdAXb3AyInzf+Kyt5JcF253q -ax83AoIBAGSoxz91Oc+NPP3NNYlPuhXErqC+R/EEO6Z6ZalKsJtfgL1Ss6Fq30ot -iKhEfFYm1gmZDTrMbI6dceGkNg4l8okXz9U6lfUQH0muk8ZRl8LaSm7cQwzcAI1S -m7XPnrwLtX81SihtxZnrvLTre8aM9ykKWCXiLY19LXDuJZQdwbzSgX1ie2Q2ZRcz -Rbxm20mgybQ0Jmmw1tY58d5GH5Y/A9NE+D0scobljMH5q/uHeg2bDx1piSw1lsx1 -zuoFe7sNa+zDFiYxXlyOhqDxenNRv4oDupGRefTaoJofGBDre5H2nDeWC2ZzYFEB -DktFAP1w3ruycnE/t+/H8rDVJGPTHc8= ------END PRIVATE KEY----- -", - "WS_ASSERTION_TIMEOUT": 5000, - "accept": "application/vnd.interoperability.parties+json;version=1.1", - "acceptParties": "application/vnd.interoperability.parties+json;version=1.1", - "acceptPartiesOld": "application/vnd.interoperability.parties+json;version=1.0", - "acceptPartiesNotSupported": "application/vnd.interoperability.parties+json;version=2.0", - "acceptParticipants": "application/vnd.interoperability.participants+json;version=1.1", - "acceptParticipantsOld": "application/vnd.interoperability.participants+json;version=1.0", - "acceptParticipantsNotSupported": "application/vnd.interoperability.participants+json;version=2.0", - "acceptQuotes": "application/vnd.interoperability.quotes+json;version=1.1", - "acceptQuotesOld": "application/vnd.interoperability.quotes+json;version=1.0", - "acceptQuotesNotSupported": "application/vnd.interoperability.quotes+json;version=2.0", - "acceptTransfers": "application/vnd.interoperability.transfers+json;version=1.1", - "acceptTransfersOld": "application/vnd.interoperability.transfers+json;version=1.0", - "acceptTransfersNotSupported": "application/vnd.interoperability.transfers+json;version=2.0", - "acceptTransactionRequests": "application/vnd.interoperability.transactionRequests+json;version=1.1", - "acceptTransactionRequestsOld": "application/vnd.interoperability.transactionRequests+json;version=1.0", - "acceptTransactionRequestsNotSupported": "application/vnd.interoperability.transactionRequests+json;version=2.0", - "acceptAuthorizations": "application/vnd.interoperability.authorizations+json;version=1.1", - "acceptAuthorizationsOld": "application/vnd.interoperability.authorizations+json;version=1.0", - "acceptAuthorizationsNotSupported": "application/vnd.interoperability.authorizations+json;version=2.0", - "acceptBulkTransfers": "application/vnd.interoperability.bulkTransfers+json;version=1.1", - "acceptBulkTransfersOld": "application/vnd.interoperability.bulkTransfers+json;version=1.0", - "acceptBulkTransfersNotSupported": "application/vnd.interoperability.bulkTransfers+json;version=2.0", - "accountId": "6", - "amount": "100", - "batchToIdValue1": "27713803066", - "batchToIdValue2": "27713803067", - "condition": "n2cwS3w4ekGlvNYoXg2uBAqssu3FCoXjADE2mziU5jU", - "contentType": "application/vnd.interoperability.parties+json;version=1.1", - "contentTypeTransfers": "application/vnd.interoperability.transfers+json;version=1.1", - "contentTypeTransfersOld": "application/vnd.interoperability.transfers+json;version=1.0", - "contentTypeTransfersNotSupported": "application/vnd.interoperability.transfers+json;version=2.0", - "contentTypeParties": "application/vnd.interoperability.parties+json;version=1.1", - "contentTypePartiesOld": "application/vnd.interoperability.parties+json;version=1.0", - "contentTypePartiesNotSupported": "application/vnd.interoperability.parties+json;version=2.0", - "contentTypeParticipants": "application/vnd.interoperability.participants+json;version=1.1", - "contentTypeParticipantsOld": "application/vnd.interoperability.participants+json;version=1.0", - "contentTypeParticipantsNotSupported": "application/vnd.interoperability.participants+json;version=2.0", - "contentTypeQuotes": "application/vnd.interoperability.quotes+json;version=1.1", - "contentTypeQuotesOld": "application/vnd.interoperability.quotes+json;version=1.0", - "contentTypeQuotesNotSupported": "application/vnd.interoperability.quotes+json;version=2.0", - "contentTypeTransactionRequests": "application/vnd.interoperability.transactionRequests+json;version=1.1", - "contentTypeTransactionRequestsOld": "application/vnd.interoperability.transactionRequests+json;version=1.0", - "contentTypeTransactionRequestsNotSupported": "application/vnd.interoperability.transactionRequests+json;version=2.0", - "contentTypeAuthorizations": "application/vnd.interoperability.authorizations+json;version=1.1", - "contentTypeAuthorizationsOld": "application/vnd.interoperability.authorizations+json;version=1.0", - "contentTypeAuthorizationsNotSupported": "application/vnd.interoperability.authorizations+json;version=2.0", - "contentBulkTransfers": "application/vnd.interoperability.bulkTransfers+json;version=1.1", - "contentBulkTransfersOld": "application/vnd.interoperability.bulkTransfers+json;version=1.0", - "contentBulkTransfersNotSupported": "application/vnd.interoperability.bulkTransfers+json;version=2.0", - "currency": "USD", - "currency2": "TZS", - "fromDOB": "1984-01-01", - "fromFirstName": "Firstname-Test", - "fromFspId": "testingtoolkitdfsp", - "fromIdType": "MSISDN", - "fromIdValue": "44123456789", - "fromLastName": "Lastname-Test", - "fspiopSignature": "{\"signature\":\"iU4GBXSfY8twZMj1zXX1CTe3LDO8Zvgui53icrriBxCUF_wltQmnjgWLWI4ZUEueVeOeTbDPBZazpBWYvBYpl5WJSUoXi14nVlangcsmu2vYkQUPmHtjOW-yb2ng6_aPfwd7oHLWrWzcsjTF-S4dW7GZRPHEbY_qCOhEwmmMOnE1FWF1OLvP0dM0r4y7FlnrZNhmuVIFhk_pMbEC44rtQmMFv4pm4EVGqmIm3eyXz0GkX8q_O1kGBoyIeV_P6RRcZ0nL6YUVMhPFSLJo6CIhL2zPm54Qdl2nVzDFWn_shVyV0Cl5vpcMJxJ--O_Zcbmpv6lxqDdygTC782Ob3CNMvg\",\"protectedHeader\":\"eyJhbGciOiJSUzI1NiIsIkZTUElPUC1VUkkiOiIvdHJhbnNmZXJzIiwiRlNQSU9QLUhUVFAtTWV0aG9kIjoiUE9TVCIsIkZTUElPUC1Tb3VyY2UiOiJPTUwiLCJGU1BJT1AtRGVzdGluYXRpb24iOiJNVE5Nb2JpbGVNb25leSIsIkRhdGUiOiIifQ\"}", - "homeTransactionId": "123ABC", - "hubEmail": "some.email@gmail.com", - "hub_operator": "NOT_APPLICABLE", - "ilpPacket": "AYIDBQAAAAAAACcQJGcucGF5ZWVmc3AubXNpc2RuLnt7cmVjZWl2ZXJtc2lzZG59fYIC1GV5SjBjbUZ1YzJGamRHbHZia2xrSWpvaVptVXhNREU0Wm1NdE1EaGxZeTAwWWpJM0xUbGpZalF0TnpjMk9URTFNR00zT1dKaklpd2ljWFZ2ZEdWSlpDSTZJbVpsTVRBeE9HWmpMVEE0WldNdE5HSXlOeTA1WTJJMExUYzNOamt4TlRCak56bGlZeUlzSW5CaGVXVmxJanA3SW5CaGNuUjVTV1JKYm1adklqcDdJbkJoY25SNVNXUlVlWEJsSWpvaVRWTkpVMFJPSWl3aWNHRnlkSGxKWkdWdWRHbG1hV1Z5SWpvaWUzdHlaV05sYVhabGNrMVRTVk5FVG4xOUlpd2labk53U1dRaU9pSndZWGxsWldaemNDSjlmU3dpY0dGNVpYSWlPbnNpY0dGeWRIbEpaRWx1Wm04aU9uc2ljR0Z5ZEhsSlpGUjVjR1VpT2lKTlUwbFRSRTRpTENKd1lYSjBlVWxrWlc1MGFXWnBaWElpT2lJeU56Y3hNemd3TXprd05TSXNJbVp6Y0Vsa0lqb2ljR0Y1WlhKbWMzQWlmU3dpY0dWeWMyOXVZV3hKYm1adklqcDdJbU52YlhCc1pYaE9ZVzFsSWpwN0ltWnBjbk4wVG1GdFpTSTZJazFoZEhNaUxDSnNZWE4wVG1GdFpTSTZJa2hoWjIxaGJpSjlMQ0prWVhSbFQyWkNhWEowYUNJNklqRTVPRE10TVRBdE1qVWlmWDBzSW1GdGIzVnVkQ0k2ZXlKaGJXOTFiblFpT2lJeE1EQWlMQ0pqZFhKeVpXNWplU0k2SWxWVFJDSjlMQ0owY21GdWMyRmpkR2x2YmxSNWNHVWlPbnNpYzJObGJtRnlhVzhpT2lKVVVrRk9VMFpGVWlJc0ltbHVhWFJwWVhSdmNpSTZJbEJCV1VWU0lpd2lhVzVwZEdsaGRHOXlWSGx3WlNJNklrTlBUbE5WVFVWU0luMTkA", - "invalidFulfillment": "_3cco-YN5OGpRKVWV3n6x6uNpBTH9tYUdOYmHA-----", - "invalidToIdType": "ACCOUNT_ID", - "invalidToIdValue": "27713803099", - "note": "test", - "payeeIdType": "MSISDN", - "payeeIdentifier": "17039811902", - "payeefsp": "$param_simNamePayeefsp", - "payeefspEmail": "some.email@gmail.com", - "payerIdType": "MSISDN", - "payerIdentifier": "17039811901", - "payerfsp": "testingtoolkitdfsp", - "payerfspEmail": "some.email@gmail.com", - "receiverMSISDN": "27713803912", - "testfsp1Email": "some.email@gmail.com", - "testfsp1IdType": "MSISDN", - "testfsp1Identifier": "17039811903", - "testfsp1MSISDN": "17039811903", - "testfsp2Email": "some.email@gmail.com", - "testfsp2IdType": "MSISDN", - "testfsp2Identifier": "17039811904", - "testfsp2MSISDN": "17039811904", - "toFspId": "$param_simNamePayeefsp", - "toIdType": "MSISDN", - "toIdValue": "27713803912", - "toIdValueDelete": "27713803913", - "toAccentIdType": "MSISDN", - "toAccentIdValue": "97039819999", - "toAccentIdDOB": "2000-01-01", - "toAccentIdFirstName": "Seán", - "toAccentIdMiddleName": "François", - "toAccentIdLastName": "Nuñez", - "toAccentIdFspId": "$param_simNamePayeefsp", - "toBurmeseIdType": "MSISDN", - "toBurmeseIdValue": "2224448888", - "toBurmeseIdDOB": "1990-01-01", - "toBurmeseIdFirstName": "ကောင်းထက်စံ", - "toBurmeseIdMiddleName": "အောင်", - "toBurmeseIdLastName": "ဒေါ်သန္တာထွန်", - "toBurmeseIdFspId": "$param_simNamePayeefsp", - "validCondition": "GRzLaTP7DJ9t4P-a_BA0WA9wzzlsugf00-Tn6kESAfM", - "validCondition2": "kPLCKM62VY2jbekuw3apCTBg5zk_mVs9DD8-XpljQms", - "validFulfillment": "UNlJ98hZTY_dsw0cAqw4i_UN3v4utt7CZFB4yfLbVFA", - "validIlpPacket2": "AYIC9AAAAAAAABdwHWcucGF5ZWVmc3AubXNpc2RuLjIyNTU2OTk5MTI1ggLKZXlKMGNtRnVjMkZqZEdsdmJrbGtJam9pWmpRMFltUmtOV010WXpreE1DMDBZVGt3TFRoa05qa3RaR0ppWVRaaVl6aGxZVFpqSWl3aWNYVnZkR1ZKWkNJNklqVTBaRFZtTURsaUxXRTBOMlF0TkRCa05pMWhZVEEzTFdFNVkyWXpZbUl5TkRsaFpDSXNJbkJoZVdWbElqcDdJbkJoY25SNVNXUkpibVp2SWpwN0luQmhjblI1U1dSVWVYQmxJam9pVFZOSlUwUk9JaXdpY0dGeWRIbEpaR1Z1ZEdsbWFXVnlJam9pTWpJMU5UWTVPVGt4TWpVaUxDSm1jM0JKWkNJNkluQmhlV1ZsWm5Od0luMTlMQ0p3WVhsbGNpSTZleUp3WVhKMGVVbGtTVzVtYnlJNmV5SndZWEowZVVsa1ZIbHdaU0k2SWsxVFNWTkVUaUlzSW5CaGNuUjVTV1JsYm5ScFptbGxjaUk2SWpJeU5UQTNNREE0TVRneElpd2labk53U1dRaU9pSndZWGxsY21aemNDSjlMQ0p3WlhKemIyNWhiRWx1Wm04aU9uc2lZMjl0Y0d4bGVFNWhiV1VpT25zaVptbHljM1JPWVcxbElqb2lUV0YwY3lJc0lteGhjM1JPWVcxbElqb2lTR0ZuYldGdUluMHNJbVJoZEdWUFprSnBjblJvSWpvaU1UazRNeTB4TUMweU5TSjlmU3dpWVcxdmRXNTBJanA3SW1GdGIzVnVkQ0k2SWpZd0lpd2lZM1Z5Y21WdVkza2lPaUpWVTBRaWZTd2lkSEpoYm5OaFkzUnBiMjVVZVhCbElqcDdJbk5qWlc1aGNtbHZJam9pVkZKQlRsTkdSVklpTENKcGJtbDBhV0YwYjNJaU9pSlFRVmxGVWlJc0ltbHVhWFJwWVhSdmNsUjVjR1VpT2lKRFQwNVRWVTFGVWlKOWZRAA", - "NORESPONSE_SIMPAYEE_NAME": "$param_simNameNoResponsePayeefsp", - "SIM1_NAME": "$param_simNameTestfsp1", - "SIM2_NAME": "$param_simNameTestfsp2", - "SIM3_NAME": "$param_simNameTestfsp3", - "SIM4_NAME": "$param_simNameTestfsp4", - "SIM1_MSISDN": "17039811903", - "SIM2_MSISDN": "17039811904", - "SIM3_MSISDN": "17891239873", - "SIM4_MSISDN": "17891239872", - "SIM1_JWS_KEY": "-----BEGIN PRIVATE KEY----- -MIIJQgIBADANBgkqhkiG9w0BAQEFAASCCSwwggkoAgEAAoICAQDF7BOa5uMtMcyk -hEuHXNw1/q7YTaRwyyJZLXAOl3lHnSJKPp7+USY7mSkSuyNwf6lpKaZZ6q0AnuLY -Narkr376osEE1KNjKWUFMSPeJKqrYx7bgZOnbqvnO/XRPBnA7N8WG0JIis+N4MGt -4YVXzojDMxU3Ghpj0Li6U8dJ6uuXYELpeiX0DV+/LcRtyb9QJr69Ezpa5x1ROly1 -mqJlfMth82NXKpQWGpRlmsBsMpxJJANL7K9672zWgmXWvClrCy4hRy7wBOLSevOI -p3shfDXYBC0Kxay/EX4SY4geHOqyAxlEQp2zbAMo/IKtDwMfepm92dtA12vo/bfc -yjoqM62ssrSSElQpXH3yKBYAA3lg4NAXkOWhetk6siEtYAMM+kWMqzNC9rZj0Trj -gsxir7tHPyTxRfQxXCRSDQWCSKmFnXixWN1dj/b0CGIavG74NkSD3rh3JwPmRG1C -5DFrFq9Oh+SlGNDdQMAYG+UWJyYIJq2e9RaXOipNIAliD7YHofWpqMnjsldPz4v2 -YsYNFL1FUd9XwpnMx+PS1Vn57QGbiJZgbp75xhkfA01mgc7MINWI/ZCmqcpu0RQJ -qsY2JSL0Iyt7cprwok4rLp8z0GO18kpa3HwyQFhCJoUQ895egPajEfxfvY+mp9im -H88Dn/837leIsnKL9qx8JpPv8dUqwwIDAQABAoICAAOA3KK27VS5TuMgTCcCqK0c -oXJNkHore8wcn1BDpnK2ilUbQvlQtyVt+TBpN0hgV5dIXsRxbEuwCwjXIYJ5nFs1 -zz/mRY5SQ7rs5vYaxq4vHGW33TClDGJzLgvw4YHs/OuaJiGG6B6QNx8eIMR6cNfs -iWXcxJSbM64YO4s0M0Y2oHbl17eCdU3+OVjHhXt1Pw+adhsuw12c+nvd66Quqmxt -Yhs/W4l6hS0yZcpLPVxvi9w77N/jGIfwxZU7iCatzqr3Ls8k7pNS5Aj81sl9vTRb -ZpDqgruz7THw+ZvIh/0V7bFbC+Fbh9Ua5T13tEveS9k4FZ6Orj9PLExcJiEAXsF9 -/WGN9pAXmjbULu0Usxe/0KaG3BTfzmQPH8n6Y6yNZgnhStQOdZn5dIFiIT/nfscw -S3IDCwZZktptWG6pBgGtoTUSiWZfSDbR0mj57+VDeG3Dg+5k016KCwR4H1y3q6NV -JKaOJlKadWgh7wCaH8Dg8Y+lHEV5TOAIPdg7nx1D/U+cNbXKbjZZ84D8CSi2Afk0 -CuR3WTXPncpsugvehyfiOBy26kmcxBz6fyi2QAKxFfZBeO9Wao1VcWnd8G9mZs6K -VZ3qjzRODMZ8pEk8/13U3G5TqKNpFgdOzb64dMoFmTMc2fxPM9WFX+iy9n5irSdA -bdW0sugAMrRF7Tmor1apAoIBAQDwU1I/xJWR4J/+7Z174HfrmusIFg5wu+4souVO -FWQE903KDHbrX8DnEf4GdElDJ3qwZq1e27hSVhpwqlSMkBS0frBvyQfX3tAeevmE -nNKFpLQiBQwQWeWV9bbXKUDEvSwxGBHEKKhAAgKRM9EJgWAkWOfMBfj/98Qo390p -ske4ZR28w2XDrW7Ycqdo6NDjte+ziDmeMNCU7Wv5StlAt0eRJ7fXOi9lN4BSw649 -0YTNwq+3G5yHpWkdG6e4EWKuCjXz8/4vW+pPatlWXEtrZgSJwAYe3HSZw3ds/Tcw -YHdPULoWpOHkdUOqXZ9abWPQ4bI9v1EmtRy2z6/G+tYhwud3AoIBAQDS1MDy29PM -bbLG9oLU3dZTL+UnZ0Bp+GTSao92EOCHvco6w+/Y1+rAN7e2F5tbMMWkc1ozIQn/ -TrXvX9W75+CPsj5umj/ZXmv2o9UHurj3ENQ+jRA15uBNNdKOYyrHCWLZWi3TyKqm -co0KSQOjk0qrn3c2asU1OwiHA7CYP0baO9X6h/kBcaRYxpdPP0XUbKlAqHiaQTdM -Vex9J+LuIO9qnchRFuD1DYKcKJwLYeXs6tSRfh4mO+9qWpYaA3nKBsyjBvo1szak -mmCA4DiFGZgta+2+rVCUY3tXHn52X64+JKHgd4NA/QEf/GXsgO4rvW0is6T3bKCo -n2dKa0GOEMIVAoIBABmS5EfA5aG2Y5A/POj3xAsgWy5rGnJIrVm2o+whPpmAr5h2 -pxj5AZAVTBDnwvwQcW/gHUbg3sZ0PzAKECE9G9bxPFlI7Tq9jSwRLgg8n/J0ym5s -VxJOXq4Mjb5rt2a4MsGurAVRxkW5cQh+mRoH2HFFvLTrVcn3Vbp7yA8t14/5wqZZ -rLSb+hWybbouPDxfGfji4C7DRw7yDPFkU6YdWtJJhbizimOc+lzUUfBmIVm8A/La -T1fn9D2SudBOmU+n6oHhTwU/JLn6xtH31FbDbmwyMPSLxSSvtj+02nCdc1TPZF4Q -gbFMAT1Z5SE8Tsjlm5ASkdIqp7mUdEIaYzsIgJUCggEAKn/ewVYU9OGsJzVsHDL3 -0F8YR4Al2PbMhCoc70TprhNRH9V9lO25kbPpoZhSpehH/yWNqj7fwAqC3FUqRa2x -c+YPdcY8VroU82wFNoCqZouK7W0MNoFq98WAw1k0N1kqBvyJvmZ2GAWBbvBW/nNj -mwMTSfHt/RQAXQ8eWyJuSvHC6bTdOjBJW+f0enIbxn19BN6xKQ86cXXkrToMIcqb -2Jcj2UzOXjex+36oLhc2/TI9VXLh6v0r/vlxxp6qv1HtkHOInqiYvEeuamxImHQX -XBiknUpcsvz20RIBliUlf7tssk4FNGWMA4GinjFDUafmxxcFiybnn/Y6ISNL3LJ+ -HQKCAQEA2q493viIsIujsyDVUeW5CB94Zox30nINvOGxQ+Zt67ltyLYOLaQCp4Di -P1GBmB5Pc78Bd7uIPzmZFvp6M1XPpA8HL2BbHaehEiRojBP8ytafMFbOAFfK7r7R -bBHGBV2TLcuucQb5iMWCg/l5GTfX5PYUBq1nj/8QFYeflcSs8G4ndxGtl8qN2j8o -sqBrbDbBJFidLxou0bwD7twX1fY3bOdTFxpO0cSMCxZ3wFeVoUR8mBeP87Jkno7x -YBhb5j1KM+MPkast7nE2dczxfvzjDhr1rnsY9Yq8UHCIsFOf5krsNac1+k9zipR8 -DgoQeSng2kt5Z6mkoDIQTs7nEflb4w== ------END PRIVATE KEY----- -", - "SIM2_JWS_KEY": "-----BEGIN PRIVATE KEY----- -MIIJQgIBADANBgkqhkiG9w0BAQEFAASCCSwwggkoAgEAAoICAQDO+faoQhcwWr3Z -ppD60DkXg5ganK1Le14Z/IBx+GGQqdYVUa6hIGR0HV3HchIkUf60+ei9WyYer8ze -7bJklfo2TiMAdWXb9+eHJ0+Vuvsb/tH5yRjbxgTpZRgygJWiKDGXrYkGKAfSagJ+ -WDd2vL9cG9W5+OyXNiitK5pHa0dj3QwS+9C/yxzqgGLlkIplEcLqdYFknoVK+mas -YBG65B0+5NHy4soEIdGr7Nd2xINqq+2/qyghwxcBQrxktbHC+/R+odkvTLrHWuBr -x5NnL+LAbfmfDntsUfo2nZb667IdcRFoLWlsU9jK+RaaxNFcbe+j1PY+oJQdXF52 -9JNQR6efBOtuZXD9hjV/N1zmRFCY/o8nKc05Po2RZuLS8xKv90I4uZNF78X1ZiLz -5veBjZF+Xa6kB5ABPENVA7xuCepfPoUUIQweatF4BwjnBYmGA6WVVckD/VO6AvpU -vFuy+BQpEQFcfoX7OrqkY2MMITotMcflVjboGdwdtvJWEhBApGp70KrDXoYIh0q4 -opt/z1jv5MveyNfhq8qPca0fovcHST1tsAS0cSaro622fILTddaeCbLt8fBLH1Dz -wzM4TDWb0i8EgXhGnRdqz9KNukPB6YuAEaaCKoRxsxzx41HYFLtES8XhNuV2Umxl -NboBHjKy1wycZfRvrriph/dmwNSpjQIDAQABAoICAAcxIdxCYaZlPMwTkN2aPyWd -RbuE/rOM/53VC4yKRi+d6ym1+ySvqLXtME1GHjHDZJ+awHbV9DrkPnDvnv+GQ5m/ -+NDjA21TjajBWa9Y/jFAl0C/91xpotGOWPsmQyzNiz2bQtPjL7RkyR3lSFYYpGiZ -sgFCkEwHzn2H8pYxONuUOn9tXxlPADv4xpb2AQ0Wgyic+ShLJtQOY+Nw+iS9mPOO -xWnUbhMbLrsz4V/H384k17/NfXlA22uIi13Pf3QIR7xfuNl/J81WD87G8k0HWbB4 -kdAwU2MV7SUZMD4bUwbZXzK4wz1Ho5SX96xcku7MhiNx+rV95G+pvkGRaY4EU2Nv -6g8cN/TliZKcTV445wZg6SWcgOC1Q8TlosVpP9SsbeuG9NIC8DMfLdy6qJ0tASuP -b4z1k0jiAyb5mA5EvVyK0WjZDBNM4KwW9CU9XC7NHw5zEHJbeKmLmWiz1pNxVPu3 -gaN0iC54LjTbtTCl+m63aedwldAcjjrBclKJYGlGpbHl8MJ+fUFtPoeX8IlXwxAu -0p0RYRjMxsNlJkS2EU/5CDC6VnFgNPNYxUfEYH89qlbH+nBgU+gmMUkxApSkvNYG -IW4QPcbyjzVY4WiMG5JFYJ8nR6NypUSnyCNXBxNHfRyT9Ay7qNdCU7XmuXZVK6+Z -li9YtfoJbnbUAHcxRAEJAoIBAQDtCMjG7qAfP2zAxtpZQFyte2SXfPcoVei4P+SW -tHVTDE7IGl/RYlFAOj8oyulvOsaH+RtsiLzaKEY3jjeN8FJl3d1F1fwQN+JuGxIr -r7P/fEmE69MHYlSou8z81DuS3ICavu8nC5q2nLJhXV9W1QY5gLMERUac1M2jiEJf -aE0nWI59CagjtF8Xaq1uL6cv0Tyr7ORd5gt6LYL0zVChIrQaVx+LQhcy49Z6AQDw -b4pVdSY7jrn0Q4SjvgMPTtHxvY1jN5hAvyOZGi1SUzpow7RNnYzGANd9aQNaKjJN -qU7cBrJuLPyINMzUrdLC35yRebl/b975N5wBECA3htqbkljpAoIBAQDfiX+Bx4Qa -J/8V4eWNyUwlg1Sq7xQe4EPiMELeEb0LD5zlUgGo4/UoWxmT84/CHlWDzScgYgUW -at/y0fZuFCe/9IKLoR2Nqwppb1Ay+kMvbfJKdDQIhH2iFVobgracnm3duhIKX4mX -df21dhROnZ6ZGqsHPjE6NwbRG6sg26U9gHu+LqVVUjgmRoeKZ7YT62tmpbbibLc1 -kazqZ9HkZtrjHNqpKts5VZJya/szEXIVfte+tzQoXHwNTQfFXtT9z+iNjIVxY6as -Zj9c+vahGw+N1VPmd79FzOcMgBHwY0f8GN2gfBDPc30Ykrtugya74QxPWILBUpf+ -4QZEzLT7nWUFAoIBABeQPv1frXVNxc7oNb6Xol7wnFBe8OcGm0rttxiwOdWWrKJB -1PKotnEPGUZB3bDcA+5yeiJw+W0qgch2D9nBYT+VLbEKk7M9CvptIIJNRjSIs3pO -Qz1Bri7T9I3Rv1ZbK0G252lXQvsSWr1JHfgw1xySSbmL9XgTw5mVKxv272yQ5iFR -+3AJN0bJqRICFLmxMDnbI9ydyNhNe+5AFtrd60+PB6i9WjcJ5UFdpi1AuVzDd5iG -GMBKkf4BHqa/7Cj+8fZCCZWuKqjGrGi5s13EzsDEf8ETRljGProQ5c1InnlLBSPk -vvn/Xblqyj/rINJpamJbyau2toB4jOtYMZUzmDkCggEAfmjeH0D5lmUJ3pEJZF3y -XsBe7+8VXMSL/uw11CkJ06h3nEL8x0pqB/FEjKNOp4LJ7yfjuW9U2zGDBWjwx51E -QUv/SwDImqWf1LHrE3js53RwcOQ3zJ1IApG6jBYmOHlrPdkMfKs8PtetqqFkqHSA -DKrFDup/oiEeDMBtzL4JOrdewtTUEGTXdeWqnn05vRgDe1+5BWBfVr7Tnxco3dXA -cHCPwtyGbmzSzTv9KQrzje5WCPbHWw+54zetblLLdeDN7MYLbGzjA1kq+eS99as8 -54M81/bdxpYyDqKaAmvSeGCDbE7cnsP7eRr5PWyTSenhMTmnb7XKWIteJSfyLNv8 -FQKCAQEAh9FvoIxoz4KvmVp+qyoXIXbq4egx4RdvNVBTWDnoQnVsnaetbzSkYPJX -ObR7waDJd/eu8b+VnwhTiIIwzMA3ZYmV/ZNUh5YKtYXzNqphdyPpJHxN+lwSBeV0 -mbyQ+W4UzhG2t9vaFbV0UElsNFclKNzWzrTKRKAQjteFMItEKewN1Mjsb8Ckb1UV -nQRBmAAt3prGgv27+vjGVjH39CymNhrBt8DSk/DWqmPeEYewwkiMkOUADHrPbIPi -GWJYfY1jvUJsp75usbzG7VZ8SxDD8APOhJHIDVm4HiTsS0YcOY53i/7WirChSNne -Tv4G862WYeqD1fdyZaKQ3b9fAQEq1g== ------END PRIVATE KEY----- -", - "SIMPAYEE_JWS_PRIVATE_KEY": "-----BEGIN PRIVATE KEY----- -MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDMu126miewCUCT -7f49B0SyCPFGzmqGSs9rTPbk1se+BBhqfhsfkZj6cRRfrlg3rme6we0Ib2AF5TQL -noSBlDAimQcNOHXrqpAY/B0l/mgyUwmfv0NJ3UjZuCFuw3HRrU/oSUfXoDITC+Bi -120w4FY2B/vPn+1iC/tsaCayneoaV/Sedq7H9+smEnQfGl3p5QJp/B2Ws3Bz1HqI -IoxLEaO9VMeDHQPvNJn/7g9erqA5vIhmgLS46worOVjdRLH2SECH73qp8Wg0rJ8Y -eW2kQ8kuY4uHcG3MO6drYrC011U0ZyM90KV7dv2Y0h2FHlpn9s/pmb630m5ELpnB -T/pYTLcXAgMBAAECggEADqk6Qz3SgBeMMYEWYZ4ZdsW6Ktpm+Xqg/kDy4JywOB9z -SikBXeeKH3Z6ltwq2BicDV020Wb8Zt+s3vTOmLhDzC544/hPmtKfjWfR2eHX6gaq -m+8ml+20pQFmb4Kn2MlC/Xzwm/SOXBvPyUmTua95rQExsK12DT0+F4YhLfhYsTh2 -HfkEzdFW4rrd+9ddKG1ZANS4ZaiMyzhtvUWeEBypBtVf+kBk+51t9pLCdjuynb8I -WylSDhikT3/YQ/3g/Sz3SMp1u4x0GQe9FWYrnPzzp5LnM5fm49v8JWVHUvd0TOi0 -dQV+LYlgSD38YPpi4iKQSh0Zf0EBfbA83GsX2ArJ7QKBgQDmvcA6PqPo0OV/7RKY -JuziA3TpucL8iVM1i7/Lv6+VkX88uDvEjwLoNAiYcgIm/CMK7WAwA+Dzn4r38EHB -BKF4KRhP0qQS0KLXsd0tdsmAB0In7+cbKL4ttqNUP98xZAkTLJq9PXqTKN0qtyw4 -SfIsVMjDGoeSdWHObZYbGKICfQKBgQDjJLwolDrVX29V4zVmxQYH5iN+5kwKXHXj -suHBrW02Oj/GQFh3Xj6JQi3mzTWYhHwhA4pdaQtNYqTaz9Ic/O1VNPic2ovtg+cd -7sh86qdQ4QZYhN3RT4oX///u6+UK90llh9hEBo3GuZ4X47tuByNtD4SFAlULrkSm -fW4XaC3gIwKBgGil6HfCDx65F00UnVlKVicPQEf8ivVz5rwjPIJQ1nZ0PYuxVtIH -tl7PspJJKra5pb7/957vM2fqlOFsIrZCvmS75p3VP7qUyzYeIdzLwgmBwTxRrrP/ -n3kmGx9LtJM29nKuySNIrb3uS5hi6PhCeUYn0cHC13fSKuCvjOOPIXMVAoGBAJg+ -CPdR0tUs8Byq+yH0sIQe1m+5wAG50zJYtUPxD6AnDpO8kQ8A1f19o/JsXJ3rPp+K -FfVh8LdfhIs8e+H+DLztkizftqXtoLzJTQuc46QsDurJszsVisNnTI1BAvWEpWct -0+BUXDZ0NuhgNUIb+rygh/v2gjYgCddlfqKlqwntAoGBAM5Kpp5R0G0ioAuqGqfZ -sHEdLqJMSepgc6c7RC+3G/svtS2IqCfyNfVMM3qV5MY3J7KnAVjGOw2oJbXcPLXa -uutsVVmPx2d/x2LZdc8dYYcdOQZvrUhmALhAPXM4SRujakxh+Uxi1VOiW+fZL8aW -uu1pxuWD0gTJxFkp6u4YIAhw ------END PRIVATE KEY----- -", - "SIMPAYER_JWS_PRIVATE_KEY": "-----BEGIN PRIVATE KEY----- -MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCg9eU66hg4ZAE6 -jM4U8ylXQwUz9cdmzS3JyW+1bbgv77peMKSU/wFsi4QRwmbrYze9baFnGCKnS75E -vCchib5vJxp3MDWzi/TGxmzgWdJRzkyCiI5C6dCgVL71MjsFgN3TN63wEf5sEU2I -eoJ8yXJM0pUG9f9NO7p/IGliDmt6C7EA7D9kQWigufmX0ZTVNKI07fKwC/AEKLp7 -kx99pvsCq8m184EEL15Q/NhA7R/5zKoHvmJa6Jd7tM0i0xn8IKOkNVFu3YIafAEC -QWQwRbanFEeRc3tH3bEoYM8c74r+W+YxCG7nUf16XCk132XVffbHVl+wFgo18YB/ -sAJmcbePAgMBAAECggEAGQGKnsf+gkg7DqMQYx3Rxt5BISzmURjAK9CxG6ETk9Lt -A7QP5ZvmVzwnhPDMN3Z/Et1EzXTo8U+pnBkVBTdWkAMlr+2b8ixklzr9cC9UJuRj -a4YWf9u+TyJLVmF63OSD0cwdKCZLffOENZc+zW8oZDn08BNomdGVLCnXZWXzGY8X -KaJTJr29jEgkKOqFXdAHrsmj7TBtqSLZKx2IHdCmi05+5JCxVLPgnDiCicZ9zEii -yWw57Q1migFIcw6ZQP4RyjgH1o70B+zo3OL7IQEirE17GUgK16XD8xi8hWCYTj5n -xOz9yfVfPuYom/9Xbm5kYJZKE2HOZ3Lg8pUnWncuNQKBgQDbaOoACQPhVxQK1qYR -RbW0I5Rn0EDxzsFPEpu3eXHoIYGXi8u/ew9AzFmGu+tKYJV5V4BCXo5x2ddE+B8B -dXhyHLGfeV8tWKYKBpatolVxxKDL/9fnxoGIAO9cc91ieOm5JxmKscCVP1UnOXHZ -uomSfAbGQwYDtMd2bJKkE1z0qwKBgQC7zacuv1PMaDFksHuNNRG+aZ74pJ77msht -vJoKyaQcktD0xmIXhFfJvK4cclzG7s5jxCsu2ejimgmfVzgXlLEMrJFvSdFkD2SS -gGqoxq5c9g8ssvt7xwr7aJ+VYYWTWRzJrOUny+99UbwHedu0EHL1BYILwy67Lium -sgUeeCEgrQKBgGv+7f7qcRB/jgvvr3oc990dDjUzGmRrQlcrb54Vlu2NYH45fyZW -6iEY9JAO+zd25tv9J9KDPFXpxb3a61gKfCie2wcF9MUbN08EAzKgDrKa+BKxcZJR -8PwCic7V8QhBP7m09yt/Zq2PqNhPvCxRVtnVVnhMES/N0cgGlP9R0JVVAoGAHU2/ -kmnEN5bibiWjgasQM7fjWETHkdbbA1R0bM59zv+Rnz/9OlIqKI5KVKH7nAbTKXoI -iuzxi7ohWj2PwQ4wehvLLaRFCenk9X8YJXGq71Jtl7ntx6iNLCFtFS/8WbuD5GwX -7ZfCrLk+L6RyBayzY0wSuKch+Y8AvKf2aISyFpkCgYEAjSfEjz9Cn+27HdiMoBwa -+fyyoosci/6OBxj/WTKvV6KUYLBfFoAYpb9rqrbvnfyyc0UiAYQeMJAOWQ1kkzY4 -zXs63iPQi2UeGPJZ7RsT+31DSaG9YiQdrInsUrlm8hi1C7Pg/NNt6Y1G0WhWYrvF -iNK0yCENMhSoOTtbT9tmGi0= ------END PRIVATE KEY----- -", - "TESTFSP1_JWS_PUB_KEY": "-----BEGIN PUBLIC KEY----- -MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2R3IuEDpqDtsS96emI0v -dCJpeb/lnCxR2Nw5x6Z3GjC9PRFCJ2gsS2Zq70NaUQ5yWrrrZ9DZ8PjgCXqftUKG -42uFsibLFpN09IjQuZCDuAkCdEjMgm+xies47ajRzl6evOc0ClkQBZVGybl9RAr6 -NRTFOYkYjJ0xS0MNkfRkDiOEu5BA/XKb5oLbyVMjGyvLgyS1g41x4fA+Ccb5PENa -h9dqkFJ3j218Rs+bGytrVqrrCCjV1FiI+Y9YjKuTRRo7U/jcGHLfEc7YRcP2U9os -xQxFvhHxR7W0e74fAU8B8YIJzwjaQvrEh9SJRc2IZsh6EdBAXXmbk4sHKyhoX0by -UQIDAQAB ------END PUBLIC KEY----- -", - "TESTFSP2_JWS_PUB_KEY": "-----BEGIN PUBLIC KEY----- -MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAv7k0Mqy0jSXFpHD9/a+Y -l5djXq6HdyC+BsSA/sRKczEBKQyW8mEJVILAKkOibWzK7e+SJjQPbFjgqiUZvRI5 -+ggHkSJXEV28Bi2sF58A15sQjwaSkE2vBwLAL5GftSmao0QSozSfQ+RFw2N+loRG -YedXZpRMsYFr1uA1qavcBjoj7JqPpID7UaTgXwwHWbV+j2uhQfotqRvOQ5KTmx5H -Ja+VjPu+xAC7mmcL+dxmeBpbJJD5Li8B8ggJXGJUk+En6XSIgZkQ6vKvC9HyasE6 -WZLXU+JJoCp2wkCPNTRxzPE2PGnlI0a4ZP2/y/2yacc4HQGBhEMc+SVT/VSZaMS+ -AQIDAQAB ------END PUBLIC KEY-----", - "payerfspSettlementAccountId": "", - "payerfspSettlementAccountBalanceBeforeFundsIn": "", - "payerfspSettlementAccountBalanceAfterFundsIn": "", - "fundsInPrepareTransferId": "", - "fundsInPrepareAmount": "", - "SIMPLE_ROUTING_MODE_ENABLED": true, - "mobileSimPayerFsp": "pinkbankfsp", - "mobileSimPayeeFsp": "greenbankfsp", - "ON_US_TRANSFERS_ENABLED": false, - "expectedPartiesVersion": "1.1", - "expectedParticipantsVersion": "1.1", - "expectedQuotesVersion": "1.1", - "expectedTransfersVersion": "1.1", - "expectedAuthorizationsVersion": "1.1", - "expectedTransactionRequestsVersion": "1.1", - "toSubIdValue": "30", - "fromSubIdValue": "30", - "cgscurrency": "INR", - "settlementtestfsp2bankMSISDN": "27713813915", - "settlementtestfsp1bankMSISDN": "27713813914", - "settlementtestfsp4bankMSISDN": "27713813917", - "settlementtestfsp3bankMSISDN": "27713813916", - "DELAY_CGS": 5000, - "settlementpayeefspNoExtensionMSISDN": "27714923918", - "NORESPONSE_NAME": "$param_simNameNoResponsePayeefsp", - "payeefspMSISDN": "17039811907", - "payerfspMSISDN": "17891239876", - "settlementtestNonExistingMSISDN": "22244803917", - "NET_DEBIT_CAP": "50000", - "HOST_ORACLE_CONSENT": "http://consent-oracle:3000", - "DFSPA_NAME": "dfspa", - "DFSPA_CB_FSPIOP": "http://$release_name-sim-tp-dfspa-scheme-adapter:4000", - "DFSPA_CB_THIRDPARTY": "http://$release_name-sim-tp-dfspa-thirdparty-sdk:4005", - "DFSPB_NAME": "dfspb", - "DFSPB_CB_FSPIOP": "http://$release_name-sim-tp-dfspb-scheme-adapter:4000", - "DFSPB_CB_THIRDPARTY": "http://$release_name-sim-tp-dfspb-thirdparty-sdk:4005", - "PISP_NAME": "pisp", - "PISP_CB_FSPIOP": "http://$release_name-sim-tp-pisp-scheme-adapter:4000", - "PISP_CB_THIRDPARTY": "http://$release_name-sim-tp-pisp-thirdparty-sdk:4005", - "CENTRALAUTH_NAME": "centralauth", - "CENTRALAUTH_CB_FSPIOP": "http://auth-svc:4004", - "PISP_THIRDPARTY_SDK_OUTBOUND_URL": "http://$release_name-sim-tp-pisp-thirdparty-sdk:4006", - "PISP_BACKEND_TESTAPI_URL": "http://$release_name-sim-tp-pisp-backend:3003", - "PISP_CALLBACK_URL": "http://$release_name-sim-tp-pisp-scheme-adapter:4000", - "PISP_SDK_TESTAPI_URL": "http://$release_name-sim-tp-pisp-scheme-adapter:4002", - "PISP_SDK_TESTAPI_WS_URL": "ws://$release_name-sim-tp-pisp-scheme-adapter:4002", - "DFSPA_BACKEND_TESTAPI_URL": "http://$release_name-sim-tp-dfspa-backend:3003", - "DFSPA_CALLBACK_URL": "http://$release_name-sim-tp-dfspa-scheme-adapter:4000", - "DFSPA_SDK_TESTAPI_URL": "http://$release_name-sim-tp-dfspa-scheme-adapter:4002", - "DFSPA_SDK_TESTAPI_WS_URL": "ws://$release_name-sim-tp-dfspa-scheme-adapter:4002", - "DFSPB_BACKEND_TESTAPI_URL": "http://$release_name-sim-tp-dfspb-backend:3003", - "DFSPB_CALLBACK_URL": "http://$release_name-sim-tp-dfspb-scheme-adapter:4000", - "DFSPB_SDK_TESTAPI_URL": "http://$release_name-sim-tp-dfspb-scheme-adapter:4002", - "DFSPB_SDK_TESTAPI_WS_URL": "ws://$release_name-sim-tp-dfspb-scheme-adapter:4002" - } -} - - ml-testing-toolkit-frontend: - ingress: - enabled: true - hosts: - ui: - host: testing-toolkit.local - config: - API_BASE_URL: http://testing-toolkit.local - -ml-ttk-posthook-setup: - postInstallHook: - enabled: false - weight: -5 - config: - ## Test-case archive zip for test-cases: https://github.com/mojaloop/testing-toolkit-test-cases - testCasesZipUrl: &ttkGitUrl https://github.com/mojaloop/testing-toolkit-test-cases/archive/v14.0.0.1.zip - testCasesPathInZip: &ttkGitPathSetup testing-toolkit-test-cases-14.0.0.1/collections/hub/provisioning - ttkBackendURL: http://$release_name-ml-testing-toolkit-backend:5050 - parameters: - <<: *simNames - testCaseEnvironmentFile: *ttkInputValues - -ml-ttk-posthook-tests: - postInstallHook: - enabled: false - weight: -4 - config: - ## Test-case archive zip for test-cases: https://github.com/mojaloop/testing-toolkit-test-cases - testCasesZipUrl: *ttkGitUrl - testCasesPathInZip: &ttkGitPathGP testing-toolkit-test-cases-14.0.0.1/collections/hub/golden_path - # awsS3BucketName: aws-s3-bucket-name - # awsS3FilePath: ttk-tests/reports - ttkBackendURL: http://$release_name-ml-testing-toolkit-backend:5050 - testSuiteName: GP Tests - environmentName: Development - - # configCreds: - # AWS_ACCESS_KEY_ID: 'some_aws_access_key' - # AWS_SECRET_ACCESS_KEY: 'some_aws_secret_key' - # AWS_REGION: 'us-west-2' - # SLACK_WEBHOOK_URL: 'slack_inbound_webhook' - - ## Optionally specify the config file defaults for TTK CLI - ## You should specify at least mode here - # configFileDefaults: { - # "mode": "outbound", - # "reportFormat": "html", - # "baseURL": "", - # "reportTarget": "", - # "reportAutoFilenameEnable": true, - # "slackWebhookUrl": "", - # "slackPassedImage": "", - # "slackFailedImage": "" - # } - configFileDefaults: {"mode": "outbound"} - parameters: - <<: *simNames - testCaseEnvironmentFile: *ttkInputValues - -ml-ttk-cronjob-tests: - scheduling: - enabled: false - ## Note: First Cronjob may fail as the Hub setup & Sim onboarding may not be completed. These must be run either via Post-hooks or via running `Helm test`. - ## cronSchedule format as follows: - ## Ref: https://kubernetes.io/docs/concepts/workloads/controllers/cron-jobs/#example - ## ┌───────────── minute (0 - 59) - ## │ ┌───────────── hour (0 - 23) - ## │ │ ┌───────────── day of the month (1 - 31) - ## │ │ │ ┌───────────── month (1 - 12) - ## │ │ │ │ ┌───────────── day of the week (0 - 6) (Sunday to Saturday; - ## │ │ │ │ │ 7 is also Sunday on some systems) - ## │ │ │ │ │ - ## │ │ │ │ │ - ## * * * * * - cronSchedule: '0 8 * * *' - config: - ## Test-case archive zip for test-cases: https://github.com/mojaloop/testing-toolkit-test-cases - testCasesZipUrl: *ttkGitUrl - testCasesPathInZip: *ttkGitPathGP - # awsS3BucketName: aws-s3-bucket-name - # awsS3FilePath: ttk-tests/reports - ttkBackendURL: http://$release_name-ml-testing-toolkit-backend:5050 - testSuiteName: GP Tests - environmentName: Development - - # configCreds: - # AWS_ACCESS_KEY_ID: 'some_aws_access_key' - # AWS_SECRET_ACCESS_KEY: 'some_aws_secret_key' - # AWS_REGION: 'us-west-2' - # SLACK_WEBHOOK_URL: 'slack_inbound_webhook' - - ## Optionally specify the config file defaults for TTK CLI - ## You should specify at least mode here - # configFileDefaults: { - # "mode": "outbound", - # "reportFormat": "html", - # "baseURL": "", - # "reportTarget": "", - # "reportAutoFilenameEnable": true, - # "slackWebhookUrl": "", - # "slackPassedImage": "", - # "slackFailedImage": "" - # } - configFileDefaults: {"mode": "outbound"} - parameters: - <<: *simNames - testCaseEnvironmentFile: *ttkInputValues - -ml-ttk-test-setup: - tests: - enabled: true - weight: -6 - config: - ## Test-case archive zip for test-cases: https://github.com/mojaloop/testing-toolkit-test-cases - testCasesZipUrl: *ttkGitUrl - testCasesPathInZip: *ttkGitPathSetup - ttkBackendURL: http://$release_name-ml-testing-toolkit-backend:5050 - parameters: - <<: *simNames - testCaseEnvironmentFile: *ttkInputValues - -ml-ttk-test-val-gp: - tests: - enabled: true - weight: -5 - config: - ## Test-case archive zip for test-cases: https://github.com/mojaloop/testing-toolkit-test-cases - testCasesZipUrl: *ttkGitUrl - testCasesPathInZip: *ttkGitPathGP - ## Optional config for uploading reports to S3 Buckets. If enabled: WS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_REGION under the 'configCreds' is required. - # awsS3BucketName: aws-s3-bucket-name - # awsS3FilePath: ttk-tests/reports - ttkBackendURL: http://$release_name-ml-testing-toolkit-backend:5050 - testSuiteName: GP Tests - environmentName: Development - - # configCreds: - # AWS_ACCESS_KEY_ID: 'some_aws_access_key' - # AWS_SECRET_ACCESS_KEY: 'some_aws_secret_key' - # AWS_REGION: 'us-west-2' - # SLACK_WEBHOOK_URL: 'slack_inbound_webhook' - - ## Optionally specify the config file defaults for TTK CLI - ## You should specify at least mode here - # configFileDefaults: { - # "mode": "outbound", - # "reportFormat": "html", - # "baseURL": "", - # "reportTarget": "", - # "reportAutoFilenameEnable": true, - # "slackWebhookUrl": "", - # "slackPassedImage": "", - # "slackFailedImage": "", - # "logLevel": "2" - # } - parameters: - <<: *simNames - testCaseEnvironmentFile: *ttkInputValues - -ml-ttk-test-val-bulk: - tests: - enabled: false - weight: -4 - config: - ## Test-case archive zip for test-cases: https://github.com/mojaloop/testing-toolkit-test-cases - testCasesZipUrl: *ttkGitUrl - testCasesPathInZip: testing-toolkit-test-cases-14.0.0.1/collections/hub/other_tests/bulk_transfers - ## Optional config for uploading reports to S3 Buckets. If enabled: WS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_REGION under the 'configCreds' is required. - # awsS3BucketName: aws-s3-bucket-name - # awsS3FilePath: ttk-tests/reports - ttkBackendURL: http://$release_name-ml-testing-toolkit-backend:5050 - testSuiteName: Bulk Tests - environmentName: Development - - # configCreds: - # AWS_ACCESS_KEY_ID: 'some_aws_access_key' - # AWS_SECRET_ACCESS_KEY: 'some_aws_secret_key' - # AWS_REGION: 'us-west-2' - # SLACK_WEBHOOK_URL: 'slack_inbound_webhook' - - ## Optionally specify the config file defaults for TTK CLI - ## You should specify at least mode here - # configFileDefaults: { - # "mode": "outbound", - # "reportFormat": "html", - # "baseURL": "", - # "reportTarget": "", - # "reportAutoFilenameEnable": true, - # "slackWebhookUrl": "", - # "slackPassedImage": "", - # "slackFailedImage": "", - # "logLevel": "2" - # } - parameters: - <<: *simNames - testCaseEnvironmentFile: *ttkInputValues - -ml-ttk-test-setup-tp: - tests: - enabled: false - weight: -3 - config: - ## Test-case archive zip for test-cases: https://github.com/mojaloop/testing-toolkit-test-cases - testCasesZipUrl: *ttkGitUrl - testCasesPathInZip: testing-toolkit-test-cases-14.0.0.1/collections/hub/provisioning_thirdparty - ## Optional config for uploading reports to S3 Buckets. If enabled: WS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_REGION under the 'configCreds' is required. - # awsS3BucketName: aws-s3-bucket-name - # awsS3FilePath: ttk-tests/reports - ttkBackendURL: http://$release_name-ml-testing-toolkit-backend:5050 - testSuiteName: Thirdparty Provisioning Collection - environmentName: Development - - # configCreds: - # AWS_ACCESS_KEY_ID: 'some_aws_access_key' - # AWS_SECRET_ACCESS_KEY: 'some_aws_secret_key' - # AWS_REGION: 'us-west-2' - # SLACK_WEBHOOK_URL: 'slack_inbound_webhook' - - ## Optionally specify the config file defaults for TTK CLI - ## You should specify at least mode here - # configFileDefaults: { - # "mode": "outbound", - # "reportFormat": "html", - # "baseURL": "", - # "reportTarget": "", - # "reportAutoFilenameEnable": true, - # "slackWebhookUrl": "", - # "slackPassedImage": "", - # "slackFailedImage": "", - # "logLevel": "2" - # } - parameters: - <<: *simNames - testCaseEnvironmentFile: *ttkInputValues - -ml-ttk-test-val-tp: - tests: - enabled: false - weight: -2 - config: - ## Test-case archive zip for test-cases: https://github.com/mojaloop/testing-toolkit-test-cases - testCasesZipUrl: *ttkGitUrl - testCasesPathInZip: testing-toolkit-test-cases-14.0.0.1/collections/hub/thirdparty - ## Optional config for uploading reports to S3 Buckets. If enabled: WS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_REGION under the 'configCreds' is required. - # awsS3BucketName: aws-s3-bucket-name - # awsS3FilePath: ttk-tests/reports - ttkBackendURL: http://$release_name-ml-testing-toolkit-backend:5050 - testSuiteName: Thirdparty Tests - environmentName: Development - - # configCreds: - # AWS_ACCESS_KEY_ID: 'some_aws_access_key' - # AWS_SECRET_ACCESS_KEY: 'some_aws_secret_key' - # AWS_REGION: 'us-west-2' - # SLACK_WEBHOOK_URL: 'slack_inbound_webhook' - - ## Optionally specify the config file defaults for TTK CLI - ## You should specify at least mode here - # configFileDefaults: { - # "mode": "outbound", - # "reportFormat": "html", - # "baseURL": "", - # "reportTarget": "", - # "reportAutoFilenameEnable": true, - # "slackWebhookUrl": "", - # "slackPassedImage": "", - # "slackFailedImage": "", - # "logLevel": "2" - # } - parameters: - <<: *simNames - testCaseEnvironmentFile: *ttkInputValues From a984e1d81c7f574ad0b10cfc1e1b9757e5005cd5 Mon Sep 17 00:00:00 2001 From: Miguel de Barros Date: Wed, 12 Oct 2022 17:23:46 +0200 Subject: [PATCH 4/4] fix: fix for invalid interchangeFeeCalculation.js for CGS rules handler --- central/values.yaml | 6 +++--- centralsettlement/values.yaml | 6 +++--- mojaloop/values.yaml | 6 +++--- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/central/values.yaml b/central/values.yaml index 9b33d2808..f27a1c954 100644 --- a/central/values.yaml +++ b/central/values.yaml @@ -3341,15 +3341,15 @@ centralsettlement: // Description: This script calculates the interchange fees between DFSPs where the account type is "Wallet" // ******************************************************** - ## Globals: + // ## Globals: // payload: The contents of the message from the Kafka topic. // transfer: The transfer object. // # Functions: - ## Data retrieval functions: + // ## Data retrieval functions: // getTransfer(transferId): Retrieves a mojaloop transfer from the central-ledger API. - ## Helper functions: + // ## Helper functions: // getExtensionValue(list, key): Gets a value from an extension list // log(message): allows the script to log to standard out for debugging purposes diff --git a/centralsettlement/values.yaml b/centralsettlement/values.yaml index a8a30705a..58f4b61fb 100644 --- a/centralsettlement/values.yaml +++ b/centralsettlement/values.yaml @@ -1243,15 +1243,15 @@ centralsettlement-handler-rules: // Description: This script calculates the interchange fees between DFSPs where the account type is "Wallet" // ******************************************************** - ## Globals: + // ## Globals: // payload: The contents of the message from the Kafka topic. // transfer: The transfer object. // # Functions: - ## Data retrieval functions: + // ## Data retrieval functions: // getTransfer(transferId): Retrieves a mojaloop transfer from the central-ledger API. - ## Helper functions: + // ## Helper functions: // getExtensionValue(list, key): Gets a value from an extension list // log(message): allows the script to log to standard out for debugging purposes diff --git a/mojaloop/values.yaml b/mojaloop/values.yaml index a9097314f..2a936de27 100644 --- a/mojaloop/values.yaml +++ b/mojaloop/values.yaml @@ -3247,15 +3247,15 @@ central: // Description: This script calculates the interchange fees between DFSPs where the account type is "Wallet" // ******************************************************** - ## Globals: + // ## Globals: // payload: The contents of the message from the Kafka topic. // transfer: The transfer object. // # Functions: - ## Data retrieval functions: + // ## Data retrieval functions: // getTransfer(transferId): Retrieves a mojaloop transfer from the central-ledger API. - ## Helper functions: + // ## Helper functions: // getExtensionValue(list, key): Gets a value from an extension list // log(message): allows the script to log to standard out for debugging purposes