This section provides an overview of different ways in which you can customize Jenkins with Operator.
Current customization mechanism is based on modifying Jenkins Kubernetes Custom Resource as well as two additional Custom Resources - JenkinsGroovyScript and JenkinsConfigurationAsCode.
Every time you want to customize Jenkins, you need to do that in code, by modifying existing Custom Resource files, and applying the changes.
Any manual changes from the web interface will be overridden by automation or after the Jenkins restart.
You can customize Jenkins using plugins, Groovy Scripts and Configuration as Code (CasC).
Operator can install any plugin that works for Jenkins to enhance its capabilities. You can read more on that in the Customize Jenkins with Plugins section.
You can also customize Jenkins using Groovy scripts or Configuration as Code (thanks to pre-installed configuration as code plugin).
CasC scripts are more readable and simpler to write, so this should be your default choice. However, when something is not supported by the CasC plugin or for more complex and low-level configuration, Groovy scripts are better. They allow you to use Jenkins internal API.
You can learn how to customize Jenkins with plugins, groovy scripts and configuration as code in sections shown below: