The values.yaml file

The values.yaml file is used to pass values into the Deploy helm chart. The file contains default parameters that you can override.

The values.yaml file is typically located in the folder where you extracted the Deploy Helm chart zip file.

values yaml

For more information on the values.yaml, file see Values Files.

See the sample values.yaml file provided at the end of the topic, for more information.

Sample values.yaml file

Note: The sample values.yaml file given below, is used to deploy the built-in single PostgreSQL database instance and RabbitMQ HA instance. If you plan on using your own database and RabbitMQ instances, you must modify the values.yaml file accordingly.

# Default values for xl-deploy.
# This is a YAML-formatted file.
# Declare variables to be passed into your templates.

# No. of XL-Deploy master and worker pods to run.
XldMasterCount: 3
XldWorkerCount: 3

## XL-Deploy image version
## Ref: https://hub.docker.com/r/xebialabs/xl-deploy/tags
ImageRepository: "xebialabs/xl-deploy"
ImageTag: "10.0"

## Specify a imagePullPolicy
## Defaults to 'Always' if image tag is 'latest',set to 'IfNotPresent'
ImagePullPolicy: "Always"

## Secrets must be manually created in the namespace.
# ImagePullSecret: xlDeploy

## Ref: https://docs.openshift.com/container-platform/4.5/networking/routes/route-configuration.html
route:
  Enabled: true
  annotations:
    haproxy.router.openshift.io/cookie_name: SESSION_XLD
    haproxy.router.openshift.io/disable_cookies: "false"
    haproxy.router.openshift.io/rewrite-target: /
  path: /
  hosts:
    - app.example.com

## By default only Edge Termination is supported with Deploy.
## To configure SSL/TLS with Deploy uncomment the below tls section and provide the private key, certificate and optional caCertificate.
## The allowed values for insecureEdgeTerminationPolicy are: None or empty (for disabled), Allow or Redirect
## Ref: https://docs.openshift.com/container-platform/4.5/networking/routes/secured-routes.html
#  tls:
#    key: |-
#      -----BEGIN PRIVATE KEY-----
#      -----END PRIVATE KEY-----
#    certificate: |-
#      -----BEGIN CERTIFICATE-----
#      -----END CERTIFICATE-----
#    caCertificate: |-
#      -----BEGIN CERTIFICATE-----
#      -----END CERTIFICATE-----
#    insecureEdgeTerminationPolicy: Redirect

# https://docs.xebialabs.com/v.9.8/deploy/docker/docker-environment-variables/#get-started
AdminPassword: admin
  # Provide the admin password to be used

xldLicense:
# Convert xl-deploy.lic files content to base64 ( cat xl-deploy.lic | base64 -w 0 ) and put the output here

RepositoryKeystore:
# https://docs.xebialabs.com/v.9.8/deploy/how-to/update-the-xl-deploy-digital-certificate/#get-started
# Convert keystore.jks files content to base64 ( cat keystore.jks | base64 -w 0 ) and put the output here

KeystorePassphrase:
# Passphrase for keystore.jks file

resources: {}
  # We usually recommend not to specify default resources and to leave this as a conscious
  # choice for the user. This also increases chances charts run on environments with little
  # resources, such as Minikube. If you do want to specify resources, uncomment the following
  # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
  # limits:
  #  cpu: 3
  #  memory: 3Gi
  # requests:
  #  cpu: 0.7
  #  memory: 1700Mi

## Ref: https://github.com/bitnami/charts/blob/master/bitnami/postgresql/README.md
## Install postgresql chart. If you have an existing database deployment, set 'install' to 'false'.
postgresql:
  install: true
  postgresqlUsername: postgres
  postgresqlPassword: "postgres"
  postgresqlExtendedConf:
    listenAddresses: "'*'"
    maxConnections: "500"
  initdbScriptsSecret: postgresql-init-sql-xld
  service:
    port: 5432
  persistence:
    enabled: true
    storageClass: "-"
    size: 50Gi
    existingClaim:
  resources: {}
  #  requests:
  #    memory: "1Gi"
  #    cpu: "250m"
  #  limits:
  #    memory: "2Gi"
  #    cpu: "1"
  nodeSelector: {}
  affinity: {}
  tolerations: []
  volumePermissions:
    securityContext:
      runAsUser: auto
  securityContext:
    enabled: false
  containerSecurityContext:
    enabled: false
  shmVolume:
    chmod:
      enabled: false

## Ref: https://docs.xebialabs.com/v.9.7/deploy/how-to/configure-the-xl-deploy-sql-repository/#location-of-the-repository
## Ref: https://docs.xebialabs.com/v.9.7/deploy/docker/docker-environment-variables/
UseExistingDB:
  Enabled: false
  # If you want to use an existing database, change 'postgresql.install' to 'false'.
  # Set 'UseExistingDB.Enabled' to 'true'.Uncomment the following lines and provide the values.
  # XL_DB_URL:
  # XL_DB_USERNAME:
  # XL_DB_PASSWORD:

## Install rabbitmq chart. If you have an existing message queue deployment, set 'install' to 'false'.
## ref: https://github.com/helm/charts/blob/master/stable/rabbitmq-ha/README.md
rabbitmq-ha:
  install: true
  rabbitmqUsername: guest
  rabbitmqPassword: "guest"
  rabbitmqErlangCookie: DEPLOYRABBITMQCLUSTER
  rabbitmqMemoryHighWatermark: 500MB
  rabbitmqNodePort: 5672
  extraPlugins: |
    rabbitmq_shovel,
    rabbitmq_shovel_management,
    rabbitmq_federation,
    rabbitmq_federation_management,
    rabbitmq_jms_topic_exchange,
    rabbitmq_management,
  replicaCount: 3
  rbac:
    create: true
  service:
    type: ClusterIP
  persistentVolume:
    enabled: true
    storageClass: "-"
    size: 20Gi
    annotations: {}
    resources: {}
  #  requests:
  #    memory: "250Mi"
  #    cpu: "100m"
  #  limits:
  #    memory: "550Mi"
  #    cpu: "200m"
  definitions:
    policies: |-
      {
        "name": "ha-all",
        "pattern": ".*",
        "vhost": "/",
        "definition": {
          "ha-mode": "all",
          "ha-sync-mode": "automatic",
          "ha-sync-batch-size": 1
        }
      }
    globalParameters: |-
      {
          "name": "cluster_name",
          "value": ""
      }
  prometheus:
    operator:
      enabled: false

# Ref: https://docs.xebialabs.com/v.9.7/deploy/how-to/configure-task-queueing/#how-it-works
UseExistingMQ:
  Enabled: false
  # If you want to use a existing Message Queue, change the "rabbitmq-ha.install to false"
  # Set 'UseExistingMQ.Enabled' to 'true'.Uncomment the following lines and provide the values.
  # XLD_TASK_QUEUE_USERNAME:
  # XLD_TASK_QUEUE_PASSWORD:
  # XLD_TASK_QUEUE_URL:
  # XLD_TASK_QUEUE_DRIVER_CLASS_NAME:

## Configure extra options for liveness and readiness probes
HealthProbes: true
HealthProbesLivenessTimeout: 120
HealthProbesReadinessTimeout: 120
HealthProbeFailureThreshold: 12
HealthPeriodScans: 10

nodeSelector: {}

tolerations: []

## Affinity and anti-affinity
## Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
affinity: {}

## XL Deploy data Persistent Volume for 'XL Deploy export'
## If "Persistence.Enabled" set to "false", it will use hostPath.
Persistence:
  Enabled: true
  ## Choose storage class provided by your cloud provider, example "ssd" on GKE, AWS and OpenStack
  StorageClass: "nfs-client"
  Annotations: {}
  AccessMode: ReadWriteOnce
  XldExportPvcSize: 10Gi
  XldWorkPvcSize: 5Gi