Parameters in the Custom Resource File
This topic provides a list of parameters for the Digital.ai Deploy Custom Resource (CR).
The following table lists the parameters available in the Digital.ai Deploy's daideploy_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-deploy | If user does not provide password, random 10 character alphanumeric string will be generated |
XldMasterCount | Number of master replicas | 3 |
XldWorkerCount | Number of worker replicas | 3 |
ServerImageRepository | Image repository name for the master | xebialabs/xl-deploy |
WorkerImageRepository | Image repository name for the worker (deploy-task-engine) | xebialabs/deploy-task-engine |
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 |
xldLicense | Convert xl-deploy.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.StorageClass | XLD PVC Storage Class for volume. | NA |
Persistence.XldMasterPvcSize | XLD Master PVC Storage Request for volume. For production grade setup, size must be changed | 10Gi |
Persistence.XldWorkerPvcSize | XLD Worker PVC Storage Request for volume. For production grade setup, size must be changed | 10Gi |
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 | |
deploy.configurationManagement.centralConfiguration.configuration.enabled | Enable configuration management on a central configuration - currently it is only deleting configuration files on the pod startup | true |
deploy.configurationManagement.centralConfiguration.configuration.resetFiles | List of the files that will be deleted during central configuration pod startup | [] |
deploy.configurationManagement.master.configuration.enabled | Enable configuration management on a master - currently it is only deleting configuration files on the pod startup | true |
deploy.configurationManagement.master.configuration.resetFiles | List of the files that will be deleted during master pod startup | [] |
deploy.configurationManagement.worker.configuration.enabled | Enable configuration management on a worker - currently it is only deleting configuration files on the pod startup | true |
deploy.configurationManagement.worker.configuration.resetFiles | List of the files that will be deleted during master 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 Deploy | 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 Deploy 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-xld |
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.XLD_DB_URL | Database URL for xl-deploy | NA |
UseExistingDB.XLD_DB_USERNAME | Database User for xl-deploy | NA |
UseExistingDB.XLD_DB_PASSWORD | Database Password for xl-deploy | 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 | DEPLOYRABBITMQCLUSTER |
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.XLD_TASK_QUEUE_USERNAME | Username for xl-task queue | NA |
UseExistingMQ.XLD_TASK_QUEUE_PASSWORD | Password for xl-task queue | NA |
UseExistingMQ.XLD_TASK_QUEUE_DRIVER_CLASS_NAME | Driver Class Name for xl-deploy task queue | NA |
UseExistingMQ.XLD_TASK_QUEUE_URL | URL for xl-deploy task queue | NA |
centralConfiguration.replicas | Central configuration replica count | 1 |
centralConfiguration.image.repository | Central configuration repository to use | xebialabs/central-configuration |
centralConfiguration.persistence.pvcSize | Central cofiguration Persistent volume size | 500M |
centralConfiguration.migrateFromEmbedded | Put here to true in case you need to migrate the configuration from the embedded central configuration on the deploy master. | false |
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-xld
ingress.kubernetes.io/ssl-redirect: "false"
ingress.kubernetes.io/rewrite-target: /
ingress.kubernetes.io/affinity: cookie
ingress.kubernetes.io/session-cookie-name: SESSION_XLD
ingress.kubernetes.io/session-cookie-strategy: prefix
ingress.kubernetes.io/config-backend: |
option httpchk GET /ha/health HTTP/1.0
Watch for the ingress.class value in the example, same unique on the cluster, value should be set on the following parameters in case of haproxy installation:
- haproxy-ingress.controller.ingressClass
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-xld
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: SESSION_XLD
nginx.ingress.kubernetes.io/ssl-redirect: "false"
Watch for the ingress.class value in the example, same unique on the cluster, value should be set on the following parameters in case of nginx installation:
- nginx-ingress-controller.extraArgs.ingress-class
- nginx-ingress-controller.ingressClassResource.controllerClass
- nginx-ingress-controller.ingressClassResource.name
If you need to update default properties apply changes in the CR.