uiowaSEP2024 / 002_ImagePro

Image processing backend
1 stars 0 forks source link

159 refactor for receiver agent for horizontal scaling #181

Closed mbrzus closed 4 months ago

mbrzus commented 4 months ago

Overview

This pull request introduces a Kubernetes-enabled version of our system, which has been adapted to run on Minikube locally. This adaptation aligns with modern deployment practices, aiming to enhance scalability and manageability.

Implementation

The system architecture mirrors our existing Docker setup with key components such as the frontend, backend, PostgreSQL database, internal Orthanc server, receiver, study handler, and the example product. Key changes and enhancements include:

Usage

The new Kubernetes functionality can be deployed and managed using Minikube. Detailed instructions and step-by-step guides are provided in the README_KUBES.md file, which includes:

Setup instructions for Minikube and necessary Kubernetes configurations. Deployment commands for all Kubernetes resources. Guidelines on how to scale components and handle dynamic job creation.

Testing

Extensive manual testing was conducted to ensure each component functions correctly within the Kubernetes environment. This includes testing data flow between components, job creation and execution, and the responsiveness of the system under different loads.

Problems Faced

Transitioning to a Kubernetes-based deployment presented several challenges:

github-actions[bot] commented 4 months ago

Jest Coverage

Summary

Lines Statements Branches Functions
Coverage: 72%
73.25% (515/703) 56.8% (96/169) 66.05% (144/218)

Junit Summary

Tests Skipped Failures Errors Time
37 0 :zzz: 0 :x: 0 :fire: 3.938s :stopwatch:
Coverage Report (72%)
File% Stmts% Branch% Funcs% LinesUncovered Line #s
All files73.2556.866.0572.04 
fixtures100100100100 
   hospitalFixture.tsx100100100100 
   kidneyStudyFixture.tsx100100100100 
   providerFixture.tsx100100100100 
src/components90.9944.4489.6591.17 
   ErrorMessageBox.tsx100100100100 
   EventTimeline.tsx71.42007579–83
   Metadata.tsx85.7108084.6174–75
   Navbar.tsx90.475010090150, 163
   StackedChart.tsx10066.6610010072–85
   withAuthenticated.tsx100100100100 
src/contexts9010058.3389.28 
   authContext.tsx9010058.3389.2872, 90, 104
src/data30.9315.3833.8720 
   index.ts30.9315.3833.872017–27, 38–48, 59–69, 80–90, 98–108, 118–128, 140–149, 161–171, 181–190, 200–205, 217–240, 251–259, 269–274, 287–326, 335–345, 355–365, 370–380, 385–395, 411–412
src/hooks100100100100 
   useAuthContext.ts100100100100 
src/pages81.7267.2780.3982.01 
   analytics.tsx96.1510088.889690
   dashboard.tsx100100100100 
   index.tsx100100100100 
   login.tsx83.8788.8885.7183.3352–57, 109
   profile.tsx77.561.538080.5559–61, 83–86
   signup.tsx71.6255.5566.6671.2389–91, 98–100, 116–140, 224–231, 270–287
src/pages/apikeys73.2154.5464.2871.69 
   index.tsx73.2154.5464.2871.6974–77, 89, 94–99, 104–108, 195
src/pages/studies79.5657.1474.3581.74 
   [id].tsx69.0137.557.8971.8785, 94–108, 112–114, 125–126, 130, 134, 143, 219
   index.tsx90.971.879091.9349, 64, 141, 150, 157
sonarcloud[bot] commented 4 months ago

Quality Gate Passed Quality Gate passed

Issues
0 New issues
0 Accepted issues

Measures
0 Security Hotspots
No data about Coverage
33.9% Duplication on New Code

See analysis details on SonarCloud