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

Microservices part 2 #194

Merged
merged 170 commits into from
Jun 21, 2024
Merged

Microservices part 2 #194

merged 170 commits into from
Jun 21, 2024

Conversation

PhilipAB
Copy link
Contributor

@PhilipAB PhilipAB commented Jun 4, 2024

What this PR does / why we need it:
This PR implements the following microservices (and migrates the according Gargantua application logic):

  • course-service
  • dbconfig-service
  • environment-service
  • progress-service
  • scenario-service
  • scheduledevent-service
  • session-service
  • terraform-service
  • vm-service
  • vmclaim-service
  • vmset-service
  • vmtemplate-service

Milestones - General Tasks

  • Implement missing resource-oriented RPCs for OTACs
  • Implement missing resource-oriented RPCs for access codes
  • Implement missing helper functions in access code service
  • Refactor gRPC errors by introducing generic error helper functions
  • Introduce general proto message definitions to prevent unneccessary code duplication
  • Introduce and use a generic InstallCrds() function
  • Remove legacy route from authserver and migrate into auth service
  • Change proto package names and introduce convention, that these imports should always end with "pb"
  • Move hflabels into an own module
  • Introduce caching for the internal grpc services on list/get operations
  • Introduce generic functions for the internal grpc services on list/get/delete/delete collection operations
  • Add build jobs for new microservices
  • Clean up unused code in gargantua main.go
  • Test microservices implementation on dev deployment
  • Test fresh install of hobbyfarm
  • Test update of existing hobbyfarm instance
  • Add PR for helm chart repository: Microservices part 2 hobbyfarm#430

Milestones - Progress of our microservices architecture (alphabetically sorted)

Course
  • Implement internal course service logic
  • Implement and migrate course api logic
DB Config
  • Implement internal db config service logic
Environment
  • Implement internal environment service logic
  • Implement and migrate environment api logic
Progress
  • Implement internal progress service logic
  • Implement and migrate progress api logic
Scenario
  • Implement internal scenario service logic
  • Implement and migrate scenario api logic
Scheduled Event
  • Implement internal scheduled event service logic
  • Implement and migrate scheduled event api logic
  • Migrate scheduled event controller logic
Session
  • Implement internal session service logic
  • Implement and migrate session api logic
  • Migrate session controller logic
Terraform
  • Implement internal terraform service logic
  • Implement and migrate terraform api logic
  • Migrate terraform controller logic into vm service
VM
  • Implement internal vm service logic
  • Implement and migrate vm api logic
  • Implement vm controller logic
VM Claim
  • Implement internal vm claim service logic
  • Implement and migrate vm claim api logic
  • Migrate vm claim controller logic
VM Set
  • Implement internal vm set service logic
  • Implement and migrate vm set api logic
  • Migrate vm set controller logic
VM Template
  • Implement internal vm template service logic
  • Implement and migrate vm template api logic

@PhilipAB PhilipAB marked this pull request as ready for review June 18, 2024 14:53
@jggoebel jggoebel merged commit c50d1df into hobbyfarm:master Jun 21, 2024
21 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants