From 9f261169f03fcc19ee9502095da6278045b2cca5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Tomasz=20S=C4=99k?= BasePlugins contains plugins required by operator
Defaults to :
- name: kubernetes
-version: 1.25.2
+version: “1.28.6”
- name: workflow-job
-version: “2.39”
+version: “2.40”
- name: workflow-aggregator
version: “2.6”
- name: git
-version: 4.2.2
+version: “4.5.0”
- name: job-dsl
version: “1.77”
- name: configuration-as-code
-version: “1.38”
+version: “1.46”
- name: kubernetes-credentials-provider
-version: 0.13
getLatestAction
+
+
+Handler
+
+
+GetLatestAction defines action which returns the latest backup number. If there is no backup “-1” should be +returned.
+recoveryOnce
uint64
@@ -2623,5 +2638,5 @@ SecretKeySelector
Generated with gen-crd-api-reference-docs
-on git commit 1c853e69.
-
fe81e5a.
+
diff --git a/website/content/en/docs/Getting Started/v0.4.x/_index.md b/website/content/en/docs/Getting Started/v0.4.x/_index.md
new file mode 100644
index 00000000..e03fdc17
--- /dev/null
+++ b/website/content/en/docs/Getting Started/v0.4.x/_index.md
@@ -0,0 +1,18 @@
+---
+title: "v0.4.x"
+linkTitle: "v0.4.x"
+weight: 10
+date: 2020-04-13
+description: >
+ How to work with jenkins-operator latest version
+---
+
+{{% pageinfo %}}
+This document describes a getting started guide for **Jenkins Operator** `v0.4.x` and an additional configuration.
+{{% /pageinfo %}}
+
+## First Steps
+
+Prepare your Kubernetes cluster and set up your `kubectl` access.
+
+Once you have running Kubernetes cluster you can focus on installing **Jenkins Operator** according to the [Installation](/kubernetes-operator/docs/installation/) guide.
diff --git a/website/content/en/docs/Getting Started/v0.4.x/aks.md b/website/content/en/docs/Getting Started/v0.4.x/aks.md
new file mode 100644
index 00000000..e788983d
--- /dev/null
+++ b/website/content/en/docs/Getting Started/v0.4.x/aks.md
@@ -0,0 +1,24 @@
+---
+title: "AKS"
+linkTitle: "AKS"
+weight: 10
+date: 2020-04-13
+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.
\ No newline at end of file
diff --git a/website/content/en/docs/Getting Started/v0.4.x/configuration.md b/website/content/en/docs/Getting Started/v0.4.x/configuration.md
new file mode 100644
index 00000000..26b7b573
--- /dev/null
+++ b/website/content/en/docs/Getting Started/v0.4.x/configuration.md
@@ -0,0 +1,332 @@
+---
+title: "Configuration"
+linkTitle: "Configuration"
+weight: 2
+date: 2020-04-13
+description: >
+ How to configure Jenkins with Operator
+---
+
+## Configure Seed Jobs and Pipelines
+
+Jenkins operator uses [job-dsl][job-dsl] and [kubernetes-credentials-provider][kubernetes-credentials-provider] plugins for configuring jobs
+and deploy keys.
+
+## Prepare job definitions and pipelines
+
+First you have to prepare pipelines and job definition in your GitHub repository using the following structure:
+
+```
+cicd/
+├── jobs
+│ └── build.jenkins
+└── pipelines
+ └── build.jenkins
+```
+
+**`cicd/jobs/build.jenkins`** is a job definition:
+
+```
+#!/usr/bin/env groovy
+
+pipelineJob('build-jenkins-operator') {
+ displayName('Build jenkins-operator')
+
+ definition {
+ cpsScm {
+ scm {
+ git {
+ remote {
+ url('https://github.com/jenkinsci/kubernetes-operator.git')
+ credentials('jenkins-operator')
+ }
+ branches('*/master')
+ }
+ }
+ scriptPath('cicd/pipelines/build.jenkins')
+ }
+ }
+}
+```
+
+**`cicd/pipelines/build.jenkins`** is an actual Jenkins pipeline:
+
+```
+#!/usr/bin/env groovy
+
+def label = "build-jenkins-operator-${UUID.randomUUID().toString()}"
+def home = "/home/jenkins"
+def workspace = "${home}/workspace/build-jenkins-operator"
+def workdir = "${workspace}/src/github.com/jenkinsci/kubernetes-operator/"
+
+podTemplate(label: label,
+ containers: [
+ containerTemplate(name: 'jnlp', image: 'jenkins/inbound-agent:alpine'),
+ containerTemplate(name: 'go', image: 'golang:1-alpine', command: 'cat', ttyEnabled: true),
+ ],
+ envVars: [
+ envVar(key: 'GOPATH', value: workspace),
+ ],
+ ) {
+
+ node(label) {
+ dir(workdir) {
+ stage('Init') {
+ timeout(time: 3, unit: 'MINUTES') {
+ checkout scm
+ }
+ container('go') {
+ sh 'apk --no-cache --update add make git gcc libc-dev'
+ }
+ }
+
+ stage('Dep') {
+ container('go') {
+ sh 'make dep'
+ }
+ }
+
+ stage('Test') {
+ container('go') {
+ sh 'make test'
+ }
+ }
+
+ stage('Build') {
+ container('go') {
+ sh 'make build'
+ }
+ }
+ }
+ }
+}
+```
+
+## Configure Seed Jobs
+
+Jenkins Seed Jobs are configured using `Jenkins.spec.seedJobs` section from your custom resource manifest:
+
+```
+apiVersion: jenkins.io/v1alpha2
+kind: Jenkins
+metadata:
+ name: example
+spec:
+ seedJobs:
+ - id: jenkins-operator
+ targets: "cicd/jobs/*.jenkins"
+ description: "Jenkins Operator repository"
+ repositoryBranch: master
+ repositoryUrl: https://github.com/jenkinsci/kubernetes-operator.git
+```
+
+**Jenkins Operator** will automatically discover and configure all the seed jobs.
+
+You can verify if deploy keys were successfully configured in the Jenkins **Credentials** tab.
+
+
+
+You can verify if your pipelines were successfully configured in the Jenkins Seed Job console output.
+
+
+
+If your GitHub repository is **private** you have to configure SSH or username/password authentication.
+
+### SSH authentication
+
+#### Generate SSH Keys
+
+There are two methods of SSH private key generation:
+
+```bash
+$ openssl genrsa -out Packages:
++
Package v1alpha2 contains API Schema definitions for the jenkins.io v1alpha2 API group
+ +Resource Types: ++
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/pkg/apis/jenkins/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: +JenkinsImageSpec) +
++
Defines Jenkins Plugin structure
+ +| Field | +Description | +
|---|---|
+name
+
+string
+
+ |
++ | +
+version
+
+string
+
+ |
++ | +
+(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.
+ ++
JenkinsImage is the Schema for the jenkinsimages API
+ +| Field | +Description | +||||
|---|---|---|---|---|---|
+metadata
+
+
+Kubernetes meta/v1.ObjectMeta
+
+
+ |
+
+Refer to the Kubernetes API documentation for the fields of the
+metadata field.
+ |
+||||
+spec
+
+
+JenkinsImageSpec
+
+
+ |
+
+ + +
|
+||||
+status
+
+
+JenkinsImageStatus
+
+
+ |
++ | +
+(Appears on: +JenkinsImage) +
++
JenkinsImageSpec defines the desired state of JenkinsImage
+ +| Field | +Description | +
|---|---|
+image
+
+
+Image
+
+
+ |
++ | +
+plugins
+
+
+[][]github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.JenkinsPlugin
+
+
+ |
++ | +
+(Appears on: +JenkinsImage) +
++
JenkinsImageStatus defines the observed state of JenkinsImage
+ +| Field | +Description | +
|---|---|
+image
+
+string
+
+ |
++ | +
+md5sum
+
+string
+
+ |
++ | +
+installedPlugins
+
+
+[][]github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.JenkinsPlugin
+
+
+ |
++ | +
+(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 + |
+
+masterAnnotations
+
+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 +Deprecated: will be removed in the future, please use Annotations(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/pkg/apis/jenkins/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/pkg/apis/jenkins/v1alpha2.Plugin
+
+
+ |
+
+(Optional)
+ BasePlugins contains plugins required by operator +Defaults to : +- 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
+
+
+[][]github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/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 + |
+
+(Appears on: +JenkinsImageSpec, +JenkinsImageStatus) +
++
Defines Jenkins Plugin structure
+ +| Field | +Description | +
|---|---|
+name
+
+string
+
+ |
++ | +
+version
+
+string
+
+ |
++ | +
+(Appears on: +Jenkins) +
++
JenkinsSpec defines the desired state of the 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/pkg/apis/jenkins/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 + |
+
+notifications
+
+
+[][]github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/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/pkg/apis/jenkins/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/pkg/apis/jenkins/v1alpha2.Slack
+
+
+ |
++ | +
+teams
+
+
+github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.MicrosoftTeams
+
+
+ |
++ | +
+mailgun
+
+
+github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2.Mailgun
+
+
+ |
++ | +
+smtp
+
+
+github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/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. + |
+
+(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 + |
+
+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
+
+ |
++ | +
+(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 + |
+
+Generated with gen-crd-api-reference-docs
+on git commit 1c853e69.
+