From 4e5f9d562f287f7b3a2b24bb580412597c98cad8 Mon Sep 17 00:00:00 2001
From: Luigi Operoso <40476330+brokenpip3@users.noreply.github.com>
Date: Mon, 5 Jun 2023 22:54:54 +0200
Subject: [PATCH] chore: add v0.8.0 doc (#845)
---
.../content/en/docs/Getting Started/_index.md | 2 +-
.../en/docs/Getting Started/latest/_index.md | 10 +-
.../latest/configuring-backup-and-restore.md | 8 +-
.../latest/deploying-jenkins.md | 4 +-
.../latest/installing-the-operator.md | 2 +-
.../docs/Getting Started/latest/openshift.md | 4 +-
.../latest/separate-namespaces.md | 4 +-
.../en/docs/Getting Started/v0.7.x/_index.md | 19 +
.../en/docs/Getting Started/v0.7.x/aks.md | 24 +
.../v0.7.x/configuring-backup-and-restore.md | 111 +
.../configuring-seed-jobs-and-pipelines.md | 336 +++
.../v0.7.x/custom-backup-and-restore.md | 184 ++
.../v0.7.x/customizing-jenkins.md | 203 ++
.../v0.7.x/deploying-jenkins.md | 114 +
.../v0.7.x/installing-the-operator.md | 988 ++++++
.../en/docs/Getting Started/v0.7.x/ldap.md | 127 +
.../docs/Getting Started/v0.7.x/openshift.md | 10 +
.../en/docs/Getting Started/v0.7.x/schema.md | 2679 +++++++++++++++++
.../v0.7.x/separate-namespaces.md | 583 ++++
19 files changed, 5396 insertions(+), 16 deletions(-)
create mode 100644 website/content/en/docs/Getting Started/v0.7.x/_index.md
create mode 100644 website/content/en/docs/Getting Started/v0.7.x/aks.md
create mode 100644 website/content/en/docs/Getting Started/v0.7.x/configuring-backup-and-restore.md
create mode 100644 website/content/en/docs/Getting Started/v0.7.x/configuring-seed-jobs-and-pipelines.md
create mode 100644 website/content/en/docs/Getting Started/v0.7.x/custom-backup-and-restore.md
create mode 100644 website/content/en/docs/Getting Started/v0.7.x/customizing-jenkins.md
create mode 100644 website/content/en/docs/Getting Started/v0.7.x/deploying-jenkins.md
create mode 100644 website/content/en/docs/Getting Started/v0.7.x/installing-the-operator.md
create mode 100644 website/content/en/docs/Getting Started/v0.7.x/ldap.md
create mode 100644 website/content/en/docs/Getting Started/v0.7.x/openshift.md
create mode 100644 website/content/en/docs/Getting Started/v0.7.x/schema.md
create mode 100644 website/content/en/docs/Getting Started/v0.7.x/separate-namespaces.md
diff --git a/website/content/en/docs/Getting Started/_index.md b/website/content/en/docs/Getting Started/_index.md
index 7ef77c3a..b6e5a290 100644
--- a/website/content/en/docs/Getting Started/_index.md
+++ b/website/content/en/docs/Getting Started/_index.md
@@ -2,7 +2,7 @@
title: "Getting Started"
linkTitle: "Getting Started"
weight: 2
-date: 2021-08-19
+date: 2023-06-04
description: >
How to work with Jenkins Operator
---
diff --git a/website/content/en/docs/Getting Started/latest/_index.md b/website/content/en/docs/Getting Started/latest/_index.md
index 736eb379..156dcaee 100644
--- a/website/content/en/docs/Getting Started/latest/_index.md
+++ b/website/content/en/docs/Getting Started/latest/_index.md
@@ -1,19 +1,19 @@
---
-title: "Latest (v0.7.x)"
-linkTitle: "Latest (v0.7.x)"
+title: "Latest (v0.8.x)"
+linkTitle: "Latest (v0.8.x)"
weight: 1
-date: 2021-12-08
+date: 2023-31-05
description: >
How to work with the latest, currently supported Jenkins Operator version.
---
{{% pageinfo %}}
-This document describes a getting started guide for **Jenkins Operator** `v0.7.x` and also additional configuration.
+This document describes a getting started guide for **Jenkins Operator** `v0.8.x` and also additional configuration.
{{% /pageinfo %}}
## First Steps
Prepare your Kubernetes cluster and set up your `kubectl` access.
-Once you have a running Kubernetes cluster you can focus on installing **Jenkins Operator** according to the
+Once you have a running Kubernetes cluster you can focus on installing **Jenkins Operator** according to the
[Installation](/kubernetes-operator/docs/getting-started/latest/installing-the-operator/) guide.
diff --git a/website/content/en/docs/Getting Started/latest/configuring-backup-and-restore.md b/website/content/en/docs/Getting Started/latest/configuring-backup-and-restore.md
index 188cb83c..4809ed17 100644
--- a/website/content/en/docs/Getting Started/latest/configuring-backup-and-restore.md
+++ b/website/content/en/docs/Getting Started/latest/configuring-backup-and-restore.md
@@ -7,8 +7,8 @@ description: >
Prevent loss of job history
---
-> Because of Jenkins Operator's architecture, the configuration of Jenkins should be done using ConfigurationAsCode
-> or GroovyScripts and jobs should be defined as SeedJobs. It means that there is no point in backing up any job configuration
+> Because of Jenkins Operator's architecture, the configuration of Jenkins should be done using ConfigurationAsCode
+> or GroovyScripts and jobs should be defined as SeedJobs. It means that there is no point in backing up any job configuration
> up. Therefore, the backup script makes a copy of jobs history only.
Backup and restore is done by a container sidecar.
@@ -54,7 +54,7 @@ spec:
disableCSRFProtection: false
containers:
- name: jenkins-master
- image: jenkins/jenkins:2.277.4-lts-alpine
+ image: jenkins/jenkins:2.401.1-lts
imagePullPolicy: IfNotPresent
resources:
limits:
@@ -71,7 +71,7 @@ spec:
value: /jenkins-home
- name: BACKUP_COUNT
value: "3" # keep only the 2 most recent backups
- image: virtuslab/jenkins-operator-backup-pvc:v0.1.1 # look at backup/pvc directory
+ image: quay.io/jenkins-kubernetes-operator/backup-pvc:v0.2.3 # look at backup/pvc directory
imagePullPolicy: IfNotPresent
volumeMounts:
- mountPath: /jenkins-home # Jenkins home volume
diff --git a/website/content/en/docs/Getting Started/latest/deploying-jenkins.md b/website/content/en/docs/Getting Started/latest/deploying-jenkins.md
index d00f68c0..0f732824 100644
--- a/website/content/en/docs/Getting Started/latest/deploying-jenkins.md
+++ b/website/content/en/docs/Getting Started/latest/deploying-jenkins.md
@@ -14,7 +14,7 @@ This document describes the procedure for deploying Jenkins.
## Prerequisites
The Operator needs to have been deployed beforehand. The procedure for deploying Jenkins described here doesn't apply to
-installation of Operator via Helm chart unless `jenkins.enabled` was set to false.
+installation of Operator via Helm chart unless `jenkins.enabled` was set to false.
That’s because by default, installation via Helm chart also covers deploying Jenkins.
@@ -43,7 +43,7 @@ spec:
disableCSRFProtection: false
containers:
- name: jenkins-master
- image: jenkins/jenkins:2.319.1-lts-alpine
+ image: jenkins/jenkins:2.401.1-lts
imagePullPolicy: Always
livenessProbe:
failureThreshold: 12
diff --git a/website/content/en/docs/Getting Started/latest/installing-the-operator.md b/website/content/en/docs/Getting Started/latest/installing-the-operator.md
index 81cc0170..9289c6e6 100644
--- a/website/content/en/docs/Getting Started/latest/installing-the-operator.md
+++ b/website/content/en/docs/Getting Started/latest/installing-the-operator.md
@@ -941,7 +941,7 @@ spec:
args:
- --leader-elect
- --validate-security-warnings
- image: virtuslab/jenkins-operator:v0.7.0
+ image: quay.io/jenkins-kubernetes-operator/operator:v0.8.0
name: jenkins-operator
imagePullPolicy: IfNotPresent
securityContext:
diff --git a/website/content/en/docs/Getting Started/latest/openshift.md b/website/content/en/docs/Getting Started/latest/openshift.md
index 610ce015..7048affd 100644
--- a/website/content/en/docs/Getting Started/latest/openshift.md
+++ b/website/content/en/docs/Getting Started/latest/openshift.md
@@ -7,4 +7,6 @@ description: >
Additional configuration for OpenShift
---
-## Release 0.7.0 is not compatible with OpenShift.
\ No newline at end of file
+## Release 0.8.0 is not compatible with jenkins image shipped by redhat in OpenShift.
+
+But probably it will run correctly with the jenkins lts version. If you find any issue please report it here: https://github.com/jenkinsci/kubernetes-operator/issues/826.
diff --git a/website/content/en/docs/Getting Started/latest/separate-namespaces.md b/website/content/en/docs/Getting Started/latest/separate-namespaces.md
index 472df44d..9e2d0fed 100644
--- a/website/content/en/docs/Getting Started/latest/separate-namespaces.md
+++ b/website/content/en/docs/Getting Started/latest/separate-namespaces.md
@@ -281,7 +281,7 @@ spec:
- /manager
args:
- --leader-elect
- image: virtuslab/jenkins-operator:v0.7.0
+ image: image: quay.io/jenkins-kubernetes-operator/operator:v0.8.0
name: jenkins-operator
imagePullPolicy: IfNotPresent
securityContext:
@@ -536,7 +536,7 @@ spec:
disableCSRFProtection: false
containers:
- name: jenkins-master
- image: jenkins/jenkins:2.319.1-lts-alpine
+ image: jenkins/jenkins:2.401.1-lts
imagePullPolicy: Always
livenessProbe:
failureThreshold: 12
diff --git a/website/content/en/docs/Getting Started/v0.7.x/_index.md b/website/content/en/docs/Getting Started/v0.7.x/_index.md
new file mode 100644
index 00000000..266b4f21
--- /dev/null
+++ b/website/content/en/docs/Getting Started/v0.7.x/_index.md
@@ -0,0 +1,19 @@
+---
+title: "Latest (v0.8.x)"
+linkTitle: "Latest (v0.8.x)"
+weight: 1
+date: 2021-12-08
+description: >
+ How to work with the latest, currently supported Jenkins Operator version.
+---
+
+{{% pageinfo %}}
+This document describes a getting started guide for **Jenkins Operator** `v0.8.x` and also additional configuration.
+{{% /pageinfo %}}
+
+## First Steps
+
+Prepare your Kubernetes cluster and set up your `kubectl` access.
+
+Once you have a running Kubernetes cluster you can focus on installing **Jenkins Operator** according to the
+[Installation](/kubernetes-operator/docs/getting-started/latest/installing-the-operator/) guide.
diff --git a/website/content/en/docs/Getting Started/v0.7.x/aks.md b/website/content/en/docs/Getting Started/v0.7.x/aks.md
new file mode 100644
index 00000000..5422a1c4
--- /dev/null
+++ b/website/content/en/docs/Getting Started/v0.7.x/aks.md
@@ -0,0 +1,24 @@
+---
+title: "AKS"
+linkTitle: "AKS"
+weight: 8
+date: 2021-12-08
+description: >
+ Additional configuration for Azure Kubernetes Service
+---
+
+Azure AKS managed Kubernetes service adds to every pod the following environment variables:
+
+```yaml
+- name: KUBERNETES_PORT_443_TCP_ADDR
+ value:
+- name: KUBERNETES_PORT
+ value: tcp://
+- name: KUBERNETES_PORT_443_TCP
+ value: tcp://
+- name: KUBERNETES_SERVICE_HOST
+ value:
+```
+
+The operator is aware of it and omits these environment variables when checking if a Jenkins pod environment has been changed. It prevents the
+restart of a Jenkins pod over and over again.
diff --git a/website/content/en/docs/Getting Started/v0.7.x/configuring-backup-and-restore.md b/website/content/en/docs/Getting Started/v0.7.x/configuring-backup-and-restore.md
new file mode 100644
index 00000000..0ca8e54c
--- /dev/null
+++ b/website/content/en/docs/Getting Started/v0.7.x/configuring-backup-and-restore.md
@@ -0,0 +1,111 @@
+---
+title: "Configuring backup and restore"
+linkTitle: "Configuring backup and restore"
+weight: 5
+date: 2023-01-08
+description: >
+ Prevent loss of job history
+---
+
+> Because of Jenkins Operator's architecture, the configuration of Jenkins should be done using ConfigurationAsCode
+> or GroovyScripts and jobs should be defined as SeedJobs. It means that there is no point in backing up any job configuration
+> up. Therefore, the backup script makes a copy of jobs history only.
+
+Backup and restore is done by a container sidecar.
+
+### PVC
+
+#### Create PVC
+
+Save to the file named pvc.yaml:
+```yaml
+apiVersion: v1
+kind: PersistentVolumeClaim
+metadata:
+ name: operator is section for configuring operator deployment
+
+
+Backup
+
+
+
+
+
+Configuration
+
+
+ operator is section for configuring operator deployment
+(Appears on:
+JenkinsConfiguration)
+
+Backup defines configuration of Jenkins backup.
+ Persistent Volume Claim Kubernetes resource
+ (Appears on:
+ Jenkins instance configuration)
+ Packages:
+ Package v1alpha2 contains API Schema definitions for the jenkins.io v1alpha2 API groupJenkins instance configuration
+
+
+
+
+
+
+### Configuring operator deployment
+
+
+
+
+
+
+ Field
+Default value
+Description
+
+
+
+
+
+
+jenkins
+
+
+
+
+
+
+
+
+enabled
+
+true
+
+
+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.
+
+
+
+
+
+apiVersion
+jenkins.io/v1alpha2
+
+Version of the CR manifest. The recommended and default value is
+jenkins.io/v1alpha2.
+More info
+
+
+
+
+name
+
+jenkins
+
+
+Name of resource. The pod name will be
+jenkins-<name> (name will be set as suffix).
+
+
+
+
+namespace
+
+default
+
+
+Namespace the resources will be deployed to. It's not recommended to use default namespace.
+Create new namespace for jenkins (e.g.
+kubectl create -n jenkins)
+
+
+
+
+labels
+
+{}
+
+
+Labels are injected into metadata labels field.
+
+
+
+
+
+annotations
+
+{}
+
+
+Annotations are injected into metadata annotations field.
+
+
+
+
+
+image
+
+jenkins/jenkins:lts
+
+
+Image is the name (and tag) of the Jenkins instance.
+It's recommended to use LTS (tag: "lts") version.
+
+
+
+
+
+env
+
+[]
+
+
+Env contains jenkins container environment variables.
+
+
+
+
+
+imagePullPolicy
+
+Always
+
+
+Defines policy for pulling images
+
+
+
+
+
+priorityClassName
+
+""
+
+
+PriorityClassName indicates the importance of a Pod relative to other Pods.
+More info
+
+
+
+
+
+disableCSRFProtection
+
+false
+
+
+disableCSRFProtection can enable or disable operator built-in CSRF protection.
+Set it to true if you are using OpenShift Jenkins Plugin.
+More info
+
+
+
+
+
+imagePullSecrets
+
+[]
+
+
+Used if you want to pull images from private repository
+More info
+
+
+
+
+
+notifications
+
+[]
+
+
+Notifications is feature that notify user about Jenkins reconciliation status
+More info
+
+
+
+
+
+basePlugins
+
+
+
+- name: kubernetes
+ version: "1.25.2"
+- name: workflow-job
+ version: "2.39"
+- name: workflow-aggregator
+ version: "2.6"
+- name: git
+ version: "4.2.2"
+- name: job-dsl
+ version: "1.77"
+- name: configuration-as-code
+ version: "1.38"
+- name: kubernetes-credentials
+ -provider
+ version: "0.13"
+
+
+Plugins installed and required by the operator
+shouldn't contain plugins defined by user
+You can change their versions here
+More info
+
+
+
+
+
+plugins
+
+[]
+
+
+Plugins required by the user. You can define plugins here.
+More info
+Example:
+
+
+plugins:
+ - name: simple-theme-plugin
+ version: 0.5.1
+
+
+
+
+
+seedJobs
+
+[]
+
+
+Placeholder for jenkins seed jobs
+For seed job creation tutorial, check:
+
Prepare seed jobs
+
Configure seed jobs
+
Example:
+
+
+
+seedJobs:
+- id: jenkins-operator
+ targets: "cicd/jobs/*.jenkins"
+ description: "Jenkins Operator repository"
+ repositoryBranch: master
+ repositoryUrl:
+ - https://github.com/jenkinsci/kubernetes-operator.git
+
+
+
+
+
+resources
+
+
+
+limits:
+ cpu: 1500m
+ memory: 3Gi
+requests:
+ cpu: 1
+ memory: 500M
+
+
+Resource limit/request for Jenkins
+More info
+
+
+
+
+
+volumes
+
+
+
+- name: backup
+ persistentVolumeClaim:
+ claimName: jenkins-backup
+
+
+Volumes used by Jenkins
+By default, we are only using PVC volume for storing backups.
+
+
+
+
+
+volumeMounts
+
+[]
+
+
+volumeMounts are mounts for Jenkins pod.
+
+
+
+
+
+securityContext
+
+runAsUser: 1000
+fsGroup: 1000
+
+
+SecurityContext for pod.
+
+
+
+
+servicenot implemented
+Http Jenkins service. See https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/latest/schema/#github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.Service for details.
+
+
+
+slaveServicenot implemented
+Slave Jenkins service. See https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/latest/schema/#github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.Service for details.
+
+
+
+
+livenessProbe
+
+
+
+livenessProbe:
+ failureThreshold: 12
+ httpGet:
+ path: /login
+ port: http
+ scheme: HTTP
+ initialDelaySeconds: 80
+ periodSeconds: 10
+ successThreshold: 1
+ timeoutSeconds: 5
+
+
+livenessProbe for Pod
+
+
+
+
+
+readinessProbe
+
+
+
+readinessProbe:
+ failureThreshold: 3
+ httpGet:
+ path: /login
+ port: http
+ scheme: HTTP
+ initialDelaySeconds: 30
+ periodSeconds: 10
+ successThreshold: 1
+ timeoutSeconds: 1
+
+
+readinessProbe for Pod
+
+
+
+
+
+
+backup
+
+
+
+
+Backup is section for configuring operator's backup feature
+By default backup feature is enabled and pre-configured
+This section simplifies the configuration described here: Configuring backup and restore
+For customization tips see Custom backup and restore
+
+
+
+
+
+configuration
+
+
+Section where we can configure Jenkins instance.
+See Customizing Jenkins for details
+
+
+
+
+
+
+
+
+
+
+
+
+ Field
+ Default value
+ Description
+
+
+
+
+
+
+ operator
+
+
+
+
+
+
+
+
+ replicaCount
+
+ 1
+
+
+ Number of Replicas.
+
+
+
+
+
+ image
+
+ virtuslab/jenkins-operator:v0.4.0
+
+
+ Name (and tag) of the Jenkins Operator image.
+
+
+
+
+
+ imagePullPolicy
+
+ IfNotPresent
+
+
+ Defines policy for pulling images.
+
+
+
+
+
+ imagePullSecrets
+
+ []
+
+
+ Used if you want to pull images from private repository.
+
+
+
+
+
+ nameOverride
+
+ ""
+
+
+ nameOverride overrides the app name.
+
+
+
+
+
+ fullnameOverride
+
+ ""
+
+
+ fullnameOverride overrides the deployment name
+
+
+
+
+
+ resources
+
+ {}
+
+
+
+
+
+
+
+ nodeSelector
+
+ {}
+
+
+
+
+
+
+
+ tolerations
+
+ {}
+
+
+
+
+
+
+
+ affinity
+
+ {}
+
+
+
+ Backup
+
+
+
+
+
+
+
+
+
+ Field
+Default value
+Description
+
+
+
+
+ enabled
+
+ true
+
+
+ Enabled is enable/disable switch for backup feature.
+
+
+
+
+
+ image
+
+ virtuslab/jenkins-operator-backup-pvc:v0.1.1
+
+
+ Image used by backup feature.
+
+
+
+
+
+ containerName
+
+ backup
+
+
+ Backup container name.
+
+
+
+
+
+ interval
+
+ 30
+
+
+ Defines how often make backup in seconds.
+
+
+
+
+
+ makeBackupBeforePodDeletion
+
+ true
+
+
+ When enabled will make backup before pod deletion.
+
+
+
+
+
+ backupCommand
+
+ /home/user/bin/backup.sh
+
+
+ Backup container command.
+
+
+
+
+
+ restoreCommand
+
+ /home/user/bin/restore.sh
+
+
+ Backup restore command.
+
+
+
+
+
+ pvc
+
+
+
+
+
+
+
+
+
+
+ enabled
+
+ true
+
+
+ Enable/disable switch for PVC
+
+
+
+
+
+ enabled
+
+ true
+
+
+ Enable/disable switch for PVC
+
+
+
+
+
+ size
+
+ 5Gi
+
+
+ Size of PVC
+
+
+
+
+
+
+ className
+
+ ""
+
+
+ StorageClassName for PVC
+ More info
+
+
+
+
+
+ env
+
+
+
+- name: BACKUP_DIR
+ value: /backup
+- name: JENKINS_HOME
+ value: /jenkins-home
+- name: BACKUP_COUNT
+ value: "3"
+
+
+ Contains container environment variables.
+ PVC backup provider handles these variables:
+
+
+ BACKUP_DIR - path for storing backup files (default: "/backup")
+ JENKINS_HOME - path to jenkins home (default: "/jenkins-home")
+ BACKUP_COUNT - define how much recent backups will be kept
+
+
+
+
+
+ volumeMounts
+
+
+
+- name: jenkins-home
+ mountPath: /jenkins-home
+- mountPath: /backup
+ name: backup
+
+
+ Holds the mount points for volumes.
+
+ Configuration
+
+
+
+
+
+## Note on Operator's nightly built images
+If you wish to use the newest, not yet released version of the Operator, you can use one of nightly built snapshot images, however the maintainers of this project cannot guarantee their stability.
+
+You can find nightly built images by heading to [virtuslab/jenkins-operator](https://hub.docker.com/r/virtuslab/jenkins-operator) Docker Hub repository and looking for images with tag in the form of `{git-hash}`, {git-hash} being the hash of master branch commit that you want to use snapshot of.
+
+## 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 prerequisites of this is an ephemeral Jenkins home directory. To achieve that, Operator mounts emptyDir Volume
+(jenkins-home) as Jenkins home directory.
+It is not possible to overwrite volumeMount and specify any other Volume for Jenkins home directory,
+as attempting to do so will result in Operator error.
+
+jenkins-home is not the only Jenkins controller pod volumeMount that is non-configurable and managed by Operator,
+below is the full list of those volumeMounts:
+
+* jenkins-home
+* scripts
+* init-configuration
+* operator-credentials
+
+## 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.
+
+
+**Note**: The webhook takes some time to get up and running. It's recommended to first deploy the Operator and later Jenkins Custom Resource by using toggles in `values.yaml`.
+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
+```
+
+It takes some time to get cert-manager up and running.
+Then, install the webhook and other required resources:
+
+```bash
+kubectl apply -f https://raw.githubusercontent.com/jenkinsci/kubernetes-operator/master/deploy/all-in-one-webhook.yaml
+```
+
+Now, download the manifests for the operator and other resources from [here](https://raw.githubusercontent.com/jenkinsci/kubernetes-operator/master/deploy/all-in-one-v1alpha2.yaml) and provide these additional fields in the Operator manifest:
+
+
+
+
+
+ Field
+ Default value
+ Description
+
+
+
+
+ configurationAsCode
+
+ {}
+
+
+ ConfigurationAsCode defines configuration of Jenkins customization via Configuration as Code Jenkins plugin.
+Example:
+
+
+- configMapName: jenkins-casc
+ content: {}
+
+
+
+
+
+ groovyScripts
+
+ {}
+
+
+ GroovyScripts defines configuration of Jenkins customization via groovy scripts.
+ Example:
+
+
+- configMapName: jenkins-gs
+ content: {}
+
+
+
+
+
+ secretRefName
+
+ ""
+
+
+ secretRefName of existing secret (previously created).
+
+
+
+
+
+
+ secretData
+
+ {}
+
+
+ If secretRefName is empty, secretData creates new secret and fills with data provided in secretData.
+
+
+
+
+To enable security validation in the Jenkins Custom Resource, set
+
+>jenkins.ValidateSecurityWarnings=true
diff --git a/website/content/en/docs/Getting Started/v0.7.x/ldap.md b/website/content/en/docs/Getting Started/v0.7.x/ldap.md
new file mode 100644
index 00000000..ca2b1179
--- /dev/null
+++ b/website/content/en/docs/Getting Started/v0.7.x/ldap.md
@@ -0,0 +1,127 @@
+---
+title: "LDAP"
+linkTitle: "LDAP"
+weight: 9
+date: 2021-12-08
+description: >
+ Additional configuration for LDAP
+---
+
+Configuring LDAP is not supported out of the box, but can be achieved through
+plugins and some well tuned configurations.
+
+The plugin we will use is:
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: jenkins-operator
+ labels:
+ control-plane: controller-manager
+spec:
+ selector:
+ matchLabels:
+ control-plane: controller-manager
+ replicas: 1
+ template:
+ metadata:
+ labels:
+ control-plane: controller-manager
+ spec:
+ serviceAccountName: jenkins-operator
+ securityContext:
+ runAsUser: 65532
+ containers:
+ - command:
+ - /manager
+ args:
+ - --leader-elect
+ - --validate-security-warnings
+ image: virtuslab/jenkins-operator:v0.7.0
+ name: jenkins-operator
+ imagePullPolicy: IfNotPresent
+ securityContext:
+ allowPrivilegeEscalation: false
+ livenessProbe:
+ httpGet:
+ path: /healthz
+ port: 8081
+ initialDelaySeconds: 15
+ periodSeconds: 20
+ readinessProbe:
+ httpGet:
+ path: /readyz
+ port: 8081
+ initialDelaySeconds: 5
+ periodSeconds: 10
+ resources:
+ limits:
+ cpu: 200m
+ memory: 100Mi
+ requests:
+ cpu: 100m
+ memory: 20Mi
+ env:
+ - name: WATCH_NAMESPACE
+ valueFrom:
+ fieldRef:
+ fieldPath: metadata.namespace
+ volumeMounts:
+ - mountPath: /tmp/k8s-webhook-server/serving-certs
+ name: webhook-certs
+ readOnly: true
+ volumes:
+ - name: webhook-certs
+ secret:
+ defaultMode: 420
+ secretName: jenkins-webhook-certificate
+ terminationGracePeriodSeconds: 10
+
+
+
+jenkins.io
+
+
Jenkins is the Schema for the jenkins API
+ +| Field | +Description | +||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
+apiVersion
+string |
+
+
+jenkins.io/v1alpha2
+
+ |
+||||||||||||||||||||||||||
+kind
+string
+ |
+Jenkins |
+||||||||||||||||||||||||||
+metadata
+
+
+Kubernetes meta/v1.ObjectMeta
+
+
+ |
+
+Refer to the Kubernetes API documentation for the fields of the
+metadata field.
+ |
+||||||||||||||||||||||||||
+spec
+
+
+JenkinsSpec
+
+
+ |
+
+ Spec defines the desired state of the Jenkins ++ +
|
+||||||||||||||||||||||||||
+status
+
+
+JenkinsStatus
+
+
+ |
+
+ Status defines the observed state of Jenkins + |
+
+(Appears on: +JenkinsStatus) +
++
AppliedGroovyScript is the applied groovy script in Jenkins by the operator.
+ +| Field | +Description | +
|---|---|
+configurationType
+
+string
+
+ |
+
+ ConfigurationType is the name of the configuration type(base-groovy, user-groovy, user-casc) + |
+
+source
+
+string
+
+ |
+
+ Source is the name of source where is located groovy script + |
+
+name
+
+string
+
+ |
+
+ Name is the name of the groovy script + |
+
+hash
+
+string
+
+ |
+
+ Hash is the hash of the groovy script and secrets which it uses + |
+
string alias)+(Appears on: +JenkinsAPISettings) +
++
AuthorizationStrategy defines authorization strategy of the operator for the Jenkins API
+ ++(Appears on: +JenkinsSpec) +
++
Backup defines configuration of Jenkins backup.
+ +| Field | +Description | +
|---|---|
+containerName
+
+string
+
+ |
+
+ ContainerName is the container name responsible for backup operation + |
+
+action
+
+
+Handler
+
+
+ |
+
+ Action defines action which performs backup in backup container sidecar + |
+
+interval
+
+uint64
+
+ |
+
+ Interval tells how often make backup in seconds +Defaults to 30. + |
+
+makeBackupBeforePodDeletion
+
+bool
+
+ |
+
+ MakeBackupBeforePodDeletion tells operator to make backup before Jenkins master pod deletion + |
+
+(Appears on: +Customization) +
++
ConfigMapRef is reference to Kubernetes ConfigMap.
+ +| Field | +Description | +
|---|---|
+name
+
+string
+
+ |
++ | +
+(Appears on: +JenkinsSpec) +
++
ConfigurationAsCode defines configuration of Jenkins customization via Configuration as Code Jenkins plugin.
+ +| Field | +Description | +
|---|---|
+Customization
+
+
+Customization
+
+
+ |
+
+
+(Members of |
+
+(Appears on: +JenkinsMaster) +
++
Container defines Kubernetes container attributes.
+ +| Field | +Description | +
|---|---|
+name
+
+string
+
+ |
+
+ Name of the container specified as a DNS_LABEL. +Each container in a pod must have a unique name (DNS_LABEL). + |
+
+image
+
+string
+
+ |
+
+ Docker image name. +More info: https://kubernetes.io/docs/concepts/containers/images + |
+
+imagePullPolicy
+
+
+Kubernetes core/v1.PullPolicy
+
+
+ |
+
+ Image pull policy. +One of Always, Never, IfNotPresent. +Defaults to Always. + |
+
+resources
+
+
+Kubernetes core/v1.ResourceRequirements
+
+
+ |
+
+ Compute Resources required by this container. +More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/ + |
+
+command
+
+[]string
+
+ |
+
+(Optional)
+ Entrypoint array. Not executed within a shell. +The docker image’s ENTRYPOINT is used if this is not provided. +Variable references $(VAR_NAME) are expanded using the container’s environment. If a variable +cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax +can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, +regardless of whether the variable exists or not. +More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell + |
+
+args
+
+[]string
+
+ |
+
+(Optional)
+ Arguments to the entrypoint. +The docker image’s CMD is used if this is not provided. +Variable references $(VAR_NAME) are expanded using the container’s environment. If a variable +cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax +can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, +regardless of whether the variable exists or not. +More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell + |
+
+workingDir
+
+string
+
+ |
+
+(Optional)
+ Container’s working directory. +If not specified, the container runtime’s default will be used, which +might be configured in the container image. + |
+
+ports
+
+
+[]Kubernetes core/v1.ContainerPort
+
+
+ |
+
+(Optional)
+ List of ports to expose from the container. Exposing a port here gives +the system additional information about the network connections a +container uses, but is primarily informational. Not specifying a port here +DOES NOT prevent that port from being exposed. Any port which is +listening on the default “0.0.0.0” address inside a container will be +accessible from the network. + |
+
+envFrom
+
+
+[]Kubernetes core/v1.EnvFromSource
+
+
+ |
+
+(Optional)
+ List of sources to populate environment variables in the container. +The keys defined within a source must be a C_IDENTIFIER. All invalid keys +will be reported as an event when the container is starting. When a key exists in multiple +sources, the value associated with the last source will take precedence. +Values defined by an Env with a duplicate key will take precedence. + |
+
+env
+
+
+[]Kubernetes core/v1.EnvVar
+
+
+ |
+
+(Optional)
+ List of environment variables to set in the container. + |
+
+volumeMounts
+
+
+[]Kubernetes core/v1.VolumeMount
+
+
+ |
+
+(Optional)
+ Pod volumes to mount into the container’s filesystem. + |
+
+livenessProbe
+
+
+Kubernetes core/v1.Probe
+
+
+ |
+
+(Optional)
+ Periodic probe of container liveness. +Container will be restarted if the probe fails. + |
+
+readinessProbe
+
+
+Kubernetes core/v1.Probe
+
+
+ |
+
+(Optional)
+ Periodic probe of container service readiness. +Container will be removed from service endpoints if the probe fails. + |
+
+lifecycle
+
+
+Kubernetes core/v1.Lifecycle
+
+
+ |
+
+(Optional)
+ Actions that the management system should take in response to container lifecycle events. + |
+
+securityContext
+
+
+Kubernetes core/v1.SecurityContext
+
+
+ |
+
+(Optional)
+ Security options the pod should run with. +More info: https://kubernetes.io/docs/concepts/policy/security-context/ +More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ + |
+
+(Appears on: +ConfigurationAsCode, +GroovyScripts) +
++
Customization defines configuration of Jenkins customization.
+ +| Field | +Description | +
|---|---|
+secret
+
+
+SecretRef
+
+
+ |
++ | +
+configurations
+
+
+[][]github.com/jenkinsci/kubernetes-operator/api/v1alpha2.ConfigMapRef
+
+
+ |
++ | +
+(Appears on: +JenkinsSpec) +
++
GroovyScripts defines configuration of Jenkins customization via groovy scripts.
+ +| Field | +Description | +
|---|---|
+Customization
+
+
+Customization
+
+
+ |
+
+
+(Members of |
+
+(Appears on: +Backup, +Restore) +
++
Handler defines a specific action that should be taken.
+ +| Field | +Description | +
|---|---|
+exec
+
+
+Kubernetes core/v1.ExecAction
+
+
+ |
+
+ Exec specifies the action to take. + |
+
+(Appears on: +JenkinsSpec) +
++
JenkinsAPISettings defines configuration used by the operator to gain admin access to the Jenkins API
+ +| Field | +Description | +
|---|---|
+authorizationStrategy
+
+
+AuthorizationStrategy
+
+
+ |
++ | +
string alias)+(Appears on: +SeedJob) +
++
JenkinsCredentialType defines type of Jenkins credential used to seed job mechanism.
+ ++(Appears on: +JenkinsSpec) +
++
JenkinsMaster defines the Jenkins master pod attributes and plugins, +every single change requires a Jenkins master pod restart.
+ +| Field | +Description | +
|---|---|
+annotations
+
+map[string]string
+
+ |
+
+(Optional)
+ Annotations is an unstructured key value map stored with a resource that may be +set by external tools to store and retrieve arbitrary metadata. They are not +queryable and should be preserved when modifying objects. +More info: http://kubernetes.io/docs/user-guide/annotations + |
+
+labels
+
+map[string]string
+
+ |
+
+(Optional)
+ Map of string keys and values that can be used to organize and categorize +(scope and select) objects. May match selectors of replication controllers +and services. +More info: http://kubernetes.io/docs/user-guide/labels + |
+
+nodeSelector
+
+map[string]string
+
+ |
+
+(Optional)
+ NodeSelector is a selector which must be true for the pod to fit on a node. +Selector which must match a node’s labels for the pod to be scheduled on that node. +More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/ + |
+
+securityContext
+
+
+Kubernetes core/v1.PodSecurityContext
+
+
+ |
+
+(Optional)
+ SecurityContext that applies to all the containers of the Jenkins +Master. As per kubernetes specification, it can be overridden +for each container individually. +Defaults to: +runAsUser: 1000 +fsGroup: 1000 + |
+
+containers
+
+
+[][]github.com/jenkinsci/kubernetes-operator/api/v1alpha2.Container
+
+
+ |
+
+(Optional)
+ List of containers belonging to the pod. +Containers cannot currently be added or removed. +There must be at least one container in a Pod. +Defaults to: +- image: jenkins/jenkins:lts +imagePullPolicy: Always +livenessProbe: +failureThreshold: 12 +httpGet: +path: /login +port: http +scheme: HTTP +initialDelaySeconds: 80 +periodSeconds: 10 +successThreshold: 1 +timeoutSeconds: 5 +name: jenkins-master +readinessProbe: +failureThreshold: 3 +httpGet: +path: /login +port: http +scheme: HTTP +initialDelaySeconds: 30 +periodSeconds: 10 +successThreshold: 1 +timeoutSeconds: 1 +resources: +limits: +cpu: 1500m +memory: 3Gi +requests: +cpu: “1” +memory: 600Mi + |
+
+imagePullSecrets
+
+
+[]Kubernetes core/v1.LocalObjectReference
+
+
+ |
+
+(Optional)
+ ImagePullSecrets is an optional list of references to secrets in the same namespace to use for pulling any of the images used by this PodSpec. +If specified, these secrets will be passed to individual puller implementations for them to use. For example, +in the case of docker, only DockerConfig type secrets are honored. +More info: https://kubernetes.io/docs/concepts/containers/images#specifying-imagepullsecrets-on-a-pod + |
+
+volumes
+
+
+[]Kubernetes core/v1.Volume
+
+
+ |
+
+(Optional)
+ List of volumes that can be mounted by containers belonging to the pod. +More info: https://kubernetes.io/docs/concepts/storage/volumes + |
+
+tolerations
+
+
+[]Kubernetes core/v1.Toleration
+
+
+ |
+
+(Optional)
+ If specified, the pod’s tolerations. + |
+
+basePlugins
+
+
+[][]github.com/jenkinsci/kubernetes-operator/api/v1alpha2.Plugin
+
+
+ |
+
+(Optional)
+ BasePlugins contains plugins required by operator +Defaults to : +- name: kubernetes +version: “1.30.11” +- name: workflow-job +version: “2.42” +- name: workflow-aggregator +version: “2.6” +- name: git +version: “4.10.0” +- name: job-dsl +version: “1.78.1” +- name: configuration-as-code +version: “1.55” +- name: kubernetes-credentials-provider +version: “0.20” + |
+
+plugins
+
+
+[][]github.com/jenkinsci/kubernetes-operator/api/v1alpha2.Plugin
+
+
+ |
+
+(Optional)
+ Plugins contains plugins required by user + |
+
+disableCSRFProtection
+
+bool
+
+ |
+
+ DisableCSRFProtection allows you to toggle CSRF Protection on Jenkins + |
+
+priorityClassName
+
+string
+
+ |
+
+(Optional)
+ PriorityClassName for Jenkins master pod + |
+
+hostAliases
+
+
+[]Kubernetes core/v1.HostAlias
+
+
+ |
+
+(Optional)
+ HostAliases for Jenkins master pod and SeedJob agent + |
+
+(Appears on: +Jenkins) +
++
JenkinsSpec defines the desired state of Jenkins
+ +| Field | +Description | +
|---|---|
+master
+
+
+JenkinsMaster
+
+
+ |
+
+ Master represents Jenkins master pod properties and Jenkins plugins. +Every single change here requires a pod restart. + |
+
+seedJobs
+
+
+[][]github.com/jenkinsci/kubernetes-operator/api/v1alpha2.SeedJob
+
+
+ |
+
+(Optional)
+ SeedJobs defines list of Jenkins Seed Job configurations +More info: https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/latest/configuration#configure-seed-jobs-and-pipelines + |
+
+validateSecurityWarnings
+
+bool
+
+ |
+
+(Optional)
+ ValidateSecurityWarnings enables or disables validating potential security warnings in Jenkins plugins via admission webhooks. + |
+
+notifications
+
+
+[][]github.com/jenkinsci/kubernetes-operator/api/v1alpha2.Notification
+
+
+ |
+
+(Optional)
+ Notifications defines list of a services which are used to inform about Jenkins status +Can be used to integrate chat services like Slack, Microsoft Teams or Mailgun + |
+
+service
+
+
+Service
+
+
+ |
+
+(Optional)
+ Service is Kubernetes service of Jenkins master HTTP pod +Defaults to : +port: 8080 +type: ClusterIP + |
+
+slaveService
+
+
+Service
+
+
+ |
+
+(Optional)
+ Service is Kubernetes service of Jenkins slave pods +Defaults to : +port: 50000 +type: ClusterIP + |
+
+backup
+
+
+Backup
+
+
+ |
+
+(Optional)
+ Backup defines configuration of Jenkins backup +More info: https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/latest/configure-backup-and-restore/ + |
+
+restore
+
+
+Restore
+
+
+ |
+
+(Optional)
+ Backup defines configuration of Jenkins backup restore +More info: https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/latest/configure-backup-and-restore/ + |
+
+groovyScripts
+
+
+GroovyScripts
+
+
+ |
+
+(Optional)
+ GroovyScripts defines configuration of Jenkins customization via groovy scripts + |
+
+configurationAsCode
+
+
+ConfigurationAsCode
+
+
+ |
+
+(Optional)
+ ConfigurationAsCode defines configuration of Jenkins customization via Configuration as Code Jenkins plugin + |
+
+roles
+
+
+[]Kubernetes rbac/v1.RoleRef
+
+
+ |
+
+(Optional)
+ Roles defines list of extra RBAC roles for the Jenkins Master pod service account + |
+
+serviceAccount
+
+
+ServiceAccount
+
+
+ |
+
+(Optional)
+ ServiceAccount defines Jenkins master service account attributes + |
+
+jenkinsAPISettings
+
+
+JenkinsAPISettings
+
+
+ |
+
+ JenkinsAPISettings defines configuration used by the operator to gain admin access to the Jenkins API + |
+
+(Appears on: +Jenkins) +
++
JenkinsStatus defines the observed state of Jenkins
+ +| Field | +Description | +
|---|---|
+operatorVersion
+
+string
+
+ |
+
+(Optional)
+ OperatorVersion is the operator version which manages this CR + |
+
+provisionStartTime
+
+
+Kubernetes meta/v1.Time
+
+
+ |
+
+(Optional)
+ ProvisionStartTime is a time when Jenkins master pod has been created + |
+
+baseConfigurationCompletedTime
+
+
+Kubernetes meta/v1.Time
+
+
+ |
+
+(Optional)
+ BaseConfigurationCompletedTime is a time when Jenkins base configuration phase has been completed + |
+
+userConfigurationCompletedTime
+
+
+Kubernetes meta/v1.Time
+
+
+ |
+
+(Optional)
+ UserConfigurationCompletedTime is a time when Jenkins user configuration phase has been completed + |
+
+restoredBackup
+
+uint64
+
+ |
+
+(Optional)
+ RestoredBackup is the restored backup number after Jenkins master pod restart + |
+
+lastBackup
+
+uint64
+
+ |
+
+(Optional)
+ LastBackup is the latest backup number + |
+
+pendingBackup
+
+uint64
+
+ |
+
+(Optional)
+ PendingBackup is the pending backup number + |
+
+backupDoneBeforePodDeletion
+
+bool
+
+ |
+
+(Optional)
+ BackupDoneBeforePodDeletion tells if backup before pod deletion has been made + |
+
+userAndPasswordHash
+
+string
+
+ |
+
+(Optional)
+ UserAndPasswordHash is a SHA256 hash made from user and password + |
+
+createdSeedJobs
+
+[]string
+
+ |
+
+(Optional)
+ CreatedSeedJobs contains list of seed job id already created in Jenkins + |
+
+appliedGroovyScripts
+
+
+[][]github.com/jenkinsci/kubernetes-operator/api/v1alpha2.AppliedGroovyScript
+
+
+ |
+
+(Optional)
+ AppliedGroovyScripts is a list with all applied groovy scripts in Jenkins by the operator + |
+
+(Appears on: +Notification) +
++
Mailgun is handler for Mailgun email service notification channel.
+ +| Field | +Description | +
|---|---|
+domain
+
+string
+
+ |
++ | +
+apiKeySecretKeySelector
+
+
+SecretKeySelector
+
+
+ |
++ | +
+recipient
+
+string
+
+ |
++ | +
+from
+
+string
+
+ |
++ | +
+(Appears on: +Notification) +
++
MicrosoftTeams is handler for Microsoft MicrosoftTeams notification channel.
+ +| Field | +Description | +
|---|---|
+webHookURLSecretKeySelector
+
+
+SecretKeySelector
+
+
+ |
+
+ The web hook URL to MicrosoftTeams App + |
+
+(Appears on: +JenkinsSpec) +
++
Notification is a service configuration used to send notifications about Jenkins status.
+ +| Field | +Description | +
|---|---|
+level
+
+
+NotificationLevel
+
+
+ |
++ | +
+verbose
+
+bool
+
+ |
++ | +
+name
+
+string
+
+ |
++ | +
+slack
+
+
+github.com/jenkinsci/kubernetes-operator/api/v1alpha2.Slack
+
+
+ |
++ | +
+teams
+
+
+github.com/jenkinsci/kubernetes-operator/api/v1alpha2.MicrosoftTeams
+
+
+ |
++ | +
+mailgun
+
+
+github.com/jenkinsci/kubernetes-operator/api/v1alpha2.Mailgun
+
+
+ |
++ | +
+smtp
+
+
+github.com/jenkinsci/kubernetes-operator/api/v1alpha2.SMTP
+
+
+ |
++ | +
string alias)+(Appears on: +Notification) +
++
NotificationLevel defines the level of a Notification.
+ ++(Appears on: +JenkinsMaster) +
++
Plugin defines Jenkins plugin.
+ +| Field | +Description | +
|---|---|
+name
+
+string
+
+ |
+
+ Name is the name of Jenkins plugin + |
+
+version
+
+string
+
+ |
+
+ Version is the version of Jenkins plugin + |
+
+downloadURL
+
+string
+
+ |
+
+ DownloadURL is the custom url from where plugin has to be downloaded. + |
+
+
+| Field | +Description | +
|---|---|
+Version
+
+string
+
+ |
++ | +
+Kind
+
+string
+
+ |
++ | +
+(Appears on: +PluginsInfo) +
++
+| Field | +Description | +
|---|---|
+name
+
+string
+
+ |
++ | +
+securityWarnings
+
+
+[][]github.com/jenkinsci/kubernetes-operator/api/v1alpha2.Warning
+
+
+ |
++ | +
+(Appears on: +SecurityValidator) +
++
+| Field | +Description | +
|---|---|
+plugins
+
+
+[][]github.com/jenkinsci/kubernetes-operator/api/v1alpha2.PluginInfo
+
+
+ |
++ | +
+(Appears on: +JenkinsSpec) +
++
Restore defines configuration of Jenkins backup restore operation.
+ +| Field | +Description | +
|---|---|
+containerName
+
+string
+
+ |
+
+ ContainerName is the container name responsible for restore backup operation + |
+
+action
+
+
+Handler
+
+
+ |
+
+ Action defines action which performs restore backup in restore container sidecar + |
+
+getLatestAction
+
+
+Handler
+
+
+ |
+
+(Optional)
+ GetLatestAction defines action which returns the latest backup number. If there is no backup “-1” should be +returned. + |
+
+recoveryOnce
+
+uint64
+
+ |
+
+(Optional)
+ RecoveryOnce if want to restore specific backup set this field and then Jenkins will be restarted and desired backup will be restored + |
+
+(Appears on: +Notification) +
++
SMTP is handler for sending emails via this protocol.
+ +| Field | +Description | +
|---|---|
+usernameSecretKeySelector
+
+
+SecretKeySelector
+
+
+ |
++ | +
+passwordSecretKeySelector
+
+
+SecretKeySelector
+
+
+ |
++ | +
+port
+
+int
+
+ |
++ | +
+server
+
+string
+
+ |
++ | +
+tlsInsecureSkipVerify
+
+bool
+
+ |
++ | +
+from
+
+string
+
+ |
++ | +
+to
+
+string
+
+ |
++ | +
+(Appears on: +Mailgun, +MicrosoftTeams, +SMTP, +Slack) +
++
SecretKeySelector selects a key of a Secret.
+ +| Field | +Description | +
|---|---|
+secret
+
+
+Kubernetes core/v1.LocalObjectReference
+
+
+ |
+
+ The name of the secret in the pod’s namespace to select from. + |
+
+key
+
+string
+
+ |
+
+ The key of the secret to select from. Must be a valid secret key. + |
+
+(Appears on: +Customization) +
++
SecretRef is reference to Kubernetes secret.
+ +| Field | +Description | +
|---|---|
+name
+
+string
+
+ |
++ | +
+
+| Field | +Description | +
|---|---|
+PluginDataCache
+
+
+PluginsInfo
+
+
+ |
++ | +
+isCached
+
+bool
+
+ |
++ | +
+Attempts
+
+int
+
+ |
++ | +
+checkingPeriod
+
+time.Duration
+
+ |
++ | +
+(Appears on: +JenkinsSpec) +
++
SeedJob defines configuration for seed job +More info: https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/latest/configuration/#configure-seed-jobs-and-pipelines.
+ +| Field | +Description | +
|---|---|
+id
+
+string
+
+ |
+
+ ID is the unique seed job name + |
+
+credentialID
+
+string
+
+ |
+
+ CredentialID is the Kubernetes secret name which stores repository access credentials + |
+
+description
+
+string
+
+ |
+
+(Optional)
+ Description is the description of the seed job + |
+
+targets
+
+string
+
+ |
+
+ Targets is the repository path where are seed job definitions + |
+
+repositoryBranch
+
+string
+
+ |
+
+ RepositoryBranch is the repository branch where are seed job definitions + |
+
+repositoryUrl
+
+string
+
+ |
+
+ RepositoryURL is the repository access URL. Can be SSH or HTTPS. + |
+
+credentialType
+
+
+JenkinsCredentialType
+
+
+ |
+
+(Optional)
+ JenkinsCredentialType is the https://jenkinsci.github.io/kubernetes-credentials-provider-plugin/ credential type + |
+
+bitbucketPushTrigger
+
+bool
+
+ |
+
+(Optional)
+ BitbucketPushTrigger is used for Bitbucket web hooks + |
+
+githubPushTrigger
+
+bool
+
+ |
+
+(Optional)
+ GitHubPushTrigger is used for GitHub web hooks + |
+
+buildPeriodically
+
+string
+
+ |
+
+(Optional)
+ BuildPeriodically is setting for scheduled trigger + |
+
+pollSCM
+
+string
+
+ |
+
+(Optional)
+ PollSCM is setting for polling changes in SCM + |
+
+ignoreMissingFiles
+
+bool
+
+ |
+
+(Optional)
+ IgnoreMissingFiles is setting for Job DSL API plugin to ignore files that miss + |
+
+additionalClasspath
+
+string
+
+ |
+
+(Optional)
+ AdditionalClasspath is setting for Job DSL API plugin to set Additional Classpath + |
+
+failOnMissingPlugin
+
+bool
+
+ |
+
+(Optional)
+ FailOnMissingPlugin is setting for Job DSL API plugin that fails job if required plugin is missing + |
+
+unstableOnDeprecation
+
+bool
+
+ |
+
+(Optional)
+ UnstableOnDeprecation is setting for Job DSL API plugin that sets build status as unstable if build using deprecated features + |
+
+(Appears on: +JenkinsSpec) +
++
Service defines Kubernetes service attributes
+ +| Field | +Description | +
|---|---|
+annotations
+
+map[string]string
+
+ |
+
+(Optional)
+ Annotations is an unstructured key value map stored with a resource that may be +set by external tools to store and retrieve arbitrary metadata. They are not +queryable and should be preserved when modifying objects. +More info: http://kubernetes.io/docs/user-guide/annotations + |
+
+labels
+
+map[string]string
+
+ |
+
+(Optional)
+ Route service traffic to pods with label keys and values matching this +selector. If empty or not present, the service is assumed to have an +external process managing its endpoints, which Kubernetes will not +modify. Only applies to types ClusterIP, NodePort, and LoadBalancer. +Ignored if type is ExternalName. +More info: https://kubernetes.io/docs/concepts/services-networking/service/ + |
+
+type
+
+
+Kubernetes core/v1.ServiceType
+
+
+ |
+
+(Optional)
+ Type determines how the Service is exposed. Defaults to ClusterIP. Valid +options are ExternalName, ClusterIP, NodePort, and LoadBalancer. +“ExternalName” maps to the specified externalName. +“ClusterIP” allocates a cluster-internal IP address for load-balancing to +endpoints. Endpoints are determined by the selector or if that is not +specified, by manual construction of an Endpoints object. If clusterIP is +“None”, no virtual IP is allocated and the endpoints are published as a +set of endpoints rather than a stable IP. +“NodePort” builds on ClusterIP and allocates a port on every node which +routes to the clusterIP. +“LoadBalancer” builds on NodePort and creates an +external load-balancer (if supported in the current cloud) which routes +to the clusterIP. +More info: https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services—service-types + |
+
+port
+
+int32
+
+ |
+
+ The port that are exposed by this service. +More info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies + |
+
+nodePort
+
+int32
+
+ |
+
+(Optional)
+ The port on each node on which this service is exposed when type=NodePort or LoadBalancer. +Usually assigned by the system. If specified, it will be allocated to the service +if unused or else creation of the service will fail. +Default is to auto-allocate a port if the ServiceType of this Service requires one. +More info: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport + |
+
+loadBalancerSourceRanges
+
+[]string
+
+ |
+
+(Optional)
+ If specified and supported by the platform, this will restrict traffic through the cloud-provider +load-balancer will be restricted to the specified client IPs. This field will be ignored if the +cloud-provider does not support the feature.” +More info: https://kubernetes.io/docs/tasks/administer-cluster/securing-a-cluster/#restricting-cloud-metadata-api-access + |
+
+loadBalancerIP
+
+string
+
+ |
+
+(Optional)
+ Only applies to Service Type: LoadBalancer +LoadBalancer will get created with the IP specified in this field. +This feature depends on whether the underlying cloud-provider supports specifying +the loadBalancerIP when a load balancer is created. +This field will be ignored if the cloud-provider does not support the feature. + |
+
+(Appears on: +JenkinsSpec) +
++
ServiceAccount defines Kubernetes service account attributes
+ +| Field | +Description | +
|---|---|
+annotations
+
+map[string]string
+
+ |
+
+(Optional)
+ Annotations is an unstructured key value map stored with a resource that may be +set by external tools to store and retrieve arbitrary metadata. They are not +queryable and should be preserved when modifying objects. +More info: http://kubernetes.io/docs/user-guide/annotations + |
+
+(Appears on: +Notification) +
++
Slack is handler for Slack notification channel.
+ +| Field | +Description | +
|---|---|
+webHookURLSecretKeySelector
+
+
+SecretKeySelector
+
+
+ |
+
+ The web hook URL to Slack App + |
+
+(Appears on: +Warning) +
++
+| Field | +Description | +
|---|---|
+firstVersion
+
+string
+
+ |
++ | +
+lastVersion
+
+string
+
+ |
++ | +
+(Appears on: +PluginInfo) +
++
+| Field | +Description | +
|---|---|
+versions
+
+
+[][]github.com/jenkinsci/kubernetes-operator/api/v1alpha2.Version
+
+
+ |
++ | +
+id
+
+string
+
+ |
++ | +
+message
+
+string
+
+ |
++ | +
+url
+
+string
+
+ |
++ | +
+active
+
+bool
+
+ |
++ | +
+Generated with gen-crd-api-reference-docs
+on git commit 76078d5f.
+