Skip to main content
Version: Release 23.1

Parameters in the Custom Resource File

Here is the list of the main parameters for the Digital.ai Release Custom Resource (CR). The following table lists the parameters available in the Digital.ai Release's dairelease_cr.yaml file and their default values.

ParameterDescriptionDefault
K8sSetup.PlatformThe platform on which you install the chart.AWSEKS/AzureAKS/GoogleGKE/PlainK8s
AdminPasswordAdmin password for xl-releaseIf user does not provide password, random 10 character alphanumeric string will be generated
replicaCountNumber of release replicas3
ImageRepositoryImage repository namexebialabs/xl-release
ImageTagImage tag22.2.0
ImagePullPolicyImage pull policy, Defaults to Always if image tag is ’latest’,set to IfNotPresentAlways
ImagePullSecretSpecifies docker-registry secret names. Secrets must be manually created in the namespaceNA
xlrLicenseConvert xl-release.lic files content to base64 hereNA
RepositoryKeystoreConvert keystore.jks files content to base64 hereNA
KeystorePassphrasePassphrase for keystore.jks fileNA
HealthProbesWould you like a HealthProbes to be enabled?true
HealthProbesLivenessTimeoutDelay before liveness probe is initiated90
HealthProbesReadinessTimeoutDelay before readiness probe is initiated90
HealthProbeFailureThresholdMinimum consecutive failures for the probe to be considered failed after having succeeded12
HealthPeriodScansHow often to perform the probe10
Persistence.EnabledEnable persistence using PVCtrue
Persistence.AnnotationsAnnotations for the PVC
Persistence.AccessModePVC Access Mode for volumeReadWriteOnce
Persistence.SizeXLR PVC Storage Request for volume. For production grade setup, size must be changed5Gi
Persistence.StorageClassXLR PVC Storage Class for volume.NA
resourcesCPU/Memory resource requests/limits. User can change the parameter accordinglyNA
nodeSelectorNode labels for pod assignment
tolerationsToleration labels for pod assignment[]
affinityAffinity labels for pod assignment
release.configurationManagement.configuration.enabledEnable configuration management on a release - currently it is only deleting configuration files on the pod startuptrue
release.configurationManagement.configuration.resetFilesList of the files that will be deleted during a release pod startup[]
haproxy-ingress.installInstall haproxy subchart. If you have haproxy already installed, set install to falsefalse
haproxy-ingress.controller.kindType of deployment, DaemonSet or DeploymentDeployment
haproxy-ingress.controller.service.typeKubernetes Service type for haproxy. It can be changed to LoadBalancer or NodePortLoadBalancer
ingress.EnabledExposes HTTP and HTTPS routes from outside the cluster to services within the clustertrue
ingress.annotationsAnnotations for ingress controllerSee haproxy and nginx setup below table.
ingress.pathYou can route an Ingress to different Services based on the path/
ingress.hostsDNS name for accessing ui of Digital.ai Releaseexample.com
ingress.tls[].secretNameSecret file that contains the tls private key and certificateexample-secretsName
ingress.tls[].hostsDNS name for accessing ui of Digital.ai Release using tls.example.com
nginx-ingress-controller.installInstall nginx-controller subchart. If you have nginx already installed, set install to falsetrue
nginx-ingress-controller.kindType of deployment, DaemonSet or DeploymentDeployment
nginx-ingress-controller.service.typeKubernetes Service type for nginx. It can be changed to LoadBalancer or NodePortLoadBalancer
postgresql.installpostgresql chart with single instance. Install postgresql chart. If you have an existing database deployment, set install to false.true
postgresql.postgresqlUsernamePostgreSQL user (creates a non-admin user when postgresqlUsername is not postgres)postgres
postgresql.postgresqlPasswordPostgreSQL user passwordrandom 10 character alphanumeric string
postgresql.replication.enabledEnable replicationfalse
postgresql.postgresqlExtendedConf.listenAddressesSpecifies the TCP/IP address(es) on which the server is to listen for connections from client applications*
postgresql.postgresqlExtendedConf.maxConnectionsMaximum total connections500
postgresql.initdbScriptsSecretSecret with initdb scripts contain sensitive information
Note: This parameter can be used with initdbScriptsConfigMap or initdbScripts. The value is evaluated as a template.
postgresql-init-sql-xlr
postgresql.service.portPostgreSQL port5432
postgresql.persistence.enabledEnable persistence using PVCtrue
postgresql.persistence.storageClasshe storage Class that needs to be defined as PostgreSQLNA
postgresql.persistence.sizePVC Storage Request for PostgreSQL volume50Gi
postgresql.persistence.existingClaimProvide an existing PersistentVolumeClaim, the value is evaluated as a template.NA
postgresql.resources.requestsCPU/Memory resource requestsrequests: memory: 1Gi memory: cpu: 250m
postgresql.resources.limitsLimitslimits: memory: 2Gi, limits: cpu: 1
postgresql.nodeSelectorNode labels for pod assignment
postgresql.affinityAffinity labels for pod assignment
postgresql.tolerationsToleration labels for pod assignment[]
UseExistingDB.EnabledIf you want to use an existing database, change postgresql.install to false.false
UseExistingDB.XLR_DB_URLDatabase URL for xl-releaseNA
UseExistingDB.XLR_DB_USERDatabase User for xl-releaseNA
UseExistingDB.XLR_DB_PASSDatabase Password for xl-releaseNA
UseExistingDB.XLR_REPORT_DB_URLDatabase URL for xlr_reportNA
UseExistingDB.XLR_REPORT_DB_USERDatabase User for xlr_reportNA
UseExistingDB.XLR_REPORT_DB_PASSDatabase Password for xlr_reportNA
rabbitmq.installInstall rabbitmq chart. If you have an existing message queue deployment, set install to false.true
rabbitmq.auth.usernameRabbitMQ application usernameguest
rabbitmq.auth.passwordRabbitMQ application passwordrandom 24 character long alphanumeric string
rabbitmq.auth.erlangCookieErlang cookieRELEASERABBITMQCLUSTER
rabbitmq.memoryHighWatermarkMemory high watermark500MB
rabbitmq.service.nodePortNode port5672
rabbitmq.extraPluginsAdditional plugins to add to the default configmaprabbitmq_shovel,rabbitmq_shovel_management,rabbitmq_federation,rabbitmq_federation_management,rabbitmq_amqp1_0,rabbitmq_management
rabbitmq.replicaCountNumber of replicas3
rabbitmq.rbac.createIf true, create & use RBAC resourcestrue
rabbitmq.service.typeType of service to createClusterIP
rabbitmq.persistence.enabledIf set to True, persistent volume claims are createdtrue
rabbitmq.persistence.storageClassThe storage class that must be defined as RabbitMQNA
rabbitmq.persistence.sizePersistent volume size20Gi
rabbitmq.persistence.annotationsPersistent volume annotations
rabbitmq.persistence.resourcesPersistent Volume resources
UseExistingMQ.EnabledIf you want to use an existing Message Queue change rabbitmq.instal to falsefalse
UseExistingMQ.XLR_TASK_QUEUE_USERNAMEUsername for xl-task queueNA
UseExistingMQ.XLR_TASK_QUEUE_PASSWORDPassword for xl-task queueNA
UseExistingMQ.XLR_TASK_QUEUE_NAMEName for xl-task queueNA
UseExistingMQ.XLR_TASK_QUEUE_URLURL for xl-release task queueNA

