Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Mojaloop Helm support for Kubernetes networking.k8s.io/v1 (Ingress) Pts 5 #2352

Closed
10 tasks done
Tracked by #2459
mdebarros opened this issue Jul 21, 2021 · 6 comments
Closed
10 tasks done
Tracked by #2459
Assignees
Labels
oss-core This is an issue - story or epic related to a feature on a Mojaloop core service or related to it story
Milestone

Comments

@mdebarros
Copy link
Member

mdebarros commented Jul 21, 2021

Goal:

As a Mojaloop Deployer

I want to update API versions in Helm charts

so that I can deploy a Mojaloop Release to Kubernetes v1.22 onwards

Acceptance Criteria:

Complexity: Medium

Uncertainty: Medium


Tasks:

  • update all values files to reflect the above changes
  • test and document deployment steps

Done

  • Acceptance Criteria pass
  • Designs are up-to date
  • Unit Tests pass
  • Integration Tests pass
  • Code Style & Coverage meets standards
  • Changes made to config (default.json) are broadcast to team and follow-up tasks added to update helm charts and other deployment config.

Pull Requests:

Follow-up:

  • N/A

Dependencies:

  • N/A

Accountability:

  • Owner: TBC
  • QA/Review: TBC
@mdebarros mdebarros added story to-be-refined This story is ready to be groomed labels Jul 21, 2021
@elnyry-sam-k elnyry-sam-k added the oss-core This is an issue - story or epic related to a feature on a Mojaloop core service or related to it label Jul 21, 2021
@mdebarros mdebarros mentioned this issue Sep 24, 2021
21 tasks
@mdebarros mdebarros removed the to-be-refined This story is ready to be groomed label Sep 24, 2021
@tdaly61 tdaly61 self-assigned this Mar 31, 2022
@tdaly61
Copy link

tdaly61 commented Mar 31, 2022

hey @elnyry-sam-k , @mdebarros @lewisdaly : I assigned this issue to myself because as part of the mini-loop update I want to be able to use k3s and possibly other kubernetes engines and v1.20 is starting to be very problematic indeed and enabling other k8s engines means solving this issue. Now I know it is part of the v14 activities BUT I think I can solve this one programmatically with a "reasonably straight-forward python program to make the mods necessary for the ingress and ingress class (plus the minor changes in the ingress synytax). So I plan to assess this/test this a bit to see just how hard it might be to make 3.x work across releases. I will report back.

@tdaly61
Copy link

tdaly61 commented Aug 11, 2022

Hey @elnyry-sam-k , @mdebarros I said I was going to open a new issue but then I discovered we already have this open issue so I am updating it to reflect the decision from the DA on separating out the services from the rest of the charts as this is the solution to the this issue. I am now working on this admittedly a couple of weeks behind what I hoped , but it should not take too long for me to get you something to test.

@elnyry-sam-k elnyry-sam-k added this to the Sprint 19.2 milestone Aug 16, 2022
@mdebarros mdebarros changed the title Mojaloop Helm support for Kubernetes 1.22 Mojaloop Helm support for Kubernetes 1.22 (Ingress) Aug 24, 2022
@mdebarros
Copy link
Member Author

mdebarros commented Aug 24, 2022

Separated the Mojaloop Helm support for Kubernetes 1.22 (Backend Dependencies) story portion into: #2887

@tdaly61
Copy link

tdaly61 commented Sep 29, 2022

@mdebarros , @elnyry-sam-k the API changes are done and charts are deploying and tests passing with k8s 1.21. I will check V1.24 shortly but I anticipate issues with the DB due to that percona chart but obviously I can work around that. I have some cosmetic fixes to do in the values files which I would prefer NOT to do by hand. Anyhow nearly there with this issues
Screen Shot 2022-09-29 at 11 17 52 am

