blob: c23f55c58729dcbcf8271b1e816c114a6cd49fa8 [file] [log] [blame]
Giorgi Lekveishviliee15ee22024-03-28 12:35:10 +04001images:
2 busybox:
3 registry: docker.io
4 tag: latest
5 # Registry used for container images created by this project
6 registry:
7 # The registry name must NOT contain a trailing slash
8 name:
9 ImagePullSecret:
10 # Leave blank, if no ImagePullSecret is needed.
11 name: image-pull-secret
12 # If set to false, the gerrit chart expects either a ImagePullSecret
13 # with the name configured above to be present on the cluster or that no
14 # credentials are needed.
15 create: false
16 username:
17 password:
18 version: latest
19 imagePullPolicy: Always
20 # Additional ImagePullSecrets that already exist and should be used by the
21 # pods of this chart. E.g. to pull busybox from dockerhub.
22 additionalImagePullSecrets: []
23
24# Additional labels that should be applied to all resources
25additionalLabels: {}
26
27storageClasses:
28 # Storage class used for storing logs and other pod-specific persisted data
29 default:
30 # If create is set to false, an existing StorageClass with the given
31 # name is expected to exist in the cluster. Setting create to true will
32 # create a storage class with the parameters given below.
33 name: default
34 create: false
35 provisioner: kubernetes.io/aws-ebs
36 reclaimPolicy: Delete
37 # Use the parameters key to set all parameters needed for the provisioner
38 parameters:
39 type: gp2
40 fsType: ext4
41 mountOptions: []
42 allowVolumeExpansion: false
43 # Storage class used for storing git repositories. Has to provide RWM access.
44 shared:
45 # If create is set to false, an existing StorageClass with RWM access
46 # mode and the given name has to be provided.
47 name: shared-storage
48 create: false
49 provisioner: nfs
50 reclaimPolicy: Delete
51 # Use the parameters key to set all parameters needed for the provisioner
52 parameters:
53 mountOptions: vers=4.1
54 mountOptions: []
55 allowVolumeExpansion: false
56
57
58nfsWorkaround:
59 enabled: false
60 chownOnStartup: false
61 idDomain: localdomain.com
62
63
64networkPolicies:
65 enabled: false
66 dnsPorts:
67 - 53
68 - 8053
69
70
71gitRepositoryStorage:
72 externalPVC:
73 use: false
74 name: git-repositories-pvc
75 size: 5Gi
76
77logStorage:
78 enabled: false
79 externalPVC:
80 use: false
81 name: gerrit-logs-pvc
82 size: 5Gi
83 cleanup:
84 enabled: false
85 additionalPodLabels: {}
86 schedule: "0 0 * * *"
87 retentionDays: 14
88 resources:
89 requests:
90 cpu: 100m
91 memory: 256Mi
92 limits:
93 cpu: 100m
94 memory: 256Mi
95
96caCert:
97
98ingress:
99 enabled: false
100 host:
101 # The maximum body size to allow for requests. Use "0" to allow unlimited
102 # reuqest body sizes.
103 maxBodySize: 50m
104 additionalAnnotations:
105 kubernetes.io/ingress.class: nginx
106 # nginx.ingress.kubernetes.io/server-alias: example.com
107 # nginx.ingress.kubernetes.io/whitelist-source-range: xxx.xxx.xxx.xxx
108 tls:
109 enabled: false
110 secret:
111 create: true
112 # `name` will only be used, if `create` is set to false to bind an
113 # existing secret. Otherwise the name will be automatically generated to
114 # avoid conflicts between multiple chart installations.
115 name:
116 # `cert`and `key` will only be used, if the secret will be created by
117 # this chart.
118 cert: |-
119 -----BEGIN CERTIFICATE-----
120
121 -----END CERTIFICATE-----
122 key: |-
123 -----BEGIN RSA PRIVATE KEY-----
124
125 -----END RSA PRIVATE KEY-----
126
127
128gitGC:
129 image: k8sgerrit/git-gc
130
131 tolerations: []
132 nodeSelector: {}
133 affinity: {}
134 additionalPodLabels: {}
135
136 schedule: 0 6,18 * * *
137
138 resources:
139 requests:
140 cpu: 100m
141 memory: 256Mi
142 limits:
143 cpu: 100m
144 memory: 256Mi
145
146 logging:
147 persistence:
148 enabled: true
149 size: 1Gi
150
151
152gerrit:
153 images:
154 gerritInit: k8sgerrit/gerrit-init
155 gerrit: k8sgerrit/gerrit
156
157 tolerations: []
158 topologySpreadConstraints: {}
159 nodeSelector: {}
160 affinity: {}
161 additionalAnnotations: {}
162 additionalPodLabels: {}
163
164 replicas: 1
165 updatePartition: 0
166
167 # The memory limit has to be higher than the configures heap-size for Java!
168 resources:
169 requests:
170 cpu: 1
171 memory: 5Gi
172 limits:
173 cpu: 1
174 memory: 6Gi
175
176 persistence:
177 enabled: true
178 size: 10Gi
179
180 # If no value for probeScheme, the probe will use the default HTTP
181 probeScheme: HTTP
182
183 livenessProbe:
184 initialDelaySeconds: 30
185 periodSeconds: 5
186
187 readinessProbe:
188 initialDelaySeconds: 5
189 periodSeconds: 1
190
191 startupProbe:
192 initialDelaySeconds: 10
193 periodSeconds: 30
194
195 gracefulStopTimeout: 90
196
197 # The general NetworkPolicy rules implemented by this chart may be too restrictive
198 # for some setups, e.g. when trying to replicate to a Gerrit replica. Here
199 # custom rules may be added to whitelist some additional connections.
200 networkPolicy:
201 ingress: []
202 egress: []
203 # An example for an egress rule to allow replication to a Gerrit replica
204 # installed with the gerrit-replica setup in the same cluster and namespace
205 # by using the service as the replication destination
206 # (e.g. http://gerrit-replica-git-backend-service:80/git/${name}.git):
207 #
208 # - to:
209 # - podSelector:
210 # matchLabels:
211 # app: git-backend
212
213 service:
214 additionalAnnotations: {}
215 loadBalancerSourceRanges: []
216 type: NodePort
217 externalTrafficPolicy: Cluster
218 http:
219 port: 80
220 ssh:
221 enabled: false
222 port: 29418
223
224 # `gerrit.keystore` expects a base64-encoded Java-keystore
225 # Since Java keystores are binary files, adding the unencoded content and
226 # automatic encoding using helm does not work here.
227 keystore:
228
229 index:
230 # Either `lucene` or `elasticsearch`
231 type: lucene
232
233 pluginManagement:
234 plugins: []
235 # A plugin packaged in the gerrit.war-file
236 # - name: download-commands
237
238 # A plugin packaged in the gerrit.war-file that will also be installed as a
239 # lib
240 # - name: replication
241 # installAsLibrary: true
242
243 # A plugin that will be downloaded on startup
244 # - name: delete-project
245 # url: https://example.com/gerrit-plugins/delete-project.jar
246 # sha1:
247 # installAsLibrary: false
248
249 # Only downloaded plugins will be cached. This will be ignored, if no plugins
250 # are downloaded.
251 libs: []
252 cache:
253 enabled: false
254 size: 1Gi
255
256 priorityClassName:
257
258 etc:
Giorgi Lekveishvilief7f8332024-04-08 19:46:54 +0400259 # If provided config section below will be ignored.
260 existingConfigMapName: ""
Giorgi Lekveishviliee15ee22024-03-28 12:35:10 +0400261 # Some values are expected to have a specific value for the deployment installed
262 # by this chart to work. These are marked with `# FIXED`.
263 # Do not change them!
264 config:
265 gerrit.config: |-
266 [gerrit]
267 basePath = git # FIXED
268 serverId = gerrit-1
269 # The canonical web URL has to be set to the Ingress host, if an Ingress
270 # is used. If a LoadBalancer-service is used, this should be set to the
271 # LoadBalancer's external IP. This can only be done manually after installing
272 # the chart, when you know the external IP the LoadBalancer got from the
273 # cluster.
274 canonicalWebUrl = http://example.com/
275 disableReverseDnsLookup = true
276 [index]
277 type = LUCENE
278 [auth]
279 type = DEVELOPMENT_BECOME_ANY_ACCOUNT
280 [httpd]
281 # If using an ingress use proxy-http or proxy-https
282 listenUrl = proxy-http://*:8080/
283 requestLog = true
284 gracefulStopTimeout = 1m
285 [sshd]
286 listenAddress = off
287 [transfer]
288 timeout = 120 s
289 [user]
290 name = Gerrit Code Review
291 email = gerrit@example.com
292 anonymousCoward = Unnamed User
293 [cache]
294 directory = cache
295 [container]
296 user = gerrit # FIXED
297 javaHome = /usr/lib/jvm/java-17-openjdk # FIXED
298 javaOptions = -Djavax.net.ssl.trustStore=/var/gerrit/etc/keystore # FIXED
299 javaOptions = -Xms200m
300 # Has to be lower than 'gerrit.resources.limits.memory'. Also
301 # consider memories used by other applications in the container.
302 javaOptions = -Xmx4g
303
304 replication.config: |-
305 [gerrit]
306 autoReload = false
307 replicateOnStartup = true
308 defaultForceUpdate = true
309
310 # [remote "replica"]
311 # url = http://gerrit-replica.example.com/git/${name}.git
312 # replicationDelay = 0
313 # timeout = 30
314
315 secret:
316 secure.config: |-
317 # Password for the keystore added as value for 'gerritReplica.keystore'
318 # Only needed, if SSL is enabled.
319 #[httpd]
320 # sslKeyPassword = gerrit
321
322 # Credentials for replication targets
323 # [remote "replica"]
324 # username = git
325 # password = secret
326
327 # ssh_host_ecdsa_key: |-
328 # -----BEGIN EC PRIVATE KEY-----
329
330 # -----END EC PRIVATE KEY-----
331
332 # ssh_host_ecdsa_key.pub: ecdsa-sha2-nistp256...
333
334 additionalConfigMaps:
335 # - name:
336 # subDir:
337 # data:
338 # file.txt: test