| Giorgi Lekveishvili | ee15ee2 | 2024-03-28 12:35:10 +0400 | [diff] [blame] | 1 | images: |
| 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 |
| 25 | additionalLabels: {} |
| 26 | |
| 27 | storageClasses: |
| 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 | |
| 58 | nfsWorkaround: |
| 59 | enabled: false |
| 60 | chownOnStartup: false |
| 61 | idDomain: localdomain.com |
| 62 | |
| 63 | |
| 64 | networkPolicies: |
| 65 | enabled: false |
| 66 | dnsPorts: |
| 67 | - 53 |
| 68 | - 8053 |
| 69 | |
| 70 | |
| 71 | gitRepositoryStorage: |
| 72 | externalPVC: |
| 73 | use: false |
| 74 | name: git-repositories-pvc |
| 75 | size: 5Gi |
| 76 | |
| 77 | logStorage: |
| 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 | |
| 96 | caCert: |
| 97 | |
| 98 | ingress: |
| 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 | |
| 128 | gitGC: |
| 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 | |
| 152 | gerrit: |
| 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 Lekveishvili | ef7f833 | 2024-04-08 19:46:54 +0400 | [diff] [blame^] | 259 | # If provided config section below will be ignored. |
| 260 | existingConfigMapName: "" |
| Giorgi Lekveishvili | ee15ee2 | 2024-03-28 12:35:10 +0400 | [diff] [blame] | 261 | # 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 |