The External-Secrets Operator Community

I picked the External-Secrets Operator, a Kubernetes Operator that integrates external secret management systems like AWS Secret Manager, HashiCorp Vault, Azure Key Vault, and many others into Kubernetes.

Since I enjoy doing work with Kubernetes and working with Golang and APIs I felt like this project would be a good fit for my first contribution. The documentation is well structured and easy to get started with. The active maintainers are very friendly and are helpful at answering questions along with providing feedback.

The ESO community is very engaged and has clear contribution guidelines. They actively support new contributors through Slack and loads of onboarding resources. The project has a CONTRIBUTING.md that outlines best practices, and they encourage newcomers to look for issues labeled good first issue.

Finding an Issue

To find an issue I went to the Issues page on the projects github where I was able to filter for good first issue and find a bug I knew I could fix.

Issue

I quickly found Issue #4426, which involved a typo in the docs showing a feature in a method that does not exist. A maintainer of the External-Secrets Operator commented that this issue is with Go’s time.Duration Parser and not with ESO.

Fixing the Documentation

To fix this I headed over to the documentation page the issue referenced and found the line. It ended being in more than one place so I edited it again committed by changes to my forked repo and submitted Pull Request #4601.

PR

The next day I was greeted by one of the maintainers of the Project Skarlso informing me that the documentation had actually been generated by a comment in a different file and that I should remove the typo from there and the re-generate the docs with make check-diff and commit the differences.

Update

After committing again I updated Skarlso that the changes were made and the differences were pushed. He again asked me to run one more command make helm.test.update, this required the use of the Helm UniTest plugin. The command ran without producing any differences so I informed Skarlso so he could then merge my changes.

For the Future

I had an excellent experience contributing to the ESO project. The community was incredibly helpful and responsive, this was a great first experience for a contribution. In the future I look to engage with other CNCF projects and do more than fix and update documentation, even though it’s still very important!