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.
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.