@mdebarros mdebarros self-assigned this Oct 17, 2022
mdebarros added a commit to mojaloop/testing-toolkit-test-cases that referenced this issue Oct 17, 2022
fix(mojaloop/#2352)/14.1.0 - mojaloop/project#2352
- fixes for CGS test-cases to compare current interchangeFeeBalance against previous Balance instead of assuming it will be 0.
@PaulGregoryBaker PaulGregoryBaker changed the title Mojaloop Helm support for Kubernetes 1.22 (Ingress) Mojaloop Helm support for Kubernetes 1.22 (Ingress) Pts 5 Oct 17, 2022
@mdebarros mdebarros changed the title Mojaloop Helm support for Kubernetes 1.22 (Ingress) Pts 5 Mojaloop Helm support for Kubernetes networking.k8s.io/v1 (Ingress) Pts 5 Oct 19, 2022
mdebarros added a commit to mojaloop/helm that referenced this issue Oct 19, 2022
…rking v1 (#508)

feat(mojaloop/#2352): update and standardise helm charts to use networking v1 - mojaloop/project#2352

# Notes

This PR is re-created from #506 which includes some fixes based on tests on k8s v1.24

# Changes:

## Update the Chart.yaml's and standardise all charts to helm v3 (API v2)
    - move any dependencies in the requirements.yaml to Charts.yaml
    - update the apiVersion for helm in all the Charts.yaml to 2.0
    - add the common dependency to each chart that already has an ingress
    - remove all requirements.lock 
    - update maintainers in chart.yaml to include tomd@crosslaketech.com
    - bump chart versions 

## Update the ingress and networking API to v1 and standardise where possible 
   -  if the chart has an ingress template the chart  is not on the exclusion list (see below) => the ingress template is updated to be a clone of the bitnami example (a version of what already exists in the charts repo)
   - updates the values files for the new ingress settings
   - ensure the updated values files have the correct hostname for the ingress
   - checks for paths and extra paths correctly allowed for (i.e. all charts with extraPaths or extraHosts are on e
   - ensure the updated values files have the correct port number for the ingress
    - update config/default.json files for values.ingress.api.host or similar to use .Values.ingress.hostname
    - _helper.tpl's updated to use correct ingress APIs and remove redundant ingress logic and templates

## General Maintenance
    - Fixed lint issue
    - Removed forensicloggingsidecar, centralenduserregistry, kube-system from lint scripts since they are no longer supported
    - Updated Maintainers list for each chart

## Exclusion list of charts
- i.e. these charts are not yet standardised to the new ingress modeled on the bitnami example :
- Any existing ingress in these charts has been updated "in place" rather than replaced with the newer standardised bitnami modeled chart.
- So the ingress.yaml, config/*json, _helper.tpls , values.yaml files etc have been updated to use the latest ingress but they remain non-standard compared to the rest of the code-base.
- "finance-portal-settlement-management",
- "finance-portal",
- ~"thirdparty"~,
- ~"thirdparty/chart-tp-api-svc"~,
- ~"thirdparty/chart-consent-oracle"~,
- ~"thirdparty/chart-auth-svc"~,
- ~"mojaloop-simulator"~,
- "keycloak",
- "monitoring",
- "monitoring/promfana",
- "monitoring/elk",
- "ml-testing-toolkit/chart-keycloak",
- "ml-testing-toolkit/chart-backend",
- "ml-testing-toolkit/chart-frontend",
- "ml-testing-toolkit/chart-connection-manager-backend",
- "ml-testing-toolkit/chart-connection-manager-frontend"

Co-authored-by: tdaly61 <tdaly61@gmail.com>
Co-authored-by: Sam <10507686+elnyry-sam-k@users.noreply.github.com>
@mdebarros
Copy link
Member Author

mdebarros commented Oct 19, 2022

PR (mojaloop/helm#508) has been merged, and we now have a development release :D/

❯ helm search repo mojaloop/mojaloop --devel
NAME                       	CHART VERSION       	APP VERSION                                       	DESCRIPTION
mojaloop/mojaloop          	14.1.0-14362.471407b	ml-api-adapter: v14.0.0; central-ledger: v15.1....	Mojaloop Helm chart for Kubernetes

Thanks to @tdaly61 for the PR!

@mdebarros
Copy link
Member Author

mdebarros commented Oct 20, 2022

Dev Release Test

Dev release tests with default config except for the following changes:

  1. Enabled Bulk and Thirdparty
  2. Customized ingress for TTK
❯ helm list
NAME    NAMESPACE       REVISION        UPDATED                                 STATUS          CHART                           APP VERSION                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      
moja3   moja3           1               2022-10-20 10:10:31.44428 +0200 SAST    deployed        mojaloop-14.1.0-14362.471407b   ml-api-adapter: v14.0.0; central-ledger: v15.1.2.1; account-lookup-service: v13.0.0; quoting-service: v15.0.2; central-settlement: v15.0.0; central-event-processor: v12.0.0; bulk-api-adapter: v13.0.1; email-notifier: v12.0.0; als-oracle-pathfinder: v12.0.0; transaction-requests-service: v14.0.1; simulator: v12.0.0; mojaloop-simulator: v13.0.1; sdk-scheme-adapter: v18.0.2; thirdparty-sdk: v15.1.0; ml-testing-toolkit: v15.0.0; ml-testing-toolkit-ui: v15.0.0;

Results

--------------------FINAL REPORT--------------------

Test Suite:GP Tests
Environment:Development
┌───────────────────────────────────────────────────┐
│                      SUMMARY                      │
├───────────────────┬───────────────────────────────┤
│ Total assertions  │ 2634                          │
├───────────────────┼───────────────────────────────┤
│ Passed assertions │ 2634                          │
├───────────────────┼───────────────────────────────┤
│ Failed assertions │ 0                             │
├───────────────────┼───────────────────────────────┤
│ Total requests    │ 598                           │
├───────────────────┼───────────────────────────────┤
│ Total test cases  │ 130                           │
├───────────────────┼───────────────────────────────┤
│ Passed percentage │ 100.00%                       │
├───────────────────┼───────────────────────────────┤
│ Started time      │ Thu, 20 Oct 2022 08:25:03 GMT │
├───────────────────┼───────────────────────────────┤
│ Completed time    │ Thu, 20 Oct 2022 08:28:24 GMT │
├───────────────────┼───────────────────────────────┤
│ Runtime duration  │ 200089 ms                     │
└───────────────────┴───────────────────────────────┘
TTK-Assertion-Report-multi-2022-10-20T08:28:24.054Z.html was generated
--------------------FINAL REPORT--------------------

Test Suite:Bulk Tests
Environment:Development
┌───────────────────────────────────────────────────┐
│                      SUMMARY                      │
├───────────────────┬───────────────────────────────┤
│ Total assertions  │ 183                           │
├───────────────────┼───────────────────────────────┤
│ Passed assertions │ 183                           │
├───────────────────┼───────────────────────────────┤
│ Failed assertions │ 0                             │
├───────────────────┼───────────────────────────────┤
│ Total requests    │ 17                            │
├───────────────────┼───────────────────────────────┤
│ Total test cases  │ 4                             │
├───────────────────┼───────────────────────────────┤
│ Passed percentage │ 100.00%                       │
├───────────────────┼───────────────────────────────┤
│ Started time      │ Thu, 20 Oct 2022 08:33:27 GMT │
├───────────────────┼───────────────────────────────┤
│ Completed time    │ Thu, 20 Oct 2022 08:33:51 GMT │
├───────────────────┼───────────────────────────────┤
│ Runtime duration  │ 24341 ms                      │
└───────────────────┴───────────────────────────────┘
TTK-Assertion-Report-multi-2022-10-20T08:33:51.710Z.html was generated
--------------------FINAL REPORT--------------------

Test Suite:Thirdparty Tests
Environment:Development
┌───────────────────────────────────────────────────┐
│                      SUMMARY                      │
├───────────────────┬───────────────────────────────┤
│ Total assertions  │ 21                            │
├───────────────────┼───────────────────────────────┤
│ Passed assertions │ 21                            │
├───────────────────┼───────────────────────────────┤
│ Failed assertions │ 0                             │
├───────────────────┼───────────────────────────────┤
│ Total requests    │ 20                            │
├───────────────────┼───────────────────────────────┤
│ Total test cases  │ 8                             │
├───────────────────┼───────────────────────────────┤
│ Passed percentage │ 100.00%                       │
├───────────────────┼───────────────────────────────┤
│ Started time      │ Thu, 20 Oct 2022 08:30:14 GMT │
├───────────────────┼───────────────────────────────┤
│ Completed time    │ Thu, 20 Oct 2022 08:30:23 GMT │
├───────────────────┼───────────────────────────────┤
│ Runtime duration  │ 8901 ms                       │
└───────────────────┴───────────────────────────────┘
TTK-Assertion-Report-multi-2022-10-20T08:30:23.243Z.html was generated

vijayg10 added a commit to mojaloop/helm that referenced this issue Nov 9, 2022
* feat(mojaloop/#2352): update and standardise helm charts to use networking v1 (#508)

feat(mojaloop/#2352): update and standardise helm charts to use networking v1 - mojaloop/project#2352

# Notes

This PR is re-created from #506 which includes some fixes based on tests on k8s v1.24

# Changes:

## Update the Chart.yaml's and standardise all charts to helm v3 (API v2)
    - move any dependencies in the requirements.yaml to Charts.yaml
    - update the apiVersion for helm in all the Charts.yaml to 2.0
    - add the common dependency to each chart that already has an ingress
    - remove all requirements.lock 
    - update maintainers in chart.yaml to include tomd@crosslaketech.com
    - bump chart versions 

## Update the ingress and networking API to v1 and standardise where possible 
   -  if the chart has an ingress template the chart  is not on the exclusion list (see below) => the ingress template is updated to be a clone of the bitnami example (a version of what already exists in the charts repo)
   - updates the values files for the new ingress settings
   - ensure the updated values files have the correct hostname for the ingress
   - checks for paths and extra paths correctly allowed for (i.e. all charts with extraPaths or extraHosts are on e
   - ensure the updated values files have the correct port number for the ingress
    - update config/default.json files for values.ingress.api.host or similar to use .Values.ingress.hostname
    - _helper.tpl's updated to use correct ingress APIs and remove redundant ingress logic and templates

## General Maintenance
    - Fixed lint issue
    - Removed forensicloggingsidecar, centralenduserregistry, kube-system from lint scripts since they are no longer supported
    - Updated Maintainers list for each chart

## Exclusion list of charts
- i.e. these charts are not yet standardised to the new ingress modeled on the bitnami example :
- Any existing ingress in these charts has been updated "in place" rather than replaced with the newer standardised bitnami modeled chart.
- So the ingress.yaml, config/*json, _helper.tpls , values.yaml files etc have been updated to use the latest ingress but they remain non-standard compared to the rest of the code-base.
- "finance-portal-settlement-management",
- "finance-portal",
- ~"thirdparty"~,
- ~"thirdparty/chart-tp-api-svc"~,
- ~"thirdparty/chart-consent-oracle"~,
- ~"thirdparty/chart-auth-svc"~,
- ~"mojaloop-simulator"~,
- "keycloak",
- "monitoring",
- "monitoring/promfana",
- "monitoring/elk",
- "ml-testing-toolkit/chart-keycloak",
- "ml-testing-toolkit/chart-backend",
- "ml-testing-toolkit/chart-frontend",
- "ml-testing-toolkit/chart-connection-manager-backend",
- "ml-testing-toolkit/chart-connection-manager-frontend"

Co-authored-by: tdaly61 <tdaly61@gmail.com>
Co-authored-by: Sam <10507686+elnyry-sam-k@users.noreply.github.com>

* fix: als-admin api ingress service port (#511)

- fixed als-admin api ingress service port from 4002 to 4001
- fixed formatting issues in for protocol_versions configs

* fix(mojaloop/2995): update ttk-ui (#512)

* chore: bumped up ttk-ui

* chore: some change in appversion

* fix: als-admin api ingress service port (#513)

- fixed als api ingress service port fix from 4002/4001 to 80
- fixed formatting issues in for protocol_versions configs

* chore: updated TTK and fixed some values

* feat: added example backend chart for mojaloop (#517)

feat: added example backend chart for mojaloop (#517) - mojaloop/project#3000
- updated mojaloop/values.yaml to include CONFIG section with YAML Anchor variables to make configurations easier
- added example-mojaloop-backend for external backend dependencies to enable deployments on Kubernetes v1.22+
    - updated shell helper scripts to include example-mojaloop-backend charts
- updates CI config to add helm dependency repos and updated readme

Co-authored-by: Miguel de Barros <miguel@debarros.me>

* updates to chart appVersion description

* fix: changed the default jws file path in sdk helm chart

* fix: sdk helm values

Co-authored-by: Miguel de Barros <miguel@debarros.me>
Co-authored-by: tdaly61 <tdaly61@gmail.com>
Co-authored-by: Sam <10507686+elnyry-sam-k@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
oss-core This is an issue - story or epic related to a feature on a Mojaloop core service or related to it story
Projects
None yet
Development

No branches or pull requests

4 participants