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

JAC Cloud Orchestrator #1319

Merged
merged 54 commits into from
Nov 11, 2024
Merged

JAC Cloud Orchestrator #1319

merged 54 commits into from
Nov 11, 2024

Conversation

AshishMahendra
Copy link
Collaborator

Description

JAC Cloud Orchestrator is designed to dynamically import any Python module, deploy it as a Kubernetes Pod, and expose it as an independent gRPC service. This enables any Python module to be a microservice, providing flexibility and scalability in a cloud environment.

@AshishMahendra AshishMahendra self-assigned this Sep 27, 2024
@AshishMahendra AshishMahendra marked this pull request as draft September 27, 2024 15:34
@AshishMahendra
Copy link
Collaborator Author

Hi, @marsninja, can you please share your thoughts on the approach, i have added a readme for reference

@marsninja
Copy link
Contributor

Good start @AshishMahendra, Some of this implementation looks relevant to the final approach.

For the first version of jac-cloud-orc (which by the way im thinking if jac-splice-orc might be better) would be the following:

  • A plugin that overrides jac_import to add capability that will automatically turn particular named modules into remote containerized kubernetes pod services that the importing modules would send all interactions to
  • Initially these modules can be specified in a config file or through the settings.py interface
  • This plugin would use the kubernetes python client library to automatically detect whether these running jac application is in a kubernetes environment and has the right permissions to create pods in that environment (this was prototyped in jaseci 1 and is do-able)
  • The plugin would automatically generate the relevant manifests through the k8s protocol to start the pod and initially stall until the pod was ready, then the rest of the module can then execute.

Basically it would be something like that, i'd want as much automatic control being done by splice-orc as possible.

@marsninja marsninja removed their assignment Oct 4, 2024
@AshishMahendra AshishMahendra marked this pull request as ready for review October 15, 2024 11:59
@marsninja
Copy link
Contributor

marsninja commented Oct 15, 2024

Hi @AshishMahendra I see you've assigned this to me. What feedback do you want? Is it ready for review and potential merge?

@marsninja marsninja added P0 Critical issues or feature needs that must be addressed immediately. ai_kit Related to jaseci ai kit and removed ai_kit Related to jaseci ai kit labels Oct 23, 2024
@AshishMahendra AshishMahendra changed the title JAC Cloud Orchestrator [WIP] JAC Cloud Orchestrator Oct 30, 2024
jac-splice-orc/MANIFEST.in Outdated Show resolved Hide resolved
jac-splice-orc/jac_splice_orc/Dockerfile Outdated Show resolved Hide resolved
jac-splice-orc/jac_splice_orc/managers/pod_manager.py Outdated Show resolved Hide resolved
jac-splice-orc/jac_splice_orc/managers/pod_manager.py Outdated Show resolved Hide resolved
jac-splice-orc/jac_splice_orc/plugin/splice_plugin.py Outdated Show resolved Hide resolved
jac/jaclang/settings.py Outdated Show resolved Hide resolved
@AshishMahendra AshishMahendra changed the title [WIP] JAC Cloud Orchestrator JAC Cloud Orchestrator Nov 11, 2024
@marsninja marsninja merged commit 1df5cf7 into main Nov 11, 2024
2 checks passed
@marsninja marsninja deleted the jac_orc branch November 11, 2024 14:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
P0 Critical issues or feature needs that must be addressed immediately.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants