Parameters in the Custom Resource File
This topic provides a 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.
Parameter | Description | Default |
---|---|---|
K8sSetup.Platform | The platform on which you install the chart. | AWSEKS/AzureAKS/GoogleGKE/PlainK8s |
AdminPassword | Admin password for xl-release | If user does not provide password, random 10 character alphanumeric string will be generated |
replicaCount | Number of release replicas | 3 |
ImageRepository | Image repository name | xebialabs/xl-release |
ImageTag | Image tag | 22.2.0 |
ImagePullPolicy | Image pull policy, Defaults to Always if image tag is ’latest’,set to IfNotPresent | Always |
ImagePullSecret | Specifies docker-registry secret names. Secrets must be manually created in the namespace | NA |
xlrLicense | Convert xl-release.lic files content to base64 here | NA |
RepositoryKeystore | Convert keystore.jks files content to base64 here | NA |
KeystorePassphrase | Passphrase for keystore.jks file | NA |
HealthProbes | Would you like a HealthProbes to be enabled? | true |
HealthProbesLivenessTimeout | Delay before liveness probe is initiated | 90 |
HealthProbesReadinessTimeout | Delay before readiness probe is initiated | 90 |
HealthProbeFailureThreshold | Minimum consecutive failures for the probe to be considered failed after having succeeded | 12 |
HealthPeriodScans | How often to perform the probe | 10 |
Persistence.Enabled | Enable persistence using PVC | true |
Persistence.Annotations | Annotations for the PVC | |
Persistence.AccessMode | PVC Access Mode for volume | ReadWriteOnce |
Persistence.Size | XLR PVC Storage Request for volume. For production grade setup, size must be changed | 5Gi |
Persistence.StorageClass | XLR PVC Storage Class for volume. | NA |
resources | CPU/Memory resource requests/limits. User can change the parameter accordingly | NA |
nodeSelector | Node labels for pod assignment | |
tolerations | Toleration labels for pod assignment | [] |
affinity | Affinity labels for pod assignment | |
release.configurationManagement.configuration.enabled | Enable configuration management on a release - currently it is only deleting configuration files on the pod startup | true |
release.configurationManagement.configuration.resetFiles | List of the files that will be deleted during a release pod startup | [] |
haproxy-ingress.install | Install haproxy subchart. If you have haproxy already installed, set install to false | false |
haproxy-ingress.controller.kind | Type of deployment, DaemonSet or Deployment | Deployment |
haproxy-ingress.controller.service.type | Kubernetes Service type for haproxy. It can be changed to LoadBalancer or NodePort | LoadBalancer |
ingress.Enabled | Exposes HTTP and HTTPS routes from outside the cluster to services within the cluster | true |
ingress.annotations | Annotations for ingress controller | See haproxy and nginx setup below table. |
ingress.path | You can route an Ingress to different Services based on the path | / |
ingress.hosts | DNS name for accessing ui of Digital.ai Release | example.com |
ingress.tls[].secretName | Secret file that contains the tls private key and certificate | example-secretsName |
ingress.tls[].hosts | DNS name for accessing ui of Digital.ai Release using tls. | example.com |
nginx-ingress-controller.install | Install nginx-controller subchart. If you have nginx already installed, set install to false | true |
nginx-ingress-controller.kind | Type of deployment, DaemonSet or Deployment | Deployment |
nginx-ingress-controller.service.type | Kubernetes Service type for nginx. It can be changed to LoadBalancer or NodePort | LoadBalancer |
postgresql.install | postgresql chart with single instance. Install postgresql chart. If you have an existing database deployment, set install to false . | true |
postgresql.postgresqlUsername | PostgreSQL user (creates a non-admin user when postgresqlUsername is not postgres) | postgres |
postgresql.postgresqlPassword | PostgreSQL user password | random 10 character alphanumeric string |
postgresql.replication.enabled | Enable replication | false |
postgresql.postgresqlExtendedConf.listenAddresses | Specifies the TCP/IP address(es) on which the server is to listen for connections from client applications | * |
postgresql.postgresqlExtendedConf.maxConnections | Maximum total connections | 500 |
postgresql.initdbScriptsSecret | Secret with initdb scripts contain sensitive informationNote: This parameter can be used with initdbScriptsConfigMap or initdbScripts . The value is evaluated as a template. | postgresql-init-sql-xlr |
postgresql.service.port | PostgreSQL port | 5432 |
postgresql.persistence.enabled | Enable persistence using PVC | true |
postgresql.persistence.storageClass | he storage Class that needs to be defined as PostgreSQL | NA |
postgresql.persistence.size | PVC Storage Request for PostgreSQL volume | 50Gi |
postgresql.persistence.existingClaim | Provide an existing PersistentVolumeClaim, the value is evaluated as a template. | NA |
postgresql.resources.requests | CPU/Memory resource requests | requests: memory: 1Gi memory: cpu: 250m |
postgresql.resources.limits | Limits | limits: memory: 2Gi, limits: cpu: 1 |
postgresql.nodeSelector | Node labels for pod assignment | |
postgresql.affinity | Affinity labels for pod assignment | |
postgresql.tolerations | Toleration labels for pod assignment | [] |
UseExistingDB.Enabled | If you want to use an existing database, change postgresql.install to false . | false |
UseExistingDB.XLR_DB_URL | Database URL for xl-release | NA |
UseExistingDB.XLR_DB_USER | Database User for xl-release | NA |
UseExistingDB.XLR_DB_PASS | Database Password for xl-release | NA |
UseExistingDB.XLR_REPORT_DB_URL | Database URL for xlr_report | NA |
UseExistingDB.XLR_REPORT_DB_USER | Database User for xlr_report | NA |
UseExistingDB.XLR_REPORT_DB_PASS | Database Password for xlr_report | NA |
rabbitmq.install | Install rabbitmq chart. If you have an existing message queue deployment, set install to false . | true |
rabbitmq.auth.username | RabbitMQ application username | guest |
rabbitmq.auth.password | RabbitMQ application password | random 24 character long alphanumeric string |
rabbitmq.auth.erlangCookie | Erlang cookie | RELEASERABBITMQCLUSTER |
rabbitmq.memoryHighWatermark | Memory high watermark | 500MB |
rabbitmq.service.nodePort | Node port | 5672 |
rabbitmq.extraPlugins | Additional plugins to add to the default configmap | rabbitmq_shovel,rabbitmq_shovel_management,rabbitmq_federation,rabbitmq_federation_management,rabbitmq_amqp1_0,rabbitmq_management |
rabbitmq.replicaCount | Number of replicas | 3 |
rabbitmq.rbac.create | If true, create & use RBAC resources | true |
rabbitmq.service.type | Type of service to create | ClusterIP |
rabbitmq.persistence.enabled | If set to True , persistent volume claims are created | true |
rabbitmq.persistence.storageClass | The storage class that must be defined as RabbitMQ | NA |
rabbitmq.persistence.size | Persistent volume size | 20Gi |
rabbitmq.persistence.annotations | Persistent volume annotations | |
rabbitmq.persistence.resources | Persistent Volume resources | |
UseExistingMQ.Enabled | If you want to use an existing Message Queue change rabbitmq.instal to false | false |
UseExistingMQ.XLR_TASK_QUEUE_USERNAME | Username for xl-task queue | NA |
UseExistingMQ.XLR_TASK_QUEUE_PASSWORD | Password for xl-task queue | NA |
UseExistingMQ.XLR_TASK_QUEUE_NAME | Name for xl-task queue | NA |
UseExistingMQ.XLR_TASK_QUEUE_URL | URL for xl-release task queue | NA |
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.