Skip to content

Instantly share code, notes, and snippets.

@maheshkasabe
Last active November 20, 2023 16:32
Show Gist options
  • Save maheshkasabe/60c24be3bec735d52477d841ec6e3073 to your computer and use it in GitHub Desktop.
Save maheshkasabe/60c24be3bec735d52477d841ec6e3073 to your computer and use it in GitHub Desktop.
Mahesh Kasbe's LFX Work Report

nrnb 

Linux Foundation Mentorship 2023: Work Product Submission

Mahesh Kasbe (@maheshkasabe)

Project Abstract

ArgoCD and Helm are popular tools to delivery k8s workload, yet currently only the k8s built-in workload are supported out-of-box for ArgoCD and Helm. OpenKruise provide advanced worklood that resemble with the built-in workload, users can use OpenKruise workload with ArgoCD and Helm, yet they cannot tell ArgoCD and Helm whether Openkruise workload is ready or not.

  • Expected Outcome:
    • Improve ArgoCD integration by writing custom lua script to tell whether OpenKruise workload is healthy. The lua script can be submited to the Argo-CD repository.
    • Improve Helm intergration by building a job container that can check whether OpenKruise workload is healthy during helm install/upgrade process.

Overview of Work Done

Phase One (Sept 4, 2023 - Sept 30, 2023)

  • Intiated Argocd Workload Integration: Argocd, Kruise-Argo
    • Added CloneSet Integration.
    • Added StatefulSet Integration.
    • Added Daemonset Integration.
    • Added Advanced CronJob workload Integration.
    • Added BroadcastJob workload Integration.
    • Added Rollout Integration.
    • Added CI Workflow to check and validate argocd integration before merge.
    • Opened a PR & Proposal Issue on Argocd Repository.
    • Added Integration docs and code to Kruise-Argo Repository.

Phase Two (Oct 1, 2023 - Oct 31, 2023)

  • Intiated Helm Workload Integration:
    • Planned to add a cmd tool in order to perform checks
    • modifed previous lua argo scripts to use inside cmd tool
    • Improved previous lua argo scripts with partition and pause checks
    • created a basic post-install helm hook with cmd tool docker image
    • modified rbac rules for helm hooks
    • added timeout function and workload-name argument to better perform checks
    • pushed the work inside kruise-helm repo

Phase Three (Nov 1, 2023 - Nov 30, 2023)

  • Buffer time for improving the previous fetaures and Pull Requests
    • Completed the cmd-tool with all the important and fundamental features
    • Fixed the Daemonset, Statefulset , CloneSet and Rollout Health check scripts
    • Added example, automation script to generate a argocd configmap

Deliverables

Tasks Planned Completed
CloneSet Integration Yes ✔️
Advanced StatefulSet Integration Yes ✔️
Advanced DaemonSet Integration Yes ✔️
BrodCastJob Integration Yes ✔️
Advanced CronJob Integration Yes ✔️
KruiseRollout Integration Yes ✔️
Helm Workload Integration Yes ✔️

Code Contributions

Presented the daily work to the mentors on a pull request made on forked resporitory.

Project Pull Request:

Mentors

1. Zhang Zhen - Github

Contributer's Profile

Acknowledgement

I would like to extend my sincere gratitude to my mentors for giving me this incredible opportunity. My mentors, along with the organization members, have been very approachable and have provided me with constant support and guidance throughout the project. I look forward to contributing and learning more from the organization.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment