Project goal: Improve security aspects of installing Jenkins plugins in Kubernetes environment.
Skills to study/improve: Go, Kubernetes, Bash
The Jenkins Operator is a Kubernetes Native Operator which manages operations for Jenkins on Kubernetes. It enables community to run Jenkins in cloud-native environments like Kubernetes, OpenShift and others. Also, supports most of the public cloud providers (AWS, Azure, GCP) in terms of additional capabilities like backups, observability and cloud security.
Visit the project page
Follow developer guide and run Jenkins Operator locally
If you are interested in exploring Kubernetes and software-defined operators ecosystem more in-depth, as well as enhance your Go coding skill - this is definitely an interesting opportunity to consider.
Some of the plugins have security warnings which are not properly presented to the end users. This may result in introducing security risk in existing CI/CD infrastructure.
As part of reconciliation process of Jenkins, when plugins are already downloaded but not yet installed add a validation step that will check if chosen plugins contain security issues, using Kubernetes Admission Controller. It can be implemented by taking an advantage of built-in security check mechanism in Jenkins Update Centre - the operator should fetch the data directly from Jenkins Download Center (over REST API) about security warnings for corresponding list of plugins to be installed.
Additionally, in case a security warning is detected, user should be able to choose if Jenkins Operator should continue with installation process.
For information about how to contribute to and what to work on, please use the slack channel. Since the project is in active development, these issues could be closed by the time you are looking at them.