values.yaml 40 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003
  1. # Default values for jenkins.
  2. # This is a YAML-formatted file.
  3. # Declare name/value pairs to be passed into your templates.
  4. # name: value
  5. ## Overrides for generated resource names
  6. # See templates/_helpers.tpl
  7. # nameOverride:
  8. # fullnameOverride:
  9. # namespaceOverride:
  10. # For FQDN resolving of the controller service. Change this value to match your existing configuration.
  11. # ref: https://github.com/kubernetes/dns/blob/master/docs/specification.md
  12. clusterZone: "cluster.local"
  13. # The URL of the Kubernetes API server
  14. kubernetesURL: "https://kubernetes.default"
  15. renderHelmLabels: true
  16. controller:
  17. # Used for label app.kubernetes.io/component
  18. componentName: "jenkins-controller"
  19. image: "reg.cestong.com.cn/cecf/custom-jenkins"
  20. tag: "latest"
  21. tagLabel: jdk11
  22. imagePullPolicy: "Always"
  23. imagePullSecretName:
  24. # Optionally configure lifetime for controller-container
  25. lifecycle:
  26. # postStart:
  27. # exec:
  28. # command:
  29. # - "uname"
  30. # - "-a"
  31. disableRememberMe: false
  32. numExecutors: 0
  33. # configures the executor mode of the Jenkins node. Possible values are: NORMAL or EXCLUSIVE
  34. executorMode: "NORMAL"
  35. # This is ignored if enableRawHtmlMarkupFormatter is true
  36. markupFormatter: plainText
  37. customJenkinsLabels: []
  38. # The default configuration uses this secret to configure an admin user
  39. # If you don't need that user or use a different security realm then you can disable it
  40. adminSecret: true
  41. hostNetworking: false
  42. # When enabling LDAP or another non-Jenkins identity source, the built-in admin account will no longer exist.
  43. # If you disable the non-Jenkins identity store and instead use the Jenkins internal one,
  44. # you should revert controller.adminUser to your preferred admin user:
  45. adminUser: "admin"
  46. # adminPassword: <defaults to random>
  47. admin:
  48. existingSecret: ""
  49. userKey: jenkins-admin-user
  50. passwordKey: jenkins-admin-password
  51. # This values should not be changed unless you use your custom image of jenkins or any devired from. If you want to use
  52. # Cloudbees Jenkins Distribution docker, you should set jenkinsHome: "/var/cloudbees-jenkins-distribution"
  53. jenkinsHome: "/var/jenkins_home"
  54. # This values should not be changed unless you use your custom image of jenkins or any devired from. If you want to use
  55. # Cloudbees Jenkins Distribution docker, you should set jenkinsRef: "/usr/share/cloudbees-jenkins-distribution/ref"
  56. jenkinsRef: "/usr/share/jenkins/ref"
  57. # Path to the jenkins war file which is used by jenkins-plugin-cli.
  58. jenkinsWar: "/usr/share/jenkins/jenkins.war"
  59. # Overrides the default arguments passed to the war
  60. # overrideArgs:
  61. # - --httpPort=8080
  62. resources:
  63. requests:
  64. cpu: "50m"
  65. memory: "256Mi"
  66. limits:
  67. cpu: "2000m"
  68. memory: "4096Mi"
  69. # Share process namespace to allow sidecar containers to interact with processes in other containers in the same pod
  70. shareProcessNamespace: false
  71. # Overrides the init container default values
  72. # initContainerResources:
  73. # requests:
  74. # cpu: "50m"
  75. # memory: "256Mi"
  76. # limits:
  77. # cpu: "2000m"
  78. # memory: "4096Mi"
  79. # Environment variables that get added to the init container (useful for e.g. http_proxy)
  80. # initContainerEnv:
  81. # - name: http_proxy
  82. # value: "http://192.168.64.1:3128"
  83. # containerEnv:
  84. # - name: http_proxy
  85. # value: "http://192.168.64.1:3128"
  86. # Set min/max heap here if needed with:
  87. # javaOpts: "-Xms512m -Xmx512m"
  88. # jenkinsOpts: ""
  89. # If you are using the ingress definitions provided by this chart via the `controller.ingress` block the configured hostname will be the ingress hostname starting with `https://` or `http://` depending on the `tls` configuration.
  90. # The Protocol can be overwritten by specifying `controller.jenkinsUrlProtocol`.
  91. # jenkinsUrlProtocol: "https"
  92. # If you are not using the provided ingress you can specify `controller.jenkinsUrl` to change the url definition.
  93. # jenkinsUrl: ""
  94. # If you set this prefix and use ingress controller then you might want to set the ingress path below
  95. # jenkinsUriPrefix: "/jenkins"
  96. # Enable pod security context (must be `true` if podSecurityContextOverride, runAsUser or fsGroup are set)
  97. usePodSecurityContext: true
  98. # Note that `runAsUser`, `fsGroup`, and `securityContextCapabilities` are
  99. # being deprecated and replaced by `podSecurityContextOverride`.
  100. # Set runAsUser to 1000 to let Jenkins run as non-root user 'jenkins' which exists in 'jenkins/jenkins' docker image.
  101. # When setting runAsUser to a different value than 0 also set fsGroup to the same value:
  102. runAsUser: 1000
  103. fsGroup: 0
  104. # If you have PodSecurityPolicies that require dropping of capabilities as suggested by CIS K8s benchmark, put them here
  105. securityContextCapabilities: {}
  106. # drop:
  107. # - NET_RAW
  108. # Completely overwrites the contents of the `securityContext`, ignoring the
  109. # values provided for the deprecated fields: `runAsUser`, `fsGroup`, and
  110. # `securityContextCapabilities`. In the case of mounting an ext4 filesystem,
  111. # it might be desirable to use `supplementalGroups` instead of `fsGroup` in
  112. # the `securityContext` block: https://github.com/kubernetes/kubernetes/issues/67014#issuecomment-589915496
  113. podSecurityContextOverride:
  114. fsGroup: 994
  115. runAsUser: 1000
  116. # runAsNonRoot: true
  117. # supplementalGroups: [1000]
  118. # # capabilities: {}
  119. # Container securityContext
  120. containerSecurityContext:
  121. runAsUser: 1000
  122. runAsGroup: 1000
  123. readOnlyRootFilesystem: true
  124. allowPrivilegeEscalation: false
  125. servicePort: 8080
  126. targetPort: 8080
  127. # For minikube, set this to NodePort, elsewhere use LoadBalancer
  128. # Use ClusterIP if your setup includes ingress controller
  129. serviceType: ClusterIP
  130. # Use Local to preserve the client source IP and avoids a second hop for LoadBalancer and Nodeport type services,
  131. # but risks potentially imbalanced traffic spreading.
  132. serviceExternalTrafficPolicy:
  133. # Jenkins controller service annotations
  134. serviceAnnotations: {}
  135. # Jenkins controller custom labels
  136. statefulSetLabels: {}
  137. # foo: bar
  138. # bar: foo
  139. # Jenkins controller service labels
  140. serviceLabels: {}
  141. # service.beta.kubernetes.io/aws-load-balancer-backend-protocol: https
  142. # Put labels on Jenkins controller pod
  143. podLabels: {}
  144. # Used to create Ingress record (should be used with ServiceType: ClusterIP)
  145. # nodePort: <to set explicitly, choose port between 30000-32767
  146. # Enable Kubernetes Startup, Liveness and Readiness Probes
  147. # if Startup Probe is supported, enable it too
  148. # ~ 2 minutes to allow Jenkins to restart when upgrading plugins. Set ReadinessTimeout to be shorter than LivenessTimeout.
  149. healthProbes: true
  150. probes:
  151. startupProbe:
  152. httpGet:
  153. path: '{{ default "" .Values.controller.jenkinsUriPrefix }}/login'
  154. port: http
  155. periodSeconds: 10
  156. timeoutSeconds: 5
  157. failureThreshold: 12
  158. livenessProbe:
  159. failureThreshold: 5
  160. httpGet:
  161. path: '{{ default "" .Values.controller.jenkinsUriPrefix }}/login'
  162. port: http
  163. periodSeconds: 10
  164. timeoutSeconds: 5
  165. # If Startup Probe is not supported on your Kubernetes cluster, you might want to use "initialDelaySeconds" instead.
  166. # It delays the initial liveness probe while Jenkins is starting
  167. # initialDelaySeconds: 60
  168. readinessProbe:
  169. failureThreshold: 3
  170. httpGet:
  171. path: '{{ default "" .Values.controller.jenkinsUriPrefix }}/login'
  172. port: http
  173. periodSeconds: 10
  174. timeoutSeconds: 5
  175. # If Startup Probe is not supported on your Kubernetes cluster, you might want to use "initialDelaySeconds" instead.
  176. # It delays the initial readyness probe while Jenkins is starting
  177. # initialDelaySeconds: 60
  178. # PodDisruptionBudget config
  179. podDisruptionBudget:
  180. enabled: false
  181. # For Kubernetes v1.5+, use 'policy/v1beta1'
  182. # For Kubernetes v1.21+, use 'policy/v1'
  183. apiVersion: "policy/v1beta1"
  184. annotations: {}
  185. labels: {}
  186. # maxUnavailable: "0"
  187. agentListenerEnabled: true
  188. agentListenerPort: 50000
  189. agentListenerHostPort:
  190. agentListenerNodePort:
  191. agentListenerExternalTrafficPolicy:
  192. agentListenerLoadBalancerSourceRanges:
  193. - 0.0.0.0/0
  194. disabledAgentProtocols:
  195. - JNLP-connect
  196. - JNLP2-connect
  197. csrf:
  198. defaultCrumbIssuer:
  199. enabled: true
  200. proxyCompatability: true
  201. # Kubernetes service type for the JNLP agent service
  202. # agentListenerServiceType is the Kubernetes Service type for the JNLP agent service,
  203. # either 'LoadBalancer', 'NodePort', or 'ClusterIP'
  204. # Note if you set this to 'LoadBalancer', you *must* define annotations to secure it. By default
  205. # this will be an external load balancer and allowing inbound 0.0.0.0/0, a HUGE
  206. # security risk: https://github.com/kubernetes/charts/issues/1341
  207. agentListenerServiceType: "ClusterIP"
  208. # Optionally assign an IP to the LoadBalancer agentListenerService LoadBalancer
  209. # GKE users: only regional static IPs will work for Service Load balancer.
  210. agentListenerLoadBalancerIP:
  211. agentListenerServiceAnnotations: {}
  212. # Example of 'LoadBalancer' type of agent listener with annotations securing it
  213. # agentListenerServiceType: LoadBalancer
  214. # agentListenerServiceAnnotations:
  215. # service.beta.kubernetes.io/aws-load-balancer-internal: "True"
  216. # service.beta.kubernetes.io/load-balancer-source-ranges: "172.0.0.0/8, 10.0.0.0/8"
  217. # LoadBalancerSourcesRange is a list of allowed CIDR values, which are combined with ServicePort to
  218. # set allowed inbound rules on the security group assigned to the controller load balancer
  219. loadBalancerSourceRanges:
  220. - 0.0.0.0/0
  221. # Optionally assign a known public LB IP
  222. # loadBalancerIP: 1.2.3.4
  223. # Optionally configure a JMX port
  224. # requires additional javaOpts, ie
  225. # javaOpts: >
  226. # -Dcom.sun.management.jmxremote.port=4000
  227. # -Dcom.sun.management.jmxremote.authenticate=false
  228. # -Dcom.sun.management.jmxremote.ssl=false
  229. # jmxPort: 4000
  230. # Optionally configure other ports to expose in the controller container
  231. extraPorts: []
  232. # - name: BuildInfoProxy
  233. # port: 9000
  234. # targetPort: 9010 (Optional: Use to explicitly set targetPort if different from port)
  235. # List of plugins to be install during Jenkins controller start
  236. installPlugins:
  237. - kubernetes:4029.v5712230ccb_f8
  238. - workflow-aggregator:596.v8c21c963d92d
  239. - git:5.1.0
  240. - configuration-as-code:1670.v564dc8b_982d0
  241. # Set to false to download the minimum required version of all dependencies.
  242. installLatestPlugins: true
  243. # Set to true to download latest dependencies of any plugin that is requested to have the latest version.
  244. installLatestSpecifiedPlugins: false
  245. # List of plugins to install in addition to those listed in controller.installPlugins
  246. additionalPlugins: []
  247. # Enable to initialize the Jenkins controller only once on initial installation.
  248. # Without this, whenever the controller gets restarted (Evicted, etc.) it will fetch plugin updates which has the potential to cause breakage.
  249. # Note that for this to work, `persistence.enabled` needs to be set to `true`
  250. initializeOnce: false
  251. # Enable to always override the installed plugins with the values of 'controller.installPlugins' on upgrade or redeployment.
  252. # overwritePlugins: true
  253. # Configures if plugins bundled with `controller.image` should be overwritten with the values of 'controller.installPlugins' on upgrade or redeployment.
  254. overwritePluginsFromImage: true
  255. # Configures the restrictions for naming projects. Set this key to null or empty to skip it in the default config.
  256. projectNamingStrategy: standard
  257. # Enable HTML parsing using OWASP Markup Formatter Plugin (antisamy-markup-formatter), useful with ghprb plugin.
  258. # The plugin is not installed by default, please update controller.installPlugins.
  259. enableRawHtmlMarkupFormatter: false
  260. # Used to approve a list of groovy functions in pipelines used the script-security plugin. Can be viewed under /scriptApproval
  261. scriptApproval: []
  262. # - "method groovy.json.JsonSlurperClassic parseText java.lang.String"
  263. # - "new groovy.json.JsonSlurperClassic"
  264. # List of groovy init scripts to be executed during Jenkins controller start
  265. initScripts: []
  266. # - |
  267. # print 'adding global pipeline libraries, register properties, bootstrap jobs...'
  268. # 'name' is a name of an existing secret in same namespace as jenkins,
  269. # 'keyName' is the name of one of the keys inside current secret.
  270. # the 'name' and 'keyName' are concatenated with a '-' in between, so for example:
  271. # an existing secret "secret-credentials" and a key inside it named "github-password" should be used in Jcasc as ${secret-credentials-github-password}
  272. # 'name' and 'keyName' must be lowercase RFC 1123 label must consist of lower case alphanumeric characters or '-',
  273. # and must start and end with an alphanumeric character (e.g. 'my-name', or '123-abc')
  274. # existingSecret existing secret "secret-credentials" and a key inside it named "github-username" should be used in Jcasc as ${github-username}
  275. # When using existingSecret no need to specify the keyName under additionalExistingSecrets.
  276. existingSecret:
  277. additionalExistingSecrets: []
  278. # - name: secret-name-1
  279. # keyName: username
  280. # - name: secret-name-1
  281. # keyName: password
  282. additionalSecrets: []
  283. # - name: nameOfSecret
  284. # value: secretText
  285. # Generate SecretClaim resources in order to create Kubernetes secrets from HashiCorp Vault using kube-vault-controller.
  286. # 'name' is name of the secret that will be created in Kubernetes. The Jenkins fullname is prepended to this value.
  287. # 'path' is the fully qualified path to the secret in Vault
  288. # 'type' is an optional Kubernetes secret type. Defaults to 'Opaque'
  289. # 'renew' is an optional secret renewal time in seconds
  290. secretClaims: []
  291. # - name: secretName # required
  292. # path: testPath # required
  293. # type: kubernetes.io/tls # optional
  294. # renew: 60 # optional
  295. # Name of default cloud configuration.
  296. cloudName: "kubernetes"
  297. # Below is the implementation of Jenkins Configuration as Code. Add a key under configScripts for each configuration area,
  298. # where each corresponds to a plugin or section of the UI. Each key (prior to | character) is just a label, and can be any value.
  299. # Keys are only used to give the section a meaningful name. The only restriction is they may only contain RFC 1123 \ DNS label
  300. # characters: lowercase letters, numbers, and hyphens. The keys become the name of a configuration yaml file on the controller in
  301. # /var/jenkins_home/casc_configs (by default) and will be processed by the Configuration as Code Plugin. The lines after each |
  302. # become the content of the configuration yaml file. The first line after this is a JCasC root element, eg jenkins, credentials,
  303. # etc. Best reference is https://<jenkins_url>/configuration-as-code/reference. The example below creates a welcome message:
  304. JCasC:
  305. defaultConfig: true
  306. configUrls: []
  307. # - https://acme.org/jenkins.yaml
  308. # Remote URL:s for configuration files.
  309. configScripts: {}
  310. # welcome-message: |
  311. # jenkins:
  312. # systemMessage: Welcome to our CI\CD server. This Jenkins is configured and managed 'as code'.
  313. # Allows adding to the top-level security JCasC section. For legacy, default the chart includes apiToken configurations
  314. security:
  315. apiToken:
  316. creationOfLegacyTokenEnabled: false
  317. tokenGenerationOnCreationEnabled: false
  318. usageStatisticsEnabled: true
  319. # Ignored if securityRealm is defined in controller.JCasC.configScripts
  320. securityRealm: |-
  321. local:
  322. allowsSignup: false
  323. enableCaptcha: false
  324. users:
  325. - id: "${chart-admin-username}"
  326. name: "Jenkins Admin"
  327. password: "${chart-admin-password}"
  328. # Ignored if authorizationStrategy is defined in controller.JCasC.configScripts
  329. authorizationStrategy: |-
  330. loggedInUsersCanDoAnything:
  331. allowAnonymousRead: false
  332. # Optionally specify additional init-containers
  333. customInitContainers: []
  334. # - name: custom-init
  335. # image: "alpine:3.7"
  336. # imagePullPolicy: Always
  337. # command: [ "uname", "-a" ]
  338. sidecars:
  339. configAutoReload:
  340. # If enabled: true, Jenkins Configuration as Code will be reloaded on-the-fly without a reboot. If false or not-specified,
  341. # jcasc changes will cause a reboot and will only be applied at the subsequent start-up. Auto-reload uses the
  342. # http://<jenkins_url>/reload-configuration-as-code endpoint to reapply config when changes to the configScripts are detected.
  343. enabled: true
  344. image: kiwigrid/k8s-sidecar:1.24.4
  345. imagePullPolicy: IfNotPresent
  346. resources: {}
  347. # limits:
  348. # cpu: 100m
  349. # memory: 100Mi
  350. # requests:
  351. # cpu: 50m
  352. # memory: 50Mi
  353. # How many connection-related errors to retry on
  354. reqRetryConnect: 10
  355. # env:
  356. # - name: REQ_TIMEOUT
  357. # value: "30"
  358. # SSH port value can be set to any unused TCP port. The default, 1044, is a non-standard SSH port that has been chosen at random.
  359. # Is only used to reload jcasc config from the sidecar container running in the Jenkins controller pod.
  360. # This TCP port will not be open in the pod (unless you specifically configure this), so Jenkins will not be
  361. # accessible via SSH from outside of the pod. Note if you use non-root pod privileges (runAsUser & fsGroup),
  362. # this must be > 1024:
  363. sshTcpPort: 1044
  364. # folder in the pod that should hold the collected dashboards:
  365. folder: "/var/jenkins_home/casc_configs"
  366. # If specified, the sidecar will search for JCasC config-maps inside this namespace.
  367. # Otherwise the namespace in which the sidecar is running will be used.
  368. # It's also possible to specify ALL to search in all namespaces:
  369. # searchNamespace:
  370. containerSecurityContext:
  371. readOnlyRootFilesystem: true
  372. allowPrivilegeEscalation: false
  373. # Allows you to inject additional/other sidecars
  374. other: []
  375. ## The example below runs the client for https://smee.io as sidecar container next to Jenkins,
  376. ## that allows to trigger build behind a secure firewall.
  377. ## https://jenkins.io/blog/2019/01/07/webhook-firewalls/#triggering-builds-with-webhooks-behind-a-secure-firewall
  378. ##
  379. ## Note: To use it you should go to https://smee.io/new and update the url to the generete one.
  380. # - name: smee
  381. # image: docker.io/twalter/smee-client:1.0.2
  382. # args: ["--port", "{{ .Values.controller.servicePort }}", "--path", "/github-webhook/", "--url", "https://smee.io/new"]
  383. # resources:
  384. # limits:
  385. # cpu: 50m
  386. # memory: 128Mi
  387. # requests:
  388. # cpu: 10m
  389. # memory: 32Mi
  390. # Name of the Kubernetes scheduler to use
  391. schedulerName: ""
  392. # Node labels and tolerations for pod assignment
  393. # ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector
  394. # ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#taints-and-tolerations-beta-feature
  395. nodeSelector:
  396. kubernetes.io/hostname: k8sw4
  397. terminationGracePeriodSeconds:
  398. terminationMessagePath:
  399. terminationMessagePolicy:
  400. tolerations: []
  401. affinity: {}
  402. # Leverage a priorityClass to ensure your pods survive resource shortages
  403. # ref: https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/
  404. priorityClassName:
  405. podAnnotations: {}
  406. # Add StatefulSet annotations
  407. statefulSetAnnotations: {}
  408. # StatefulSet updateStrategy
  409. # ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#update-strategies
  410. updateStrategy: {}
  411. ingress:
  412. enabled: true
  413. # Override for the default paths that map requests to the backend
  414. paths: []
  415. # - backend:
  416. # serviceName: ssl-redirect
  417. # servicePort: use-annotation
  418. # - backend:
  419. # serviceName: >-
  420. # {{ template "jenkins.fullname" . }}
  421. # # Don't use string here, use only integer value!
  422. # servicePort: 8080
  423. # For Kubernetes v1.14+, use 'networking.k8s.io/v1beta1'
  424. # For Kubernetes v1.19+, use 'networking.k8s.io/v1'
  425. apiVersion: "extensions/v1beta1"
  426. labels: {}
  427. annotations: {}
  428. # kubernetes.io/ingress.class: nginx
  429. # kubernetes.io/tls-acme: "true"
  430. # For Kubernetes >= 1.18 you should specify the ingress-controller via the field ingressClassName
  431. # See https://kubernetes.io/blog/2020/04/02/improvements-to-the-ingress-api-in-kubernetes-1.18/#specifying-the-class-of-an-ingress
  432. ingressClassName: nginx
  433. # Set this path to jenkinsUriPrefix above or use annotations to rewrite path
  434. # path: "/jenkins"
  435. # configures the hostname e.g. jenkins.example.com
  436. hostName: "jenkins.cestong.com.cn"
  437. tls:
  438. # - secretName: jenkins.cluster.local
  439. # hosts:
  440. # - jenkins.cluster.local
  441. # often you want to have your controller all locked down and private
  442. # but you still want to get webhooks from your SCM
  443. # A secondary ingress will let you expose different urls
  444. # with a differnt configuration
  445. secondaryingress:
  446. enabled: false
  447. # paths you want forwarded to the backend
  448. # ex /github-webhook
  449. paths: []
  450. # For Kubernetes v1.14+, use 'networking.k8s.io/v1beta1'
  451. # For Kubernetes v1.19+, use 'networking.k8s.io/v1'
  452. apiVersion: "extensions/v1beta1"
  453. labels: {}
  454. annotations: {}
  455. # kubernetes.io/ingress.class: nginx
  456. # kubernetes.io/tls-acme: "true"
  457. # For Kubernetes >= 1.18 you should specify the ingress-controller via the field ingressClassName
  458. # See https://kubernetes.io/blog/2020/04/02/improvements-to-the-ingress-api-in-kubernetes-1.18/#specifying-the-class-of-an-ingress
  459. # ingressClassName: nginx
  460. # configures the hostname e.g. jenkins-external.example.com
  461. hostName:
  462. tls:
  463. # - secretName: jenkins-external.example.com
  464. # hosts:
  465. # - jenkins-external.example.com
  466. # If you're running on GKE and need to configure a backendconfig
  467. # to finish ingress setup, use the following values.
  468. # Docs: https://cloud.google.com/kubernetes-engine/docs/concepts/backendconfig
  469. backendconfig:
  470. enabled: false
  471. apiVersion: "extensions/v1beta1"
  472. name:
  473. labels: {}
  474. annotations: {}
  475. spec: {}
  476. # Openshift route
  477. route:
  478. enabled: false
  479. labels: {}
  480. annotations: {}
  481. # path: "/jenkins"
  482. # controller.hostAliases allows for adding entries to Pod /etc/hosts:
  483. # https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/
  484. hostAliases: []
  485. # - ip: 192.168.50.50
  486. # hostnames:
  487. # - something.local
  488. # - ip: 10.0.50.50
  489. # hostnames:
  490. # - other.local
  491. # Expose Prometheus metrics
  492. prometheus:
  493. # If enabled, add the prometheus plugin to the list of plugins to install
  494. # https://plugins.jenkins.io/prometheus
  495. enabled: false
  496. # Additional labels to add to the ServiceMonitor object
  497. serviceMonitorAdditionalLabels: {}
  498. # Set a custom namespace where to deploy ServiceMonitor resource
  499. # serviceMonitorNamespace: monitoring
  500. scrapeInterval: 60s
  501. # This is the default endpoint used by the prometheus plugin
  502. scrapeEndpoint: /prometheus
  503. # Additional labels to add to the PrometheusRule object
  504. alertingRulesAdditionalLabels: {}
  505. # An array of prometheus alerting rules
  506. # See here: https://prometheus.io/docs/prometheus/latest/configuration/alerting_rules/
  507. # The `groups` root object is added by default, simply add the rule entries
  508. alertingrules: []
  509. # Set a custom namespace where to deploy PrometheusRule resource
  510. prometheusRuleNamespace: ""
  511. # RelabelConfigs to apply to samples before scraping. Prometheus Operator automatically adds
  512. # relabelings for a few standard Kubernetes fields. The original scrape job’s name
  513. # is available via the __tmp_prometheus_job_name label.
  514. # More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config
  515. relabelings: []
  516. # MetricRelabelConfigs to apply to samples before ingestion.
  517. metricRelabelings: []
  518. googlePodMonitor:
  519. # If enabled, It creates Google Managed Prometheus scraping config
  520. enabled: false
  521. # Set a custom namespace where to deploy PodMonitoring resource
  522. # serviceMonitorNamespace: ""
  523. scrapeInterval: 60s
  524. # This is the default endpoint used by the prometheus plugin
  525. scrapeEndpoint: /prometheus
  526. # Can be used to disable rendering controller test resources when using helm template
  527. testEnabled: true
  528. httpsKeyStore:
  529. jenkinsHttpsJksSecretName: ''
  530. jenkinsHttpsJksSecretKey: "jenkins-jks-file"
  531. jenkinsHttpsJksPasswordSecretName: ""
  532. jenkinsHttpsJksPasswordSecretKey: "https-jks-password"
  533. enable: false
  534. disableSecretMount: false
  535. httpPort: 8081
  536. path: "/var/jenkins_keystore"
  537. fileName: "keystore.jks"
  538. password: "password"
  539. # Convert keystore.jks files content to base64 ( cat keystore.jks | base64 ) and put the output here
  540. jenkinsKeyStoreBase64Encoded: |
  541. /u3+7QAAAAIAAAABAAAAAQANamVua2luc2NpLmNvbQAAAW2r/b1ZAAAFATCCBP0wDgYKKwYBBAEq
  542. AhEBAQUABIIE6QbCqasvoHS0pSwYqSvdydMCB9t+VNfwhFIiiuAelJfO5sSe2SebJbtwHgLcRz1Z
  543. gMtWgOSFdl3bWSzA7vrW2LED52h+jXLYSWvZzuDuh8hYO85m10ikF6QR+dTi4jra0whIFDvq3pxe
  544. TnESxEsN+DvbZM3jA3qsjQJSeISNpDjO099dqQvHpnCn18lyk7J4TWJ8sOQQb1EM2zDAfAOSqA/x
  545. QuPEFl74DlY+5DIk6EBvpmWhaMSvXzWZACGA0sYqa157dq7O0AqmuLG/EI5EkHETO4CrtBW+yLcy
  546. 2dUCXOMA+j+NjM1BjrQkYE5vtSfNO6lFZcISyKo5pTFlcA7ut0Fx2nZ8GhHTn32CpeWwNcZBn1gR
  547. pZVt6DxVVkhTAkMLhR4rL2wGIi/1WRs23ZOLGKtyDNvDHnQyDiQEoJGy9nAthA8aNHa3cfdF10vB
  548. Drb19vtpFHmpvKEEhpk2EBRF4fTi644Fuhu2Ied6118AlaPvEea+n6G4vBz+8RWuVCmZjLU+7h8l
  549. Hy3/WdUPoIL5eW7Kz+hS+sRTFzfu9C48dMkQH3a6f3wSY+mufizNF9U298r98TnYy+PfDJK0bstG
  550. Ph6yPWx8DGXKQBwrhWJWXI6JwZDeC5Ny+l8p1SypTmAjpIaSW3ge+KgcL6Wtt1R5hUV1ajVwVSUi
  551. HF/FachKqPqyLJFZTGjNrxnmNYpt8P1d5JTvJfmfr55Su/P9n7kcyWp7zMcb2Q5nlXt4tWogOHLI
  552. OzEWKCacbFfVHE+PpdrcvCVZMDzFogIq5EqGTOZe2poPpBVE+1y9mf5+TXBegy5HToLWvmfmJNTO
  553. NCDuBjgLs2tdw2yMPm4YEr57PnMX5gGTC3f2ZihXCIJDCRCdQ9sVBOjIQbOCzxFXkVITo0BAZhCi
  554. Yz61wt3Ud8e//zhXWCkCsSV+IZCxxPzhEFd+RFVjW0Nm9hsb2FgAhkXCjsGROgoleYgaZJWvQaAg
  555. UyBzMmKDPKTllBHyE3Gy1ehBNGPgEBChf17/9M+j8pcm1OmlM434ctWQ4qW7RU56//yq1soFY0Te
  556. fu2ei03a6m68fYuW6s7XEEK58QisJWRAvEbpwu/eyqfs7PsQ+zSgJHyk2rO95IxdMtEESb2GRuoi
  557. Bs+AHNdYFTAi+GBWw9dvEgqQ0Mpv0//6bBE/Fb4d7b7f56uUNnnE7mFnjGmGQN+MvC62pfwfvJTT
  558. EkT1iZ9kjM9FprTFWXT4UmO3XTvesGeE50sV9YPm71X4DCQwc4KE8vyuwj0s6oMNAUACW2ClU9QQ
  559. y0tRpaF1tzs4N42Q5zl0TzWxbCCjAtC3u6xf+c8MCGrr7DzNhm42LOQiHTa4MwX4x96q7235oiAU
  560. iQqSI/hyF5yLpWw4etyUvsx2/0/0wkuTU1FozbLoCWJEWcPS7QadMrRRISxHf0YobIeQyz34regl
  561. t1qSQ3dCU9D6AHLgX6kqllx4X0fnFq7LtfN7fA2itW26v+kAT2QFZ3qZhINGfofCja/pITC1uNAZ
  562. gsJaTMcQ600krj/ynoxnjT+n1gmeqThac6/Mi3YlVeRtaxI2InL82ZuD+w/dfY9OpPssQjy3xiQa
  563. jPuaMWXRxz/sS9syOoGVH7XBwKrWpQcpchozWJt40QV5DslJkclcr8aC2AGlzuJMTdEgz1eqV0+H
  564. bAXG9HRHN/0eJTn1/QAAAAEABVguNTA5AAADjzCCA4swggJzAhRGqVxH4HTLYPGO4rzHcCPeGDKn
  565. xTANBgkqhkiG9w0BAQsFADCBgTELMAkGA1UEBhMCY2ExEDAOBgNVBAgMB29udGFyaW8xEDAOBgNV
  566. BAcMB3Rvcm9udG8xFDASBgNVBAoMC2plbmtpbnN0ZXN0MRkwFwYDVQQDDBBqZW5raW5zdGVzdC5p
  567. bmZvMR0wGwYJKoZIhvcNAQkBFg50ZXN0QHRlc3QuaW5mbzAeFw0xOTEwMDgxNTI5NTVaFw0xOTEx
  568. MDcxNTI5NTVaMIGBMQswCQYDVQQGEwJjYTEQMA4GA1UECAwHb250YXJpbzEQMA4GA1UEBwwHdG9y
  569. b250bzEUMBIGA1UECgwLamVua2luc3Rlc3QxGTAXBgNVBAMMEGplbmtpbnN0ZXN0LmluZm8xHTAb
  570. BgkqhkiG9w0BCQEWDnRlc3RAdGVzdC5pbmZvMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
  571. AQEA02q352JTHGvROMBhSHvSv+vnoOTDKSTz2aLQn0tYrIRqRo+8bfmMjXuhkwZPSnCpvUGNAJ+w
  572. Jrt/dqMoYUjCBkjylD/qHmnXN5EwS1cMg1Djh65gi5JJLFJ7eNcoSsr/0AJ+TweIal1jJSP3t3PF
  573. 9Uv21gm6xdm7HnNK66WpUUXLDTKaIs/jtagVY1bLOo9oEVeLN4nT2CYWztpMvdCyEDUzgEdDbmrP
  574. F5nKUPK5hrFqo1Dc5rUI4ZshL3Lpv398aMxv6n2adQvuL++URMEbXXBhxOrT6rCtYzbcR5fkwS9i
  575. d3Br45CoWOQro02JAepoU0MQKY5+xQ4Bq9Q7tB9BAwIDAQABMA0GCSqGSIb3DQEBCwUAA4IBAQAe
  576. 4xc+mSvKkrKBHg9/zpkWgZUiOp4ENJCi8H4tea/PCM439v6y/kfjT/okOokFvX8N5aa1OSz2Vsrl
  577. m8kjIc6hiA7bKzT6lb0EyjUShFFZ5jmGVP4S7/hviDvgB5yEQxOPpumkdRP513YnEGj/o9Pazi5h
  578. /MwpRxxazoda9r45kqQpyG+XoM4pB+Fd3JzMc4FUGxfVPxJU4jLawnJJiZ3vqiSyaB0YyUL+Er1Q
  579. 6NnqtR4gEBF0ZVlQmkycFvD4EC2boP943dLqNUvop+4R3SM1QMM6P5u8iTXtHd/VN4MwMyy1wtog
  580. hYAzODo1Jt59pcqqKJEas0C/lFJEB3frw4ImNx5fNlJYOpx+ijfQs9m39CevDq0=
  581. agent:
  582. enabled: true
  583. defaultsProviderTemplate: ""
  584. # URL for connecting to the Jenkins controller
  585. jenkinsUrl:
  586. # connect to the specified host and port, instead of connecting directly to the Jenkins controller
  587. jenkinsTunnel:
  588. kubernetesConnectTimeout: 5
  589. kubernetesReadTimeout: 15
  590. maxRequestsPerHostStr: "32"
  591. retentionTimeout: 5
  592. waitForPodSec: 600
  593. namespace:
  594. # private registry for agent image
  595. jnlpregistry:
  596. image: "jenkins/inbound-agent"
  597. tag: "3107.v665000b_51092-15"
  598. workingDir: "/home/jenkins/agent"
  599. nodeUsageMode: "NORMAL"
  600. customJenkinsLabels: []
  601. # name of the secret to be used for image pulling
  602. imagePullSecretName:
  603. componentName: "jenkins-agent"
  604. websocket: false
  605. directConnection: false
  606. privileged: false
  607. runAsUser:
  608. runAsGroup:
  609. hostNetworking: false
  610. resources:
  611. requests:
  612. cpu: "512m"
  613. memory: "512Mi"
  614. # ephemeralStorage:
  615. limits:
  616. cpu: "512m"
  617. memory: "512Mi"
  618. # ephemeralStorage:
  619. livenessProbe: {}
  620. # execArgs: "cat /tmp/healthy"
  621. # failureThreshold: 3
  622. # initialDelaySeconds: 0
  623. # periodSeconds: 10
  624. # successThreshold: 1
  625. # timeoutSeconds: 1
  626. # You may want to change this to true while testing a new image
  627. alwaysPullImage: false
  628. # Controls how agent pods are retained after the Jenkins build completes
  629. # Possible values: Always, Never, OnFailure
  630. podRetention: "Never"
  631. # Disable if you do not want the Yaml the agent pod template to show up
  632. # in the job Console Output. This can be helpful for either security reasons
  633. # or simply to clean up the output to make it easier to read.
  634. showRawYaml: true
  635. # You can define the volumes that you want to mount for this container
  636. # Allowed types are: ConfigMap, EmptyDir, HostPath, Nfs, PVC, Secret
  637. # Configure the attributes as they appear in the corresponding Java class for that type
  638. # https://github.com/jenkinsci/kubernetes-plugin/tree/master/src/main/java/org/csanchez/jenkins/plugins/kubernetes/volumes
  639. volumes: []
  640. # - type: ConfigMap
  641. # configMapName: myconfigmap
  642. # mountPath: /var/myapp/myconfigmap
  643. # - type: EmptyDir
  644. # mountPath: /var/myapp/myemptydir
  645. # memory: false
  646. # - type: HostPath
  647. # hostPath: /var/lib/containers
  648. # mountPath: /var/myapp/myhostpath
  649. # - type: Nfs
  650. # mountPath: /var/myapp/mynfs
  651. # readOnly: false
  652. # serverAddress: "192.0.2.0"
  653. # serverPath: /var/lib/containers
  654. # - type: PVC
  655. # claimName: mypvc
  656. # mountPath: /var/myapp/mypvc
  657. # readOnly: false
  658. # - type: Secret
  659. # defaultMode: "600"
  660. # mountPath: /var/myapp/mysecret
  661. # secretName: mysecret
  662. # Pod-wide environment, these vars are visible to any container in the agent pod
  663. # You can define the workspaceVolume that you want to mount for this container
  664. # Allowed types are: DynamicPVC, EmptyDir, HostPath, Nfs, PVC
  665. # Configure the attributes as they appear in the corresponding Java class for that type
  666. # https://github.com/jenkinsci/kubernetes-plugin/tree/master/src/main/java/org/csanchez/jenkins/plugins/kubernetes/volumes/workspace
  667. workspaceVolume: {}
  668. ## DynamicPVC example
  669. # type: DynamicPVC
  670. # configMapName: myconfigmap
  671. ## EmptyDir example
  672. # type: EmptyDir
  673. # memory: false
  674. ## HostPath example
  675. # type: HostPath
  676. # hostPath: /var/lib/containers
  677. ## NFS example
  678. # type: Nfs
  679. # readOnly: false
  680. # serverAddress: "192.0.2.0"
  681. # serverPath: /var/lib/containers
  682. ## PVC example
  683. # type: PVC
  684. # claimName: mypvc
  685. # readOnly: false
  686. #
  687. # Pod-wide environment, these vars are visible to any container in the agent pod
  688. envVars: []
  689. # - name: PATH
  690. # value: /usr/local/bin
  691. # Mount a secret as environment variable
  692. secretEnvVars: []
  693. # - key: PATH
  694. # optional: false # default: false
  695. # secretKey: MY-K8S-PATH
  696. # secretName: my-k8s-secret
  697. nodeSelector:
  698. kubernetes.io/hostname: k8sw4
  699. # Key Value selectors. Ex:
  700. # jenkins-agent: v1
  701. # Executed command when side container gets started
  702. command:
  703. args: "${computer.jnlpmac} ${computer.name}"
  704. # Side container name
  705. sideContainerName: "jnlp"
  706. # Doesn't allocate pseudo TTY by default
  707. TTYEnabled: false
  708. # Max number of spawned agent
  709. containerCap: 10
  710. # Pod name
  711. podName: "default"
  712. # Allows the Pod to remain active for reuse until the configured number of
  713. # minutes has passed since the last step was executed on it.
  714. idleMinutes: 0
  715. # Raw yaml template for the Pod. For example this allows usage of toleration for agent pods.
  716. # https://github.com/jenkinsci/kubernetes-plugin#using-yaml-to-define-pod-templates
  717. # https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
  718. yamlTemplate: ""
  719. # yamlTemplate: |-
  720. # apiVersion: v1
  721. # kind: Pod
  722. # spec:
  723. # tolerations:
  724. # - key: "key"
  725. # operator: "Equal"
  726. # value: "value"
  727. # Defines how the raw yaml field gets merged with yaml definitions from inherited pod templates: merge or override
  728. yamlMergeStrategy: "override"
  729. # Timeout in seconds for an agent to be online
  730. connectTimeout: 100
  731. # Annotations to apply to the pod.
  732. annotations: {}
  733. # Add additional containers to the agents.
  734. # Containers specified here are added to all agents. Set key empty to remove container from additional agents.
  735. additionalContainers: []
  736. # - sideContainerName: dind
  737. # image: docker
  738. # tag: dind
  739. # command: dockerd-entrypoint.sh
  740. # args: ""
  741. # privileged: true
  742. # resources:
  743. # requests:
  744. # cpu: 500m
  745. # memory: 1Gi
  746. # limits:
  747. # cpu: 1
  748. # memory: 2Gi
  749. # Disable the default Jenkins Agent configuration.
  750. # Useful when configuring agents only with the podTemplates value, since the default podTemplate populated by values mentioned above will be excluded in the rendered template.
  751. disableDefaultAgent: false
  752. # Below is the implementation of custom pod templates for the default configured kubernetes cloud.
  753. # Add a key under podTemplates for each pod template. Each key (prior to | character) is just a label, and can be any value.
  754. # Keys are only used to give the pod template a meaningful name. The only restriction is they may only contain RFC 1123 \ DNS label
  755. # characters: lowercase letters, numbers, and hyphens. Each pod template can contain multiple containers.
  756. # For this pod templates configuration to be loaded the following values must be set:
  757. # controller.JCasC.defaultConfig: true
  758. # Best reference is https://<jenkins_url>/configuration-as-code/reference#Cloud-kubernetes. The example below creates a python pod template.
  759. podTemplates: {}
  760. # python: |
  761. # - name: python
  762. # label: jenkins-python
  763. # serviceAccount: jenkins
  764. # containers:
  765. # - name: python
  766. # image: python:3
  767. # command: "/bin/sh -c"
  768. # args: "cat"
  769. # ttyEnabled: true
  770. # privileged: true
  771. # resourceRequestCpu: "400m"
  772. # resourceRequestMemory: "512Mi"
  773. # resourceLimitCpu: "1"
  774. # resourceLimitMemory: "1024Mi"
  775. # Here you can add additional agents
  776. # They inherit all values from `agent` so you only need to specify values which differ
  777. additionalAgents: {}
  778. # maven:
  779. # podName: maven
  780. # customJenkinsLabels: maven
  781. # # An example of overriding the jnlp container
  782. # # sideContainerName: jnlp
  783. # image: jenkins/jnlp-agent-maven
  784. # tag: latest
  785. # python:
  786. # podName: python
  787. # customJenkinsLabels: python
  788. # sideContainerName: python
  789. # image: python
  790. # tag: "3"
  791. # command: "/bin/sh -c"
  792. # args: "cat"
  793. # TTYEnabled: true
  794. persistence:
  795. enabled: true
  796. ## A manually managed Persistent Volume and Claim
  797. ## Requires persistence.enabled: true
  798. ## If defined, PVC must be created manually before volume will be bound
  799. existingClaim:
  800. ## jenkins data Persistent Volume Storage Class
  801. ## If defined, storageClassName: <storageClass>
  802. ## If set to "-", storageClassName: "", which disables dynamic provisioning
  803. ## If undefined (the default) or set to null, no storageClassName spec is
  804. ## set, choosing the default provisioner. (gp2 on AWS, standard on
  805. ## GKE, AWS & OpenStack)
  806. ##
  807. storageClass: "openebs-hostpath"
  808. annotations: {}
  809. labels: {}
  810. accessMode: "ReadWriteOnce"
  811. size: "8Gi"
  812. # Existing data source to clone PVC from
  813. # ref: https://kubernetes.io/docs/concepts/storage/volume-pvc-datasource/
  814. dataSource:
  815. # name: PVC-NAME
  816. # kind: PersistentVolumeClaim
  817. volumes:
  818. - name: dockersock
  819. hostPath:
  820. path: "/var/run/docker.sock"
  821. mounts:
  822. - mountPath: /var/run/docker.sock
  823. name: dockersock
  824. networkPolicy:
  825. # Enable creation of NetworkPolicy resources.
  826. enabled: false
  827. # For Kubernetes v1.4, v1.5 and v1.6, use 'extensions/v1beta1'
  828. # For Kubernetes v1.7, use 'networking.k8s.io/v1'
  829. apiVersion: networking.k8s.io/v1
  830. # You can allow agents to connect from both within the cluster (from within specific/all namespaces) AND/OR from a given external IP range
  831. internalAgents:
  832. allowed: true
  833. podLabels: {}
  834. namespaceLabels: {}
  835. # project: myproject
  836. externalAgents: {}
  837. # ipCIDR: 172.17.0.0/16
  838. # except:
  839. # - 172.17.1.0/24
  840. ## Install Default RBAC roles and bindings
  841. rbac:
  842. create: true
  843. readSecrets: false
  844. serviceAccount:
  845. create: true
  846. # The name of the service account is autogenerated by default
  847. name:
  848. annotations: {}
  849. extraLabels: {}
  850. imagePullSecretName:
  851. serviceAccountAgent:
  852. # Specifies whether a ServiceAccount should be created
  853. create: false
  854. # The name of the ServiceAccount to use.
  855. # If not set and create is true, a name is generated using the fullname template
  856. name:
  857. annotations: {}
  858. extraLabels: {}
  859. imagePullSecretName:
  860. ## Backup cronjob configuration
  861. ## Ref: https://github.com/maorfr/kube-tasks
  862. backup:
  863. # Backup must use RBAC
  864. # So by enabling backup you are enabling RBAC specific for backup
  865. enabled: false
  866. # Used for label app.kubernetes.io/component
  867. componentName: "backup"
  868. # Schedule to run jobs. Must be in cron time format
  869. # Ref: https://crontab.guru/
  870. schedule: "0 2 * * *"
  871. labels: {}
  872. serviceAccount:
  873. create: true
  874. name:
  875. annotations: {}
  876. # Example for authorization to AWS S3 using kube2iam or IRSA
  877. # Can also be done using environment variables
  878. # iam.amazonaws.com/role: "jenkins"
  879. # "eks.amazonaws.com/role-arn": "arn:aws:iam::123456789012:role/jenkins-backup"
  880. # Set this to terminate the job that is running/failing continously and set the job status to "Failed"
  881. activeDeadlineSeconds: ""
  882. image:
  883. repository: "maorfr/kube-tasks"
  884. tag: "0.2.0"
  885. imagePullSecretName:
  886. # Additional arguments for kube-tasks
  887. # Ref: https://github.com/maorfr/kube-tasks#simple-backup
  888. extraArgs: []
  889. # Add existingSecret for AWS credentials
  890. existingSecret: {}
  891. ## Example for using an existing secret
  892. # jenkinsaws:
  893. ## Use this key for AWS access key ID
  894. # awsaccesskey: jenkins_aws_access_key
  895. ## Use this key for AWS secret access key
  896. # awssecretkey: jenkins_aws_secret_key
  897. # Add additional environment variables
  898. # jenkinsgcp:
  899. ## Use this key for GCP credentials
  900. # gcpcredentials: credentials.json
  901. env: []
  902. # Example environment variable required for AWS credentials chain
  903. # - name: "AWS_REGION"
  904. # value: "us-east-1"
  905. resources:
  906. requests:
  907. memory: 1Gi
  908. cpu: 1
  909. limits:
  910. memory: 1Gi
  911. cpu: 1
  912. # Destination to store the backup artifacts
  913. # Supported cloud storage services: AWS S3, Minio S3, Azure Blob Storage, Google Cloud Storage
  914. # Additional support can added. Visit this repository for details
  915. # Ref: https://github.com/maorfr/skbn
  916. destination: "s3://jenkins-data/backup"
  917. # By enabling only the jenkins_home/jobs folder gets backed up, not the whole jenkins instance
  918. onlyJobs: false
  919. # Enable backup pod security context (must be `true` if runAsUser or fsGroup are set)
  920. usePodSecurityContext: true
  921. # When setting runAsUser to a different value than 0 also set fsGroup to the same value:
  922. runAsUser: 1000
  923. fsGroup: 1000
  924. securityContextCapabilities: {}
  925. # drop:
  926. # - NET_RAW
  927. cronJob:
  928. apiVersion: batch/v1
  929. checkDeprecation: true
  930. awsSecurityGroupPolicies:
  931. enabled: false
  932. policies:
  933. - name: ""
  934. securityGroupIds: []
  935. podSelector: {}
  936. # Here you can configure unit tests values when executing the helm unittest in the CONTRIBUTING.md
  937. helmtest:
  938. # A testing framework for bash
  939. bats:
  940. # Bash Automated Testing System (BATS)
  941. image: "bats/bats"
  942. tag: "1.9.0"