gsoc-image

Hi, I am Piyush Singariya, a short description of me would be “another software engineer watching anime”, in the longer version I am a 2021 graduate from IIT Roorkee, who loves to watch anime and play video games all day. I know both are exactly the same, but it is what it is.

It all started around 22 Feb when I jumped into slack, and after 10 whole days messing around the project, I started to get a hold of it. I started contributing to mesheryctl and I thought to apply for the GSoC 2021.

Project

My project was to introduce multiple net new features and minor enhancements in Meshery and mesheryctl (Meshery’s CLI).

Meshery is a multi-service mesh management plane that offers lifecycle, configuration, and performance management of service meshes and applications running on top of those meshes. Meshery uses the Service Mesh Performance specification to describe and capture performance benchmarks and characterize service mesh behavior.

I integrated many new features in Meshery Some of them are mentioned here.

mesheryctl

  • Adding a new command to meshery's cli, i.e. mesheryctl for performance profiles and result management
  • Introduction of Unit Testing and Integration testing for Cobra commands of cli, mesheryctl.
    • Reached 28% code-coverage in mesheryctl
  • Introducing health-checks for environment checking of pre/post-deployment of meshery server
  • Adding a new command to meshery's cli, i.e. mesheryctl for managing Webssembly filters

Meshery

  • Reworking and consolidation of API endpoint handlers
  • Swagger Spec definition and automatic publishing of documentation

Others

  • Documentation on writing Unit and Integration Tests and Contributing to Meshery Server Documentation
  • CI workflow for Swagger Documentation and running Unit and Integration Tests with calculating Code-coverage with CodeCov

Refer here for GSoC Final Report

What did I learn?

During the whole season, as my work was mostly focused on Golang so I can say I learned Golang, learned working around HTTP handlers, writing cobra commands, setting up golang unit testing for Cobra Commands(damn, it was tough), writing environment health-checks, writing GitHub-actions, Open-API specification 2.0,

Summary

A quick summary of this experience would be that I had a really good time with Layer5, I learned, I engaged with other folks in the community, and I believe the environment here is truly best for any student to spend their time here, to learn and engage with each other. The folks here are crazy for helping new members get started with Layer5 projects.

Related Blogs

Layer5, the cloud native management company

An empowerer of engineers, Layer5 helps you extract more value from your infrastructure. Creator and maintainer of cloud native standards. Maker of Meshery, the cloud native manager.