DEV Community

Cover image for 🚀How My Kubernetes KIND Contribution Got Merged: A Beginner’s Journey Into Real Open Source
Anjali Mishra
Anjali Mishra

Posted on

🚀How My Kubernetes KIND Contribution Got Merged: A Beginner’s Journey Into Real Open Source

My First Kubernetes Contribution: A Journey of Mentorship, Reviews, CNCF CLA & My PR Getting Merged

Contributing to open source was always a dream…
but contributing to a Kubernetes SIGs repository felt like a dream that was too big.

Kubernetes is massive.
Its contributors are experts.
Its ecosystem is huge.

So when I created my first PR to kubernetes-sigs/kind, I didn’t just write a few lines of documentation —
I crossed a personal milestone that changed my confidence forever.

Let me take you through the journey —
of learning, mentorship, mistakes, corrections, CNCF processes, approvals, and growth.

🌱 The Start — A Small Idea, A Big Step

While reading KIND’s Quick Start docs, I noticed something simple:

👉 There was no example for loading multiple Docker images in a single command.

Beginners do this all the time.
Yet the docs only showed single-image examples.

So I decided to contribute this:

kind load docker-image my-app:latest my-db:latest my-cache:latest

A small, beginner-friendly improvement —
but a perfect entry point into the Kubernetes ecosystem.

🧪 Step 1: Passing the CNCF CLA — My First Real Gate

Before ANY Kubernetes PR can be tested or reviewed, contributors must pass:

✔ The CNCF Contributor License Agreement (CLA)

This is a legally required agreement proving:

the code is original

you allow CNCF to use it

there are no license conflicts

When I opened my PR, I saw the bot:

💬 “CLA not signed”

This was my first major step.

I opened the link, authenticated with GitHub, verified details, and signed it.

And then the bot updated:

💚 CLA Signed — You’re good to go!

The moment that label turned green, I felt like:
Yes, I’ve officially stepped into the CNCF ecosystem.

🤖 Step 2: Bots, Labels & The “ok-to-test” Workflow

Kubernetes has an amazing automated system.

Immediately after my PR:

@k8s-ci-robot welcomed me

added labels

checked CLA

explained commands

asked a maintainer to approve /ok-to-test

Before “ok-to-test,” tests aren’t triggered.

Once a maintainer reviewed the PR and said:

/ok-to-test

The CI pipelines finally started running.

Watching those green checks pass felt surprisingly exciting 😄

🌟 Step 3: The Reviewers Who Helped Me Grow

This PR introduced me to three amazing maintainers:

⭐ @stmcginnis
@bentheelder
⭐ @aojea

And each one helped me in different ways.

🧑‍🏫 The Mentor of My PR — @stmcginnis

If this blog had a hero, it would be @stmcginnis.

He didn’t just review my PR —
he mentored me throughout the entire process.

What he taught me:
✔ What was wrong

He spotted issues I completely missed:

wrong indentation

missing backticks

extra blank lines

duplicate sections appearing at the bottom

formatting not matching KIND’s documentation style

✔ What was right

He appreciated the value of the example and encouraged me to continue.

✔ How to fix things

He never said “This is wrong.”
He always explained:

📌 Why it's wrong
📌 How to correct it
📌 What good documentation looks like
📌 How to apply changes cleanly

✔ The biggest lesson: how to amend a commit properly

When I struggled with squashing commits, he gave me a magic command:

git add .
git commit --amend
git push -f

This single message saved me HOURS of confusion.

His tone was always:

patient

kind

respectful

supportive

He turned a scary Kubernetes contribution into a smooth learning experience.

I am truly grateful for his mentorship. 🙏

🧩 The Other Maintainers Who Supported Me
@bentheelder

Co-maintainer of KIND — he ensured the changes fit the project’s design and documentation structure.

⭐ @aojea

He helped me clean the commit history and reminded me to avoid unrelated changes.
His advice about keeping the PR focused improved my understanding of professional open-source collaboration.

Each of them guided me toward making my contribution clean, accurate, and merge-ready.

This was REAL open-source collaboration — and I felt privileged to experience it.

🔄 Step 4: Iterations, Fixes & Growth

My PR didn’t get accepted immediately.

Not after one review.
Not after two.
Not after five.

Every time I fixed one thing, the reviewers found another improvement.
And every time I fixed something new, I learned something new.

I made mistakes like:

messing up formatting during squash

duplicating sections accidentally

incorrect markdown spacing

missing newline after headers

breaking layout with unintended edits

But the maintainers stayed patient.

They guided me with:

✔ clear comments
✔ constructive feedback
✔ friendly tone
✔ encouragement to continue

This is the beauty of open source:
Mistakes are not failures — they are lessons.

🎉 Step 5: The Final Approval — /lgtm & /approve

After all the fixes, all the formatting corrections, all the rebasing and amending…

I finally saw the most satisfying comment:

/lgtm

Followed by:

/approve

And then the bot said:

💚 This PR is APPROVED
💚 Merged successfully

That green “Merged” badge still feels special.

I had officially contributed to a Kubernetes SIGs repository.

🌈 What This Journey Taught Me
🌟 Mentorship matters

Good reviewers like @stmcginnis don’t just correct you — they grow you.

🌟 Open source is teamwork

It’s about patience, communication, and collaboration.

🌟 Small contributions matter

Even a one-line doc example can help thousands of developers.

🌟 Communication is a skill

Responding professionally, asking doubts, and following up politely matters.

🌟 CNCF ecosystem welcomes beginners

The process is structured, educational, and encouraging.

💛 My Heartfelt Thanks
To @stmcginnis

Your mentorship, explanations, and kindness shaped my entire journey.
Thank you for helping me learn the right way.

To @bentheelder

Thank you for reviewing and ensuring the doc improvements matched KIND’s standards.

To @aojea

Thank you for guiding me on squashing and keeping the PR clean.

To the Kubernetes SIGs community

Thank you for creating an environment where beginners can grow.

🔮 What's Next for Me

This contribution gave me:

✨ Confidence
✨ Technical clarity
✨ Experience with CNCF workflows
✨ Understanding of PR reviews
✨ Skills for real-world collaboration

Now I’m working toward:

more contributions to CNCF projects

understanding Go + Kubernetes internals

preparing for GSoC 2026

helping beginners get into open source

This is just the beginning of my open-source journey.

🌸 Final Words to Beginners

If you want to contribute but feel scared or unprepared:

Just start.

Start with one small issue.
One doc improvement.
One PR.
One review.

Open source isn’t about perfection —
it’s about participation and learning.

If I can contribute to Kubernetes,
you absolutely can too.

💌 Connect With Me

If you need help finding your first issue or starting your OSS journey:

📌 GitHub: https://github.com/AnjaliMishra1st

📌 LinkedIn: https://www.linkedin.com/in/anjali-mishra-212536298/

📌 Email: mishrasitu88@gmail.com

I’m always happy to help ❤️

Top comments (0)