chore: bump version to v0.8.0-beta (#814)

- add dependabot
- add codespell
- update operator version in helm chart
This commit is contained in:
Luigi Operoso
2023-04-18 00:01:07 +02:00
committed by GitHub
parent 00fc29e772
commit 38eaa0fc55
24 changed files with 3306 additions and 3272 deletions
@@ -8,12 +8,12 @@ description: >
---
{{% pageinfo %}}
This document describes installation procedure for **Jenkins Operator**.
This document describes installation procedure for **Jenkins Operator**.
All container images can be found at [virtuslab/jenkins-operator](https://hub.docker.com/r/virtuslab/jenkins-operator) Docker Hub repository.
{{% /pageinfo %}}
## Requirements
To run **Jenkins Operator**, you will need:
- access to a Kubernetes cluster version `1.17+`
@@ -27,7 +27,7 @@ Listed below are the two ways to deploy Jenkins Operator.
First, install Jenkins Custom Resource Definition:
```bash
kubectl apply -f https://raw.githubusercontent.com/jenkinsci/kubernetes-operator/master/config/crd/bases/jenkins.io_jenkins.yaml
kubectl apply -f https://raw.githubusercontent.com/jenkinsci/kubernetes-operator/master/config/crd/bases/jenkins.io_jenkins.yaml
```
Then, install the Operator and other required resources:
@@ -97,7 +97,7 @@ You can further customize Jenkins using `values.yaml`:
true
</td>
<td>
Enabled can enable or disable the Jenkins instance.
Enabled can enable or disable the Jenkins instance.
Set to false if you have configured CR already and/or you want to deploy an operator only.
</td>
</tr>
@@ -130,7 +130,7 @@ Name of resource. The pod name will be <code>jenkins-&lt;name&gt;</code> (name w
default
</td>
<td>
Namespace the resources will be deployed to. It's not recommended to use default namespace.
Namespace the resources will be deployed to. It's not recommended to use default namespace.
Create new namespace for jenkins (e.g. <code>kubectl create -n jenkins</code>)
</td>
</tr>
@@ -235,8 +235,8 @@ Used if you want to pull images from private repository
[]
</td>
<td>
Notifications is feature that notify user about Jenkins reconcilation status
<a href="https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/latest/notifications/">More info</a>
Notifications is feature that notify user about Jenkins reconciliation status
<a href="https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/latest/notifications/">More info</a>
</td>
</tr>
<tr>
@@ -284,7 +284,7 @@ Example:
plugins:
- name: simple-theme-plugin
version: 0.5.1
</pre>
</pre>
</td>
</tr>
<tr>
@@ -306,10 +306,10 @@ seedJobs:
targets: "cicd/jobs/*.jenkins"
description: "Jenkins Operator repository"
repositoryBranch: master
repositoryUrl:
repositoryUrl:
- https://github.com/jenkinsci/kubernetes-operator.git
</pre>
</code>
</code>
</td>
</tr>
<tr>
@@ -459,7 +459,7 @@ Configuration
</td>
<td></td>
<td>
Section where we can configure Jenkins instance.
Section where we can configure Jenkins instance.
See <a href="https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/latest/customizing-jenkins/">Customizing Jenkins</a> for details
</td>
</tr>
@@ -702,7 +702,7 @@ Backup defines configuration of Jenkins backup.
<tr>
<td>
<code>pvc</code>
</td>
</td>
<td colspan="2">
<p>Persistent Volume Claim Kubernetes resource</p>
<br/>
@@ -716,7 +716,7 @@ Backup defines configuration of Jenkins backup.
true
</td>
<td>
Enable/disable switch for PVC
Enable/disable switch for PVC
</td>
</tr>
<tr>
@@ -749,7 +749,7 @@ Backup defines configuration of Jenkins backup.
""
</td>
<td>
StorageClassName for PVC
StorageClassName for PVC
<a href="https://kubernetes.io/docs/concepts/storage/persistent-volumes/#class-1">More info</a>
</td>
</tr>
@@ -760,7 +760,7 @@ Backup defines configuration of Jenkins backup.
<tr>
<td>
<code>env</code>
</td>
</td>
<td>
<pre>
- name: BACKUP_DIR
@@ -772,7 +772,7 @@ Backup defines configuration of Jenkins backup.
</pre>
</td>
<td>
Contains container environment variables.
Contains container environment variables.
PVC backup provider handles these variables:<br />
BACKUP_DIR - path for storing backup files (default: "/backup")<br />
JENKINS_HOME - path to jenkins home (default: "/jenkins-home")<br />
@@ -798,7 +798,7 @@ Backup defines configuration of Jenkins backup.
</tr>
</tbody>
</table>
<h4 id="Configuration">Configuration
</h3>
<p>
@@ -879,7 +879,7 @@ You can find nightly built images by heading to [virtuslab/jenkins-operator](htt
## Note on restricted Jenkins controller pod volumeMounts
Current design of the Operator puts an emphasis on creating a full GitOps flow of work for Jenkins users.
One of the key points of this design is maintaining an immutable state of Jenkins.
One of the key points of this design is maintaining an immutable state of Jenkins.
One of the prerequisites of this is an ephemeral Jenkins home directory. To achieve that, Operator mounts emptyDir Volume
(jenkins-home) as Jenkins home directory.
@@ -894,7 +894,7 @@ below is the full list of those volumeMounts:
* init-configuration
* operator-credentials
## Validating Webhook
## Validating Webhook
Validating webhook can be used in order to increase the Operator's capabilities to monitor security issues. It will look for security vulnerabilities in the base and requested plugins. It can be easily installed via Helm charts by setting webhook.enabled in values.yaml.
@@ -902,7 +902,7 @@ Validating webhook can be used in order to increase the Operator's capabilities
For the installation with yaml manifests (without using Helm chart), first, install cert-manager:
```bash
kubectl apply -f https://github.com/jetstack/cert-manager/releases/download/v1.5.1/cert-manager.yaml
kubectl apply -f https://github.com/jetstack/cert-manager/releases/download/v1.5.1/cert-manager.yaml
```
It takes some time to get cert-manager up and running.
@@ -973,7 +973,7 @@ spec:
<b>volumeMounts:
- mountPath: /tmp/k8s-webhook-server/serving-certs
name: webhook-certs
readOnly: true
readOnly: true
volumes:
- name: webhook-certs
secret:
@@ -986,4 +986,3 @@ spec:
To enable security validation in the Jenkins Custom Resource, set
>jenkins.ValidateSecurityWarnings=true
@@ -82,7 +82,7 @@ Connect to the Jenkins Operator (minikube):
minikube service jenkins-operator-http-<cr_name> --url
```
Connect to the Jenkins intance (actual Kubernetes cluster):
Connect to the Jenkins instance (actual Kubernetes cluster):
```bash
kubectl port-forward jenkins-<cr_name> 8080:8080
@@ -10,18 +10,18 @@ description: >
### Major Changes
#### Adding the seed job agent
From version `v0.2.0` seed jobs are not run by master executors, but by a dedicated agent deployed as a Kubernetes Pod.
From version `v0.2.0` seed jobs are not run by master executors, but by a dedicated agent deployed as a Kubernetes Pod.
We've had disabled master executors for security reasons.
#### Replacing configuration jobs with Groovy scripts
In `v0.1.x` **Jenkins Operator** user configuration application was implemented using **Jenkins** jobs
In `v0.1.x` **Jenkins Operator** user configuration application was implemented using **Jenkins** jobs
and this mechanism was replaced since `v0.2.0` with Groovy scripts implementing the same functionality.
As a result, the **Jenkins** configuration jobs ("Configure Seed Jobs", "jenkins-operator-base-configuration", "jenkins-operator-user-configuration") are no longer visible in **Jenkins** UI.
In `v0.1.x` you can see if any of the configuration jobs failed or succeded in the **Jenkins** UI (job build logs).
In `v0.1.x` you can see if any of the configuration jobs failed or succeeded in the **Jenkins** UI (job build logs).
Instead, you can make sure the operator is running correctly by inspecting its logs, e.g.:
```bash
@@ -30,17 +30,17 @@ $ kubectl -n logs deployment/jenkins-operator
#### Making User Configuration sources configurable
In `v0.1.x` **Jenkins Operator** user configuration was stored in a `ConfigMap` and a `Secret`
named `jenkins-operator-user-configuration-<cr_name>`, and its name was hardcoded in the operator.
In `v0.1.x` **Jenkins Operator** user configuration was stored in a `ConfigMap` and a `Secret`
named `jenkins-operator-user-configuration-<cr_name>`, and its name was hardcoded in the operator.
Since `v0.2.0` the user configuration can be stored in a multiple `ConfigMap` and `Secret` manifests
Since `v0.2.0` the user configuration can be stored in a multiple `ConfigMap` and `Secret` manifests
and has to be explicitly pointed to with `spec.configurationAsCode.configurations` and `spec.configurationAsCode.secret`
for the Configuration as Code plugin,
for the Configuration as Code plugin,
and `spec.groovyScripts.configurations` and `spec.groovyScripts.secret` for the more advanced groovy scripts.
### Migration
If you want to use `v0.1.x` operator configuration with `v0.2.x` you have to modify your Jenkins Custom Resource(s)
If you want to use `v0.1.x` operator configuration with `v0.2.x` you have to modify your Jenkins Custom Resource(s)
and add explicit references to the existing `ConfigMap` and `Secret`, e.g.:
```yaml
@@ -51,7 +51,7 @@ metadata:
spec:
...
configurationAsCode:
configurations:
configurations:
- name: jenkins-operator-user-configuration-<cr_name>
secret:
name: jenkins-operator-user-configuration-<cr_name>
@@ -8,12 +8,12 @@ description: >
---
{{% pageinfo %}}
This document describes installation procedure for **Jenkins Operator**.
This document describes installation procedure for **Jenkins Operator**.
All container images can be found at [virtuslab/jenkins-operator](https://hub.docker.com/r/virtuslab/jenkins-operator) Docker Hub repository.
{{% /pageinfo %}}
## Requirements
To run **Jenkins Operator**, you will need:
- access to a Kubernetes cluster version `1.17+`
@@ -27,7 +27,7 @@ Listed below are the two ways to deploy Jenkins Operator.
First, install Jenkins Custom Resource Definition:
```bash
kubectl apply -f https://raw.githubusercontent.com/jenkinsci/kubernetes-operator/master/config/crd/bases/jenkins.io_jenkins.yaml
kubectl apply -f https://raw.githubusercontent.com/jenkinsci/kubernetes-operator/master/config/crd/bases/jenkins.io_jenkins.yaml
```
Then, install the Operator and other required resources:
@@ -97,7 +97,7 @@ You can further customize Jenkins using `values.yaml`:
true
</td>
<td>
Enabled can enable or disable the Jenkins instance.
Enabled can enable or disable the Jenkins instance.
Set to false if you have configured CR already and/or you want to deploy an operator only.
</td>
</tr>
@@ -130,7 +130,7 @@ Name of resource. The pod name will be <code>jenkins-&lt;name&gt;</code> (name w
default
</td>
<td>
Namespace the resources will be deployed to. It's not recommended to use default namespace.
Namespace the resources will be deployed to. It's not recommended to use default namespace.
Create new namespace for jenkins (e.g. <code>kubectl create -n jenkins</code>)
</td>
</tr>
@@ -235,8 +235,8 @@ Used if you want to pull images from private repository
[]
</td>
<td>
Notifications is feature that notify user about Jenkins reconcilation status
<a href="https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/latest/notifications/">More info</a>
Notifications is feature that notify user about Jenkins reconciliation status
<a href="https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/latest/notifications/">More info</a>
</td>
</tr>
<tr>
@@ -284,7 +284,7 @@ Example:
plugins:
- name: simple-theme-plugin
version: 0.5.1
</pre>
</pre>
</td>
</tr>
<tr>
@@ -306,10 +306,10 @@ seedJobs:
targets: "cicd/jobs/*.jenkins"
description: "Jenkins Operator repository"
repositoryBranch: master
repositoryUrl:
repositoryUrl:
- https://github.com/jenkinsci/kubernetes-operator.git
</pre>
</code>
</code>
</td>
</tr>
<tr>
@@ -459,7 +459,7 @@ Configuration
</td>
<td></td>
<td>
Section where we can configure Jenkins instance.
Section where we can configure Jenkins instance.
See <a href="https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/latest/customizing-jenkins/">Customizing Jenkins</a> for details
</td>
</tr>
@@ -702,7 +702,7 @@ Backup defines configuration of Jenkins backup.
<tr>
<td>
<code>pvc</code>
</td>
</td>
<td colspan="2">
<p>Persistent Volume Claim Kubernetes resource</p>
<br/>
@@ -716,7 +716,7 @@ Backup defines configuration of Jenkins backup.
true
</td>
<td>
Enable/disable switch for PVC
Enable/disable switch for PVC
</td>
</tr>
<tr>
@@ -749,7 +749,7 @@ Backup defines configuration of Jenkins backup.
""
</td>
<td>
StorageClassName for PVC
StorageClassName for PVC
<a href="https://kubernetes.io/docs/concepts/storage/persistent-volumes/#class-1">More info</a>
</td>
</tr>
@@ -760,7 +760,7 @@ Backup defines configuration of Jenkins backup.
<tr>
<td>
<code>env</code>
</td>
</td>
<td>
<pre>
- name: BACKUP_DIR
@@ -772,7 +772,7 @@ Backup defines configuration of Jenkins backup.
</pre>
</td>
<td>
Contains container environment variables.
Contains container environment variables.
PVC backup provider handles these variables:<br />
BACKUP_DIR - path for storing backup files (default: "/backup")<br />
JENKINS_HOME - path to jenkins home (default: "/jenkins-home")<br />
@@ -798,7 +798,7 @@ Backup defines configuration of Jenkins backup.
</tr>
</tbody>
</table>
<h4 id="Configuration">Configuration
</h3>
<p>
@@ -879,7 +879,7 @@ You can find nightly built images by heading to [virtuslab/jenkins-operator](htt
## Note on restricted Jenkins controller pod volumeMounts
Current design of the Operator puts an emphasis on creating a full GitOps flow of work for Jenkins users.
One of the key points of this design is maintaining an immutable state of Jenkins.
One of the key points of this design is maintaining an immutable state of Jenkins.
One of the prerequisites of this is an ephemeral Jenkins home directory. To achieve that, Operator mounts emptyDir Volume
(jenkins-home) as Jenkins home directory.