Skip to content

Commit

Permalink
feat: #2704 core services support for non breaking backward api compa…
Browse files Browse the repository at this point in the history
…tibility (#466)

Changes made to support - feat(mojaloop/[#2704](https://github.com/mdebarros/helm/issues/2704)): core-services support for non-breaking backward api compatibility - mojaloop/project#2704
- upgraded ml-api-adapter, central-ledger, account-lookup, quoting-service, transaction-requests-service and bulk-api-adapter docker images
- updated ml-api-adapter, account-lookup, quoting-service, transaction-requests-service and bulk-api-adapter protocolVersions configurations
- updated readme to reflect the above, and added a new item to breaking changes to describe the PROTOCOL_VERSIONS configuration
  • Loading branch information
mdebarros committed Mar 10, 2022
1 parent 60a4027 commit ee22334
Show file tree
Hide file tree
Showing 59 changed files with 548 additions and 174 deletions.
85 changes: 73 additions & 12 deletions .changelog/release-v13.1.0.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ Date | Revision | Description
4. New feature: Test cases definition report with grouping ([ml-testing-toolkit/pull/196](https://github.com/mojaloop/ml-testing-toolkit/pull/196)), closes [mojaloop/#2348](https://github.com/mojaloop/project/issues/2348)
7. Added Timeout Configuration to the centralledger-handler-timeout chart, and associated values files
8. **mojaloop/#2589:** Added resource versions configuration parameter for all outbound requests from sdk-scheme-adapter ([sdk-scheme-adapter/pull/288](https://github.com/mojaloop/sdk-scheme-adapter/pull/288), closes [mojaloop/#2589](https://github.com/mojaloop/project/issues/2589))
9. **mojaloop/#2704:** Core-services support for non-breaking backward API compatibility for PROTOCOL_VERSION configs ([central-services-shared/pull/325](https://github.com/mojaloop/central-services-shared/pull/325), [ml-api-adapter/pull/496](https://github.com/mojaloop/ml-api-adapter/pull/496), [quoting-service/pull/295](https://github.com/mojaloop/quoting-service/pull/295), [account-lookup-service/pull/436](https://github.com/mojaloop/account-lookup-service/pull/436), [account-lookup-service/pull/438](https://github.com/mojaloop/account-lookup-service/pull/438), [quoting-service/pull/297](https://github.com/mojaloop/quoting-service/pull/297), [bulk-api-adapter/pull/74](https://github.com/mojaloop/bulk-api-adapter/pull/74), [bulk-api-adapter/pull/77](https://github.com/mojaloop/bulk-api-adapter/pull/77), [transaction-requests-service/pull/85](https://github.com/mojaloop/transaction-requests-service/pull/85), [central-ledger/pull/884](https://github.com/mojaloop/central-ledger/pull/884), [testing-toolkit-test-cases/pull/66](https://github.com/mojaloop/testing-toolkit-test-cases/pull/66), closes [mojaloop/#2704](https://github.com/mojaloop/project/issues/2704))

### 3. Bug Fixes

Expand All @@ -50,16 +51,16 @@ Date | Revision | Description

## 4. Application versions

1. ml-api-adapter: v11.1.6 -> **v12.3.0**
2. central-ledger: v13.14.0 -> **v13.15.4**
3. account-lookup-service: v11.7.7 -> **v12.1.0**
4. quoting-service: 12.0.10 -> **13.0.1**
1. ml-api-adapter: v11.1.6 -> **v13.0.0**
2. central-ledger: v13.14.0 -> **v13.16.0**
3. account-lookup-service: v11.7.7 -> **v13.0.0**
4. quoting-service: 12.0.10 -> **14.0.0**
5. central-settlement: **13.4.1**
6. central-event-processor: **v11.0.2**
7. bulk-api-adapter: 11.1.4 -> **v12.1.0**
7. bulk-api-adapter: 11.1.4 -> **v13.0.1**
8. email-notifier: **v11.0.2**
9. als-oracle-pathfinder: v11.0.0 -> **v11.0.4**
10. transaction-requests-service: **v12.0.1**
10. transaction-requests-service: **v13.0.0**
11. finance-portal-ui: **v10.4.3**
12. finance-portal-backend-service: **v15.0.2**
13. settlement-management: **v11.0.0**
Expand All @@ -74,16 +75,16 @@ Date | Revision | Description

## 5. Application release notes

1. ml-api-adapter - https://github.com/mojaloop/ml-api-adapter/releases/tag/v12.3.0
2. central-ledger - https://github.com/mojaloop/central-ledger/releases/tag/v13.15.4
3. account-lookup-service - https://github.com/mojaloop/account-lookup-service/releases/tag/v12.1.0
4. quoting-service - https://github.com/mojaloop/quoting-service/releases/tag/v13.0.1
1. ml-api-adapter - https://github.com/mojaloop/ml-api-adapter/releases/tag/v13.0.0
2. central-ledger - https://github.com/mojaloop/central-ledger/releases/tag/v13.16.0
3. account-lookup-service - https://github.com/mojaloop/account-lookup-service/releases/tag/v13.0.0
4. quoting-service - https://github.com/mojaloop/quoting-service/releases/tag/v14.0.0
5. central-settlement- https://github.com/mojaloop/central-settlement/releases/tag/v13.4.1
6. central-event-processor - https://github.com/mojaloop/central-event-processor/releases/tag/v11.0.2
7. bulk-api-adapter - https://github.com/mojaloop/bulk-api-adapter/releases/tag/v12.1.0
7. bulk-api-adapter - https://github.com/mojaloop/bulk-api-adapter/releases/tag/v13.0.1
8. email-notifier - https://github.com/mojaloop/email-notifier/releases/tag/v12.0.2
9. als-oracle-pathfinder - https://github.com/mojaloop/als-oracle-pathfinder/releases/tag/v11.0.4
10. transaction-requests-service - https://github.com/mojaloop/transaction-requests-service/releases/tag/v12.0.1
10. transaction-requests-service - https://github.com/mojaloop/transaction-requests-service/releases/tag/v13.0.0
11. finance-portal-ui - https://github.com/mojaloop/finance-portal-ui/releases/tag/v10.4.3
12. finance-portal-backend-service - https://github.com/mojaloop/finance-portal-backend-service/releases/tag/v15.0.2
13. settlement-management - https://github.com/mojaloop/settlement-management/releases/tag/v11.0.0
Expand Down Expand Up @@ -116,19 +117,47 @@ Take note that existing rules may not work without modifying the path to add a `

2. The following new environment variables are added to the Testing Toolkit default values:
- acceptParties
- acceptPartiesOld
- acceptPartiesNotSupported
- acceptParticipants
- acceptParticipantsOld
- acceptParticipantsNotSupported
- acceptQuotes
- acceptQuotesOld
- acceptQuotesNotSupported
- acceptTransfers
- acceptTransfersOld
- acceptTransfersNotSupported
- acceptTransactionRequests
- acceptTransactionRequestsOld
- acceptTransactionRequestsNotSupported
- acceptAuthorizations
- acceptAuthorizationsOld
- acceptAuthorizationsNotSupported
- acceptBulkTransfers
- acceptBulkTransfersOld
- acceptBulkTransfersNotSupported
- contentTypeTransfers
- contentTypeTransfersOld
- contentTypeTransfersNotSupported
- contentTypeParties
- contentTypePartiesOld
- contentTypePartiesNotSupported
- contentTypeParticipants
- contentTypeParticipantsOld
- contentTypeParticipantsNotSupported
- contentTypeQuotes
- contentTypeQuotesOld
- contentTypeQuotesNotSupported
- contentTypeTransactionRequests
- contentTypeTransactionRequestsOld
- contentTypeTransactionRequestsNotSupported
- contentTypeAuthorizations
- contentTypeAuthorizationsOld
- contentTypeAuthorizationsNotSupported
- contentBulkTransfers
- contentBulkTransfersOld
- contentBulkTransfersNotSupported
- SIM3_NAME
- SIM4_NAME
- SIM3_MSISDN
Expand All @@ -146,6 +175,38 @@ Take note that existing rules may not work without modifying the path to add a `

Refer to the [Testing Deployments](../README.md#testing-deployments) section in the main README for detailed information on how to enable bulk-api-adapter tests.

4. The following services now support configurable Content-Type and Accept Header validations and set header version when generating messages from the Switch:

1. ml-api-adapter [v13.0.0](https://github.com/mojaloop/ml-api-adapter/releases/tag/v13.0.0)
2. account-lookup-service - [v13.0.0](https://github.com/mojaloop/account-lookup-service/releases/tag/v13.0.0)
3. quoting-service - [v14.0.0](https://github.com/mojaloop/quoting-service/releases/tag/v14.0.0)
4. bulk-api-adapter - [v13.0.0](https://github.com/mojaloop/bulk-api-adapter/releases/tag/v13.0.0)
5. transaction-requests-service - [v13.0.0](https://github.com/mojaloop/transaction-requests-service/releases/tag/v13.0.0)

This can be set by the `PROTOCOL_VERSIONS` configuration as follows in the `default.json` or via environmental variables:

```JSON
"PROTOCOL_VERSIONS": {
"CONTENT": {
"DEFAULT": "1.1", <-- used to set the header CONTENT version when generating messages from the *SWITCH*
"VALIDATELIST": [ <-- used to validate incoming FSPIOP API requests/callbacks version within the CONTENT-TYPE headers
"1.1",
"1.0"
]
},
"ACCEPT": {
"DEFAULT": "1", <-- used to set the header ACCEPT-TYPE version when generating messages from the *SWITCH*
"VALIDATELIST": [ <-- used to validate incoming FSPIOP API requests/callbacks version within the ACCEPT headers
"1",
"1.0",
"1.1"
]
}
},
```

Note the above configuration is optional, as it will default to what is shown above if not overridden by a set configuration.

## 9. Testing notes

1. It is recommended that all Mojaloop deployments are verified using the [Mojaloop Testing Toolkit](https://docs.mojaloop.io/documentation/mojaloop-technical-overview/ml-testing-toolkit/). More information can be found in the [Mojaloop Deployment Guide](https://docs.mojaloop.io/documentation/deployment-guide).
Expand Down
18 changes: 14 additions & 4 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,12 +1,22 @@
**/charts
requirements.lock
Chart.lock
# MacOS
**/.DS_Store

# IDEs
.idea/**
.vscode
launch.json

# General Ignores
*IGNORE*
*ignore*
*.log
.env

# Helm
**/charts
**/tmpcharts
requirements.lock
Chart.lock

# Helm Publish Repo
repo/**
.env
2 changes: 1 addition & 1 deletion account-lookup-service/Chart.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
apiVersion: v1
version: 12.5.0
appVersion: "account-lookup-service: v12.1.0; als-oracle-pathfinder: v11.0.4"
appVersion: "account-lookup-service: v13.0.0; als-oracle-pathfinder: v11.0.4"
description: Account Lookup Service Helm Chart for Mojaloop
name: account-lookup-service
2 changes: 1 addition & 1 deletion account-lookup-service/chart-admin/Chart.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
apiVersion: v1
version: 12.5.0
appVersion: "12.1.0"
appVersion: "13.0.0"
description: A Helm chart for Kubernetes
name: account-lookup-service-admin
15 changes: 12 additions & 3 deletions account-lookup-service/chart-admin/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ containers:
api:
image:
repository: mojaloop/account-lookup-service
tag: v12.1.0
tag: v13.0.0
pullPolicy: IfNotPresent
command: '["node", "src/index.js", "server", "--api"]'
service:
Expand All @@ -18,7 +18,7 @@ containers:
admin:
image:
repository: mojaloop/account-lookup-service
tag: v12.1.0
tag: v13.0.0
pullPolicy: IfNotPresent
command: '["node", "src/index.js", "server", "--admin"]'
service:
Expand Down Expand Up @@ -108,8 +108,17 @@ config:
include_cause_extension: false
truncate_extensions: true

# 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": "1.1",
"CONTENT": {
"DEFAULT": "1.1",
"VALIDATELIST": [
"1",
"1.0",
"1.1"
]
},
"ACCEPT": {
"DEFAULT": "1",
"VALIDATELIST": [
Expand Down
2 changes: 1 addition & 1 deletion account-lookup-service/chart-service/Chart.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
apiVersion: v1
version: 12.5.0
appVersion: "12.1.0"
appVersion: "13.0.0"
description: A Helm chart for Kubernetes
name: account-lookup-service
11 changes: 10 additions & 1 deletion account-lookup-service/chart-service/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -119,8 +119,17 @@ config:
expiresIn: 180000
generateTimeout: 30000

# 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": "1.1",
"CONTENT": {
"DEFAULT": "1.1",
"VALIDATELIST": [
"1",
"1.0",
"1.1"
]
},
"ACCEPT": {
"DEFAULT": "1",
"VALIDATELIST": [
Expand Down
51 changes: 47 additions & 4 deletions account-lookup-service/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ account-lookup-service:
api:
image:
repository: mojaloop/account-lookup-service
tag: v12.1.0
tag: v13.0.0
pullPolicy: IfNotPresent
command: '["node", "src/index.js", "server", "--api"]'
service:
Expand All @@ -20,7 +20,7 @@ account-lookup-service:
admin:
image:
repository: mojaloop/account-lookup-service
tag: v12.1.0
tag: v13.0.0
pullPolicy: IfNotPresent
command: '["node", "src/index.js", "server", "--admin"]'
service:
Expand Down Expand Up @@ -88,6 +88,27 @@ account-lookup-service:
db_create_retry_interval_millis: 200
db_debug: false

# 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"
]
}
}

display_routes: true
run_migrations: false

Expand Down Expand Up @@ -168,7 +189,7 @@ account-lookup-service-admin:
api:
image:
repository: mojaloop/account-lookup-service
tag: v12.1.0
tag: v13.0.0
pullPolicy: IfNotPresent
command: '["node", "src/index.js", "server", "--api"]'
service:
Expand All @@ -179,7 +200,7 @@ account-lookup-service-admin:
admin:
image:
repository: mojaloop/account-lookup-service
tag: v12.1.0
tag: v13.0.0
pullPolicy: IfNotPresent
command: '["node", "src/index.js", "server", "--admin"]'
service:
Expand Down Expand Up @@ -246,8 +267,30 @@ account-lookup-service-admin:
db_create_retry_interval_millis: 200
db_debug: false

# 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"
]
}
}

display_routes: true
run_migrations: false

endpointSecurity:
jwsSign: false
fspiopSourceSigningName: switch
Expand Down
2 changes: 1 addition & 1 deletion bulk-api-adapter/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ apiVersion: v1
description: bulk-api-adapter Helm chart for Kubernetes
name: bulk-api-adapter
version: 11.1.0
appVersion: "12.1.0"
appVersion: "13.0.1"
home: http://mojaloop.io
icon: http://mojaloop.io/images/logo.png
sources:
Expand Down
2 changes: 1 addition & 1 deletion bulk-api-adapter/chart-handler-notification/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ apiVersion: v1
description: bulk-api-adapter Handler for Notifications component Helm chart for Kubernetes
name: bulk-api-adapter-handler-notification
version: 11.1.0
appVersion: "12.1.0"
appVersion: "13.0.1"
home: http://mojaloop.io
icon: http://mojaloop.io/images/logo.png
sources:
Expand Down
13 changes: 11 additions & 2 deletions bulk-api-adapter/chart-handler-notification/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
replicaCount: 1
image:
repository: mojaloop/bulk-api-adapter
tag: v12.1.0
tag: v13.0.1
command: '["node", "src/handlers/index.js", "handler", "--notification"]'
## Optionally specify an array of imagePullSecrets.
## Secrets must be manually created in the namespace.
Expand Down Expand Up @@ -86,8 +86,17 @@ config:
log_level: 'info'
log_transport: file

# 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": "1.1",
"CONTENT": {
"DEFAULT": "1.1",
"VALIDATELIST": [
"1",
"1.0",
"1.1"
]
},
"ACCEPT": {
"DEFAULT": "1",
"VALIDATELIST": [
Expand Down
2 changes: 1 addition & 1 deletion bulk-api-adapter/chart-service/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ apiVersion: v1
description: bulk-api-adapter API component Helm chart for Kubernetes
name: bulk-api-adapter-service
version: 11.1.0
appVersion: "12.1.0"
appVersion: "13.0.1"
home: http://mojaloop.io
icon: http://mojaloop.io/images/logo.png
sources:
Expand Down
Loading

0 comments on commit ee22334

Please sign in to comment.