images:
  registry:
    # The registry name must NOT contain a trailing slash
    name:
    ImagePullSecret:
      # Leave blank, if no ImagePullSecret is needed.
      name: image-pull-secret
      # If set to false, the gerrit-master chart expects either a ImagePullSecret
      # with the name configured above to be present on the cluster or that no
      # credentials are needed.
      create: false
      username:
      password:
  version: latest
  imagePullPolicy: Always


storageClasses:
  # Storage class used for storing logs and other pod-specific persisted data
  default:
    # If create is set to false, an existing StorageClass with the given
    # name is expected to exist in the cluster. Setting create to true will
    # create a storage class with the parameters given below.
    name: default
    create: false
    provisioner: kubernetes.io/aws-ebs
    reclaimPolicy: Delete
    # Use the parameters key to set all parameters needed for the provisioner
    parameters:
      type: gp2
      fsType: ext4
  # Storage class used for storing git repositories. Has to provide RWM access.
  shared:
    # If create is set to false, an existing StorageClass with RWM access
    # mode and the given name has to be provided.
    name: shared-storage
    create: false
    provisioner: nfs
    reclaimPolicy: Delete
    # Use the parameters key to set all parameters needed for the provisioner
    parameters:
      mountOptions: vers=4.1


gitRepositoryStorage:
  size: 5Gi


gitGC:
  image: k8sgerrit/git-gc

  schedule: 0 6,18 * * *

  resources:
    requests:
      cpu: 100m
      memory: 256Mi
    limits:
      cpu: 100m
      memory: 256Mi

  logging:
    persistence:
      enabled: true
      size: 1Gi


gerritMaster:
  images:
    gerritInit: k8sgerrit/gerrit-init
    gerritMaster: k8sgerrit/gerrit-master

  replicas: 1
  maxSurge: 25%
  # For just one replica, 100 % unavailability has to be allowed for updates to
  # work.
  maxUnavailable: 100%

  # The memory limit has to be higher than the configures heap-size for Java!
  resources:
    requests:
      cpu: 1
      memory: 5Gi
    limits:
      cpu: 1
      memory: 6Gi

  livenessProbe:
    initialDelaySeconds: 30
    periodSeconds: 5

  readinessProbe:
    initialDelaySeconds: 5
    periodSeconds: 1

  logging:
    persistence:
      enabled: true
      size: 1Gi

  service:
    type: NodePort
    http:
      port: 80

  h2Database:
    persistence:
      enabled: true
      size: 1Gi

  ingress:
    host:
    # The maximum body size to allow for requests. Use "0" to allow unlimited
    # reuqest body sizes.
    maxBodySize: 50m
    additionalAnnotations: {}
    #  nginx.ingress.kubernetes.io/server-alias: example.com
    #  nginx.ingress.kubernetes.io/whitelist-source-range: xxx.xxx.xxx.xxx
    tls:
      enabled: false
      cert: |-
        -----BEGIN CERTIFICATE-----

        -----END CERTIFICATE-----
      key: |-
        -----BEGIN RSA PRIVATE KEY-----

        -----END RSA PRIVATE KEY-----

  # `gerritMaster.keystore` expects a base64-encoded Java-keystore
  # Since Java keystores are binary files, adding the unencoded content and
  # automatic encoding using helm does not work here.
  keystore:

  config:
    # Some values are expected to have a specific value for the deployment installed
    # by this chart to work. These are marked with `# FIXED`.
    # Do not change them!
    gerrit: |-
      [gerrit]
        basePath = git # FIXED
        serverId = gerrit-master-1
        # The canonical web URL has to be set to the Ingress host, if an Ingress
        # is used. If a LoadBalancer-service is used, this should be set to the
        # LoadBalancer's external IP. This can only be done manually after installing
        # the chart, when you know the external IP the LoadBalancer got from the
        # cluster.
        canonicalWebUrl = http://example.com/
        disableReverseDnsLookup = true
      [database]
        type = h2
      [index]
        type = LUCENE
      [auth]
        type = DEVELOPMENT_BECOME_ANY_ACCOUNT
      [httpd]
        # If using an ingress use proxy-http or proxy-https
        listenUrl = proxy-http://*:8080/
      [sshd]
        listenAddress = off
      [transfer]
        timeout = 120 s
      [user]
        name = Gerrit Code Review
        email = gerrit@example.com
        anonymousCoward = Unnamed User
      [cache]
        directory = cache
      [container]
        user = gerrit # FIXED
        javaHome = /usr/lib/jvm/java-8-openjdk-amd64 # FIXED
        javaOptions = -Djavax.net.ssl.trustStore=/var/gerrit/etc/keystore # FIXED
        javaOptions = -Xms200m
        # Has to be lower than 'gerritMaster.resources.limits.memory'. Also
        # consider memories used by other applications in the container.
        javaOptions = -Xmx4g

    secure: |-
      # Database credentials should be the same as configured for the database
      # Gerrit-master chart, if the database was installed using the chart.
      [database]
        username = gerrit
        password = secret

      # Password for the keystore added as value for 'gerritSlave.keystore'
      # Only needed, if SSL is enabled.
      #[httpd]
      #  sslKeyPassword = gerrit

      # Credentials for replication targets
      # [remote "slave"]
      # username = git
      # password = secret

    replication: |-
      [gerrit]
        autoReload = false
        replicateOnStartup = true
        defaultForceUpdate = true

      # [remote "slave"]
      # url = http://gerrit-slave.example.com/git/${name}.git
      # replicationDelay = 0
      # timeout = 30
