Giter Club home page Giter Club logo

kube-ez's Introduction

Pratik Singh

Senior Software Engineer at NASDAQ

Problem Solver ¯\_(ツ)_/¯
आलस्यम् परमम् धर्म 🥱

Find me around the web 🌎:

Or just yell "Kitarp29" thrice

Summary 📝

My expertise lies in DevOps, Golang, Backend Development, and C++. I have a strong passion for leveraging DevOps practices and tools to streamline software development processes.

Experience 💼

  1. Senior Software Developer at NASDAQ

🚀 Collaborating with the Web Properties team to build microservices in Go and actively maintaining CI pipelines on GitLab.

  1. CI/CD Engineer at Mercari, Inc.

  2. Software Engineer at HackerRank

  3. Github Extern at GitHub

  4. Site Reliability Engineer at JUSPAY

Skills 🚀

  • Go (Programming Language) • Kubernetes • Microservices • Terraform • Amazon Web Services (AWS)
  • C++ • DevOps • Node.js • JavaScript • CI/CD Pipelines

Feel free to reach out to me to discuss any DevOps initiatives or exciting opportunities. I'm always eager to contribute my skills and expertise to drive success in the DevOps space.

It ain't much but its honest work

kube-ez's People

Contributors

dependabot[bot] avatar kitarp29 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

kube-ez's Issues

Make a better YAML

Make a better YAML

The idea started with this issue: - #52
Why not use all my learnings as a DevOps Engineer to build a better YAML to install Kube-ez.
I will keep this open, to keep building on it.
The File I am referring to is here: - one-to-rule-them-all.yaml
image

Adding recover() in codebase

Just learnt about a great in-built function in Go that handles panic situation. It will be an easy issue. I will post more details once I get back home from office 👍

Rewrite Project using SharedInformers

Right now the project is using the client-go library and the rest k8sio APIs to query the API server each time the request comes in. This idea is surely not scalable if the traffic increases. I want to rewrite the project and use ShardInformers in place of multiple calls to API Sever of the master node.
If you wanna ask, why didn't I make the project using shared informers in the first place, I just wanna say:
Screenshot 2022-10-31 at 2 54 52 AM

Making a Better Docker Image

I know I have already optimized the size of the Docker Image used in this project.
But recently I came across a great resource to make Industry ready images.

So, why not include them!??

Here is the Twitter Thread I am referring to : Here

Make a Deployment

How the HELL did I miss it!??

I can make a Deployment for the YAML file. This deployment will handle the Pod, and will restart the pod in case it dies of natural causes XD

I will update the YAML File to include it.

Folks! this is PROOF, that nothing good happens late night.

jim-carrey-stupid-stupid

Better Logging in this project

I want to implement more ellaboarte logs in this project.
I will be using Logrus for this purpose.
I am bored this weekend so why not kickoff this old project with an easy task

Build a better CI

TBH looking right now at the CI of the project all I can say is:
giphy

YES! it hurts to look at such a shitty CI.
What I am looking at?

  • A CI that builds binary for each push.
  • Uses that binary on the docker image.
  • Run that docker image in a Kubernetes cluster.
  • Run all the Unit tests against the preexisting functions.

Will I be able to do it??

MAYBE

Let's give it a try!

checking vulnerabilities in code

Use this to find the vulnerabilities of my code. We might have to find an automated process to integrate it into github actions so that each push is tested for vulnerability

Adding Better API Documentation

I know this repository has Documentation for the API already : Here

But I recently learned there are industry standard way to do this.
I have added the postman collection for reference : Here

For this task I was looking forward to use something such as Swagger

I will provide the detailed steps, real soon!


Lesser CI Jobs

This started here:

I want to run the CI runner only when there is a change in the Go codebase.
WTH is my CI running when I did changes to simple Markdown?

I know it doesn't cost me anything to run the CI.
But it is actually a waste of resources of GitHub.
Github might start getting charged in future
It is out of my training as a DevOps engineer to waste resources.
.
.
.
Mainly I can't sleep, so let's do something😅

image

Browser based GET "/favicon.ico" requests

So this project can be run on curl or on Browser.
Web Browsers by their nature have this irritating nature to bug the API with a GET Request to "/favicon.ico"
I am no wiz in Frontend, but what I learned is that it does this to get an icon for the tab.
I don't have any problem with it, only that this is making my Logs look ugly !
Without any reason I am seeing 500 error codes in my logs for a URI I never intended to make.

I want to disable this. No matter the cost.
Anyone is welcome to do it! Or else:
image

Check for CVEs

Right now the CI is set up such that every successful build of Docker Image will be pushed to ghcr.
But this is very risky, as I am not scanning for CVEs. Neither I have Image scanning open on my Docker Hub as I am broke.
So we need to find some CLI-based Docker Image Scanning Jobs in the CI.
Refer to This: Here
image

Setting up Email triggers

Since we are making a project that has to manipulate one's cluster, we should have email triggers set up. Emai, triggers can act as AWS SNS. I am even not sure if it can be implemented in what manner, but surely can be handy feature.
You might want to use this package Email

Making a CLI version

Can we build a CLI version of this project using this??
I know I know, CLI version of a K8s-api is just kubectl ("as if I didn't knew")

But still, it would be cool to build a CLI with this
CLI-Maker

Make a Helm chart

We could actually make a Helm chart to ease the process of installing this project on any k8s cluster

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.