The value of the ingress.annotations depends on the which installation is enabled: haproxy or nginx.

Following are default settings that needs to be set in case of haproxy installation (haproxy-ingress.install: true)

      kubernetes.io/ingress.class: haproxy-dai-xlr
ingress.kubernetes.io/ssl-redirect: "false"
ingress.kubernetes.io/rewrite-target: /
ingress.kubernetes.io/affinity: cookie
ingress.kubernetes.io/session-cookie-name: JSESSIONID
ingress.kubernetes.io/session-cookie-strategy: prefix
ingress.kubernetes.io/config-backend: |
option httpchk GET /ha/health HTTP/1.0

Following are default settings that needs to be set in case of nginx installation (nginx-ingress-controller.install: true), and that is also set in the default configuration:

      kubernetes.io/ingress.class: nginx-dai-xlr
nginx.ingress.kubernetes.io/affinity: cookie
nginx.ingress.kubernetes.io/proxy-connect-timeout: "60"
nginx.ingress.kubernetes.io/proxy-read-timeout: "60"
nginx.ingress.kubernetes.io/proxy-send-timeout: "60"
nginx.ingress.kubernetes.io/rewrite-target: /
nginx.ingress.kubernetes.io/session-cookie-name: JSESSIONID
nginx.ingress.kubernetes.io/ssl-redirect: "false"

If you need to update default properties apply changes in the CR.