-
Notifications
You must be signed in to change notification settings - Fork 693
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
[LFX-Q2]: Enhance/improve chaos center code base and redesign chaos workflow apis #3970
Comments
Is it too late to start reading documentation to understand the project and apply for LFX mentorship under your organisation. |
@Swapnil-2502 - please send your proposal to lfx. We will review |
Hey @imrajdas, I'd love to work on this project as a part of LFX mentorship . As I am learning go, I believe this project will be a great opportunity for me to apply my skills and gain hands-on experience. Looking forward to contributing to the project's success. |
Hello @imrajdas I would really love to work on this issue as it perfectly aligns with my current Technical skills as i'm quite familiar with Kubernetes and Backend Developement, and i would really love to take this issue hands-on and work around it! will you mention any of IRC channels so i can explain and learn more about this issue ? |
@imrajdas Just curious about what are the difficulties users are facing for Graphql API that can be resolved by REST API. Can you please shed some light on this or refer to any discussion about this? Thanks! |
@imrajdas Hello mentor for the LFX Mentorship program -> CNCF - LitmusChaos: Migrate chaos workflow api from graphql to rest and improve chaos center code |
Hi applicants, there is a slight change in this issue. This issue will focus more on the chaos center code base enhancement than the chaos workflow API changes. |
Hi all, Please submit your applications to LFX portal before the deadline |
Sure , now worries |
Have submitted |
Submitted! Setting up the project! |
Thank you @imrajdas for giving this update. I am extremely enthusiastic about the opportunity to learn and contribute to LitmusChaos. I am confident that my skills and experience make me a strong candidate to make meaningful contributions to this project. |
Hi @imrajdas I am Prajak Sen, a pre-final year student at IEM Kolkata, India. i have 3+ years of experiences in backend development , i have worked with Go and Kubernetes in my past days, i have followed the code base of litmus chaos portal , and seen the architectural workflow of chaos and the pkg underlying the graphql-server directory of the reference repository.
here we can split the chaos-workflow into seperate interfaces in this manner :- modified chaos_workflow.go should be looked like this
again we can build chaos-workflow_run.go in this way to run the workflow instance
to build a strongly-typed schema for the chaos workflow graphql api , we can design this schema in this way :-
here, a Workflow type with its properties such as id, name, description, templateId, and parameters. The Parameters type represents the set of parameters for a workflow. The CreateWorkflowInput input type is used for creating a new workflow, while the ParametersInput input type is used for specifying the parameters. The Query type provides a single query field workflow to retrieve a specific workflow by its ID. You can extend this type with more queries based on your requirements. The Mutation type defines mutation fields to create, update, and delete workflows. You can add more mutation fields as needed to fulfill other operations.
When refactoring the chaos-subscriber codebase and adding interfaces for the functions in a Kubernetes-based environment, we need to consider the specific requirements and interactions with Kubernetes resources. we may implement in this way 🥇
we define the KubernetesClient interface that represents the operations we want to perform on Kubernetes resources. The OfficialKubernetesClient struct implements the interface using the official Kubernetes client library for Go. The NewOfficialKubernetesClient function creates an instance of OfficialKubernetesClient by initializing the Kubernetes client using the provided kubeconfig file path. The GetPods method of OfficialKubernetesClient retrieves a list of pods from the specified namespace using the Kubernetes client library. In the main function, we create an instance of OfficialKubernetesClient and demonstrate how to use the GetPods method to retrieve and process pods from the "default" namespace. Make sure to have the necessary dependencies, such as the Kubernetes client Go library (k8s.io/client-go), imported into your project. Set the KUBECONFIG environment variable with the path to your kubeconfig file before running the program.
i have also tried to modify the center code base enhancement i.e. "Enhance/Upgrade chaos operator and chaos exporter module" and here this is my brief idea of implementing this enhancement :https://github.com/litmuschaos/litmus/issues/3969 so that will be fine tuned I would love to be a part of this beautiful community and looking forward to a positive reply |
Hi all, Today(May 23, 5:00 PM PDT) is the last day to submit your proposal to the LFX portal Apply link- https://mentorship.lfx.linuxfoundation.org/project/983193ea-9cca-405f-baa5-e6ade4df1ba2 |
Hi All, We have finalized the LFX mentee. We participate in LFX every 3 months. Please apply it for next term in case you didn't get selected. Please feel free to contribute to the LitmusChaos project or join the monthly community call to learn about the project. |
This task is divided into multiple subtasks.
Refactor the chaos-workflow pkg into interfaces and split the chaos-workflow and chaos-workflow run into separate pkg
Resolve security vulnerability and golangci-lints of chaos-center backend components (Graphql Server, Subscriber, Auth-Server)
Add unit test cases for chaos-center backend components
Refactor chaos-subscriber codebases and add interfaces for the functions
Currently, our users are facing difficulty to use chaos workflow graphql APIs, so, we need to redesign the chaos workflow and workflow run APIs
Additional/Optional
Repository Ref:
Note:
The text was updated successfully, but these errors were encountered: