290 lines
		
	
	
		
			9.3 KiB
		
	
	
	
		
			YAML
		
	
	
	
			
		
		
	
	
			290 lines
		
	
	
		
			9.3 KiB
		
	
	
	
		
			YAML
		
	
	
	
| # Jenkins Operator Helm chart
 | |
| 
 | |
| # Jenkins instance configuration
 | |
| jenkins:
 | |
|   # 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
 | |
|   enabled: true
 | |
| 
 | |
|   # apiVersion is the version of the CR manifest
 | |
|   # The recommended and default value is "jenkins.io/v1alpha2"
 | |
|   # See https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/v0.1.x/migration-guide-v1alpha1-to-v1alpha2/ for more migration guide
 | |
|   apiVersion: jenkins.io/v1alpha2
 | |
| 
 | |
|   # name of resource
 | |
|   # The pod name will be jenkins-<name> (name will be set as suffix)
 | |
|   name: jenkins
 | |
| 
 | |
|   # namespace is the namespace where the resources will be deployed
 | |
|   # It's not recommended to use default namespace
 | |
|   # Create new namespace for jenkins (called e.g. jenkins)
 | |
|   namespace: default
 | |
| 
 | |
|   # labels are injected into metadata labels field
 | |
|   labels: {}
 | |
| 
 | |
|   # annotations are injected into metadata annotations field
 | |
|   annotations: {}
 | |
| 
 | |
|   # image is the name (and tag) of the Jenkins instance
 | |
|   # Default: jenkins/jenkins:lts
 | |
|   # It's recommended to use LTS (tag: "lts") version
 | |
|   image: jenkins/jenkins:2.277.4-lts-alpine
 | |
| 
 | |
|   # env contains jenkins container environment variables
 | |
|   env: []
 | |
| 
 | |
|   # imagePullPolicy defines policy for pulling images
 | |
|   imagePullPolicy: Always
 | |
| 
 | |
|   # priorityClassName indicates the importance of a Pod relative to other Pods
 | |
|   # See: https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/
 | |
|   priorityClassName: ""
 | |
| 
 | |
|   # disableCSRFProtection can enable or disable operator built-in CSRF protection
 | |
|   # Set it to true if you are using OpenShift Jenkins Plugin
 | |
|   # See https://github.com/jenkinsci/kubernetes-operator/pull/193 for more info
 | |
|   disableCSRFProtection: false
 | |
| 
 | |
|   # imagePullSecrets is used if you want to pull images from private repository
 | |
|   # See https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/latest/configuration/#pulling-docker-images-from-private-repositories for more info
 | |
|   imagePullSecrets: []
 | |
| 
 | |
|   # notifications is feature that notify user about Jenkins reconcilation status
 | |
|   # See https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/latest/notifications/ for more info
 | |
|   notifications: []
 | |
| 
 | |
|   # basePlugins are plugins installed and required by the operator
 | |
|   # Shouldn't contain plugins defined by user
 | |
|   # You can change their versions here
 | |
|   # See https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/latest/customization/#install-plugins for more details
 | |
|   #
 | |
|   # Example:
 | |
|   #
 | |
|   # basePlugins:
 | |
|   # - name: kubernetes
 | |
|   #   version: 1.29.4
 | |
|   # - name: workflow-job
 | |
|   #   version: "2.40"
 | |
|   # - name: workflow-aggregator
 | |
|   #   version: "2.6"
 | |
|   # - name: git
 | |
|   #   version: 4.6.0
 | |
|   # - name: job-dsl
 | |
|   #   version: "1.77"
 | |
|   # - name: configuration-as-code
 | |
|   #   version: "1.50"
 | |
|   # - name: kubernetes-credentials-provider
 | |
|   #   version: 0.18-1
 | |
|   basePlugins:
 | |
|     - name: kubernetes
 | |
|       version: "1.29.4"
 | |
|     - name: workflow-job
 | |
|       version: "2.40"
 | |
|     - name: workflow-aggregator
 | |
|       version: "2.6"
 | |
|     - name: git
 | |
|       version: "4.6.0"
 | |
|     - name: job-dsl
 | |
|       version: "1.77"
 | |
|     - name: configuration-as-code
 | |
|       version: "1.51"
 | |
|     - name: kubernetes-credentials-provider
 | |
|       version: "0.18-1"
 | |
| 
 | |
|   # plugins are plugins required by the user
 | |
|   # You can define plugins here
 | |
|   # See https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/latest/customization/#install-plugins for more details
 | |
|   #
 | |
|   # Example:
 | |
|   #
 | |
|   # plugins:
 | |
|   # - name: simple-theme-plugin
 | |
|   #   version: "0.6"
 | |
|   plugins: []
 | |
| 
 | |
|   # seedJobs is placeholder for jenkins seed jobs
 | |
|   # For seed job creation tutorial, check https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/latest/configuration/#prepare-job-definitions-and-pipelines
 | |
|   # See https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/latest/configuration/#configure-seed-jobs for additional info
 | |
|   # Example:
 | |
|   #
 | |
|   # seedJobs:
 | |
|   #  - id: jenkins-operator
 | |
|   #    targets: "cicd/jobs/*.jenkins"
 | |
|   #    description: "Jenkins Operator repository"
 | |
|   #    repositoryBranch: master
 | |
|   #    repositoryUrl: https://github.com/jenkinsci/kubernetes-operator.git
 | |
|   seedJobs: []
 | |
| 
 | |
|   # Resource limit/request for Jenkins
 | |
|   # See https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/ for details
 | |
|   resources:
 | |
|     limits:
 | |
|       cpu: 1500m
 | |
|       memory: 3Gi
 | |
|     requests:
 | |
|       cpu: 1
 | |
|       memory: 500Mi
 | |
| 
 | |
|   # volumes used by Jenkins
 | |
|   # By default, we are only using backup
 | |
|   volumes:
 | |
|     - name: backup # PVC volume where backups will be stored
 | |
|       persistentVolumeClaim:
 | |
|         claimName: jenkins-backup
 | |
| 
 | |
|   # volumeMounts are mounts for Jenkins pod
 | |
|   volumeMounts: []
 | |
| 
 | |
|   # defines authorization strategy of the operator for the Jenkins API
 | |
|   authorizationStrategy: createUser
 | |
| 
 | |
|   # securityContext for pod
 | |
|   securityContext:
 | |
|     runAsUser: 1000
 | |
|     fsGroup: 1000
 | |
| 
 | |
|   # 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
 | |
|   #service:
 | |
|   # 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
 | |
|   #slaveService:
 | |
|   
 | |
|   # LivenessProbe for Jenkins Master pod
 | |
|   livenessProbe:
 | |
|     failureThreshold: 12
 | |
|     httpGet:
 | |
|       path: /login
 | |
|       port: http
 | |
|       scheme: HTTP
 | |
|     initialDelaySeconds: 80
 | |
|     periodSeconds: 10
 | |
|     successThreshold: 1
 | |
|     timeoutSeconds: 5
 | |
|   # ReadinessProbe for Jenkins Master pod
 | |
|   readinessProbe:
 | |
|     failureThreshold: 3
 | |
|     httpGet:
 | |
|       path: /login
 | |
|       port: http
 | |
|       scheme: HTTP
 | |
|     initialDelaySeconds: 30
 | |
|     periodSeconds: 10
 | |
|     successThreshold: 1
 | |
|     timeoutSeconds: 1
 | |
| 
 | |
|   # 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: https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/latest/configure-backup-and-restore/
 | |
|   # For customization tips see https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/latest/custom-backup-and-restore/
 | |
|   backup:
 | |
|     # enabled is enable/disable switch for backup feature
 | |
|     # By default the feature is enabled
 | |
|     enabled: true
 | |
| 
 | |
|     # image used by backup feature
 | |
|     # By default using prebuilt backup PVC image by VirtusLab
 | |
|     image: virtuslab/jenkins-operator-backup-pvc:v0.1.0
 | |
| 
 | |
|     # containerName is backup container name
 | |
|     containerName: backup
 | |
| 
 | |
|     # interval defines how often make backup in seconds
 | |
|     interval: 30
 | |
| 
 | |
|     # makeBackupBeforePodDeletion when enabled will make backup before pod deletion
 | |
|     makeBackupBeforePodDeletion: true
 | |
| 
 | |
|     # backupCommand is backup container command
 | |
|     backupCommand:
 | |
|       - /home/user/bin/backup.sh
 | |
| 
 | |
|     # restoreCommand is backup restore command
 | |
|     restoreCommand:
 | |
|       - /home/user/bin/restore.sh
 | |
| 
 | |
|     getLatestAction:
 | |
|       - /home/user/bin/get-latest.sh
 | |
| 
 | |
|     # pvc is Persistent Volume Claim Kubernetes resource
 | |
|     pvc:
 | |
|       # enabled is enable/disable switch for PVC
 | |
|       enabled: true
 | |
| 
 | |
|       # size is size of PVC
 | |
|       size: 5Gi
 | |
| 
 | |
|       # className is storageClassName for PVC
 | |
|       # See https://kubernetes.io/docs/concepts/storage/persistent-volumes/#class-1 for more details
 | |
|       className: ""
 | |
| 
 | |
|     # resources used by backup container
 | |
|     resources:
 | |
|       limits:
 | |
|         cpu: 1500m
 | |
|         memory: 1Gi
 | |
|       requests:
 | |
|         cpu: 100m
 | |
|         memory: 256Mi
 | |
| 
 | |
|     # env 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
 | |
|     env:
 | |
|       - name: BACKUP_DIR
 | |
|         value: /backup
 | |
|       - name: JENKINS_HOME
 | |
|         value: /jenkins-home
 | |
|       - name: BACKUP_COUNT
 | |
|         value: "3" # keep only the 3 most recent backups
 | |
| 
 | |
|     # volumeMounts holds the mount points for volumes
 | |
|     volumeMounts:
 | |
|       - name: jenkins-home
 | |
|         mountPath: /jenkins-home # Jenkins home volume
 | |
|       - mountPath: /backup # backup volume
 | |
|         name: backup
 | |
| 
 | |
|   # configuration is section where we can configure Jenkins instance
 | |
|   # See https://jenkinsci.github.io/kubernetes-operator/docs/getting-started/latest/customization/ for details
 | |
|   configuration:
 | |
|     configurationAsCode: {}
 | |
|     #    - configMapName: jenkins-casc
 | |
|     #      content: {}
 | |
|     groovyScripts: {}
 | |
|     #    - configMapName: jenkins-gs
 | |
|     #      content: {}
 | |
| 
 | |
|     # secretRefName of existing secret (previously created)
 | |
|     secretRefName: ""
 | |
| 
 | |
|     # secretData creates new secret if secretRefName is empty and fills with data provided in secretData
 | |
|     secretData: {}
 | |
| 
 | |
| # operator is section for configuring operator deployment
 | |
| operator:
 | |
|   replicaCount: 1
 | |
| 
 | |
|   # image is the name (and tag) of the Jenkins Operator image
 | |
|   image: virtuslab/jenkins-operator:v0.5.0
 | |
| 
 | |
|   # imagePullPolicy defines policy for pulling images
 | |
|   imagePullPolicy: IfNotPresent
 | |
| 
 | |
|   # imagePullSecrets is used if you want to pull images from private repository
 | |
|   imagePullSecrets: []
 | |
| 
 | |
|   # nameOverride overrides the app name
 | |
|   nameOverride: ""
 | |
| 
 | |
|   # fullnameOverride overrides the deployment name
 | |
|   fullnameOverride: ""
 | |
| 
 | |
|   resources: {}
 | |
|   nodeSelector: {}
 | |
|   tolerations: []
 | |
|   affinity: {}
 |