Skip to main content

Helm chart parameters

This chapter presents all available ProconTEL Helm chart parameters.

ProconTEL installation options​

Parameter nameDefault valueDescription
procontelHost-ProconTEL host name.
Mandatory during installation. Optional during upgrade.
When no value is provided during upgrade, the previously set value is kept.

ProconTEL Docker Registry options​

In order to configure password-protected ProconTEL Docker registry access all of procontelDockerRegistryUrl, procontelDockerRegistryUserName, and procontelDockerRegistryUserPassword parameters must be provided. If procontelDockerRegistryUrl parameters is provided only, it is assumed the given registry allows anonymous access. Once the ProconTEL Docker registry access is configured, it is not necessary to provide the parameters again during upgrade.

note

Providing the parameters during upgrade overwrites the whole previous configuration. If during installation password protected registry is configured, and during upgrade only URL is provided, the registry access is overwritten - credentials are removed and the registry is assumed to allow anonymous access.
It is recommended to provide URL and user credential during installation, and provide them again during upgrade only when update is needed.

Parameter nameDefault valueDescription
procontelDockerRegistryUrl-ProconTEL Docker registry URL.
Mandatory during installation. Optional during upgrade.
When no value is provided during upgrade, the previously set value is kept.
procontelDockerRegistryUserName-ProconTEL Docker registry user name.
Mandatory when configuring password-protected ProconTEL Docker registry. To be kept empty otherwise.
Requires procontelDockerRegistryUrl and procontelDockerRegistryUserPassword parameters to be provided as well. When no value is provided during upgrade, the previously set value is kept.
procontelDockerRegistryUserPassword-ProconTEL Docker registry user password.
Mandatory when configuring password-protected ProconTEL Docker registry. To be kept empty otherwise.
Requires procontelDockerRegistryUrl and procontelDockerRegistryUserName parameters to be provided as well. When no value is provided during upgrade, the previously set value is kept.
procontelDockerPullPolicyIfNotPresentProconTEL services Docker image pull policy.
procontelDockerImageTag-ProconTEL services Docker image tag.
Optional.
For development purposes only. To be kept empty in production environment.

Ingress TLS certificate options​

Following commands can be used to set or update Ingress TLS certificate during installation, or update it during upgrade. Please, note that these parameters take effect only when ingressEnabled is set, and both ingressUseLetsEncryptIssuer and ingressCustomTlsSecretName are not set.

Parameter nameDefault valueDescription
certificateAsBase64-Base64 formatted Ingress TLS certificate.
Optional.
When no value is provided during upgrade, the previously given certificate is kept.
certificateKeyAsBase64-Base64 formatted Ingress TLS certificate key.
Optional.
When no value is provided during upgrade, the previously given certificate key is kept.
# yaml-language-server: $schema=values.schema.json

# ProconTEL Docker registry pull secret
dockerPullSecret: pct-regcred

# ProconTEL services Docker image pull policy.
dockerPullPolicy: IfNotPresent

# ProconTEL message broker user name.
messageBrokerUserName: pct

# ProconTEL message broker administrator user name.
messageBrokerAdminName: admin

# Create Persistent Volumes
createPersistentVolumes: false

# ProconTEL main PVC storage class name.
# Optional. When no value is provided, a default cluster storage class is used.
storageClassName:

# ProconTEL main PVC storage size.
volumeStorage: 4Gi

# ProconTEL main PVC storage access mode.
storageAccessMode: ReadWriteMany

# ProconTEL app-shared-storage PVC storage class name.
# Optional. When no value is provided, a default cluster storage class is used.
appSharedStorageClassName:

# ProconTEL app-shared-storage PVC storage size.
appSharedStorageSize: 4Gi

# ProconTEL app-shared-storage PVC storage access mode.
appSharedStorageAccessMode: ReadWriteMany

# When true, creates Ingress resource.
ingressEnabled: true

# When true, enables Ingress TLS.
ingressTlsEnabled: true

# When true, uses cert-manager to obtain Let's Encrypt Ingress TLS certificate instead of creating default ProconTEL certificate secret.
# Requires cert-manager to be installed and configured.
ingressUseLetsEncryptIssuer: false

# Ingress proxy maximum HTTP body size limit.
ingressBodyProxySize: 200m

# Ingress class name.
# Optional.
# Important: currently only nginx ingress class is supported.
ingressClassName: nginx

# The name of existing TLS certificate secret to be used by ProconTEL Ingress.
# Optional.
# When name is provided, default ProconTEL TLS certificate secret is not created.
ingressCustomTlsSecretName:

# When true, creates Ingress redirection rule to Portainer instance. The URL is https:///portainer.
# This option targets microk8s clusters with portainer add-on enabled.
portainerUseUrlRedirection: true

# Namespace of the Portainer installation.
portainerServiceNamespace: portainer

# Name of the Portainer service.
portainerServiceName: portainer

# Port of the Portainer service.
portainerServicePort: 9000

# Max rows of logs to retain.
maxRowsToRetain: '35000000'

# Max broker logs rows to retain.
maxBrokerMessageToRetain: '1000'

# When true, message broker logs are stored by logging-server.
storeBrokerLogsEnabled: false

# Node affinity rules to constrain which nodes your pod is eligible to be scheduled on.
# This is a way to ensure that your application runs on specific nodes based on labels.
# For example, you can specify that your pod should only run on nodes with SSD disks.
nodeAffinity: {}
# keys:
# - key: "disktype"
# values:
# - "ssd"
# - "hdd"

# Tolerations allow the pods to schedule onto nodes with matching taints.
# This is useful for allowing pods to not be scheduled on nodes that have specific conditions or restrictions.
# Note: The operator will be set to "Equal" and the effect should be "NoSchedule".
tolerations: {}
# keys:
# - key: "example-key"
# values:
# - "example-value"

graylog:
# If true, AppProxy will send all logs from itself and from the user application to Graylog.
enabled: false
# Graylog host.
hostnameOrAddress: localhost
# GELF TCP Input of port number.
port: 12201

# Configures identity provider.
identityProvider:
# Identity provider type. Could be "InternalServer" or "Keycloak".
provider: InternalServer
# Has to be configured if Keycloak is chosen as provider.
externalProviderConfiguration:
# The base URL of your Keycloak server
# Example: `https://keycloak.example.com/auth`
authority: ''
# The client identifier registered in Keycloak
# This is the unique identifier for your application in Keycloak
clientId: ''
# The secret key associated with your client ID
# Used for secure communication between your application and Keycloak
clientSecret: ''
# The Keycloak realm name where your client is configured
# Example: `master` or your custom realm name
realm: ''
# The OAuth 2.0 grant type to be used
# Common values include: `authorization_code`, `client_credentials`, etc.
grantType: ''
# A list of OAuth scopes that your application requires
# Enter one scope per line
# Common scopes include: `openid`, `profile`, `email`, etc.
allowedScopes: []
# The maximum time in seconds to wait for a response from Keycloak. The value should be an integer string.
responseTimeoutInSeconds: 30

# Database type.
databaseType: sqlite

# Automatic startup of applications when coordinator starts.
# See StartUpAppsOptions in PCT.Coordinator.
automaticStartup:
# When true, applications with runOnStartup are started automatically on coordinator startup.
isEnabled: true
# Delay in seconds before the service starts launching apps.
generalDelayInSeconds: 30
# When true, continues starting applications even when an exception occurs.
ignoreException: false

# Configures logging server database
logging:
# Allowed values are: postgresql, sqlite, default (this means postgresql when databaseType is postgresql, otherwise sqlite).
databaseType: default
# The connection configuration is expected to be provided as 'connection-string' data field in a Secret, which name
# has to be provided in logging.customCredentialsSecretName.
# Example connection strings:
# - PostgreSQL: Host=postgres-host; Port=5432; Database=logs; User ID=postgres-user; Password=postgres-password;
customCredentialsSecretName:

postgresql:
docker:
# ProconTEL PostgreSQL Docker image name.
imageName: postgres:16

# ProconTEL PostgreSQL Docker image pull policy.
pullPolicy: IfNotPresent

storage:
# ProconTEL PostgreSQL PVC storage class name.
# Optional. When no value is provided, a default cluster storage class is used.
className:

# ProconTEL PostgreSQL PVC storage size.
size: 1Gi

# Name of existing PV that is to be bound to ProconTEL PostgreSQL PVC.
# Optional.
pvName:

# ProconTEL PostgreSQL PVC access mode.
accessMode: ReadWriteOnce

# If true, PostgreSQL resources are not created and ProconTEL is configured to use an external PostgreSQL instance.
# The connection configuration is expected to be provided as 'connection-string' data field in a Secret, which name
# has to be provided in postgresql.customCredentialsSecretName.
useExternalInstance: false

# The name of a custom PostgreSQL configuration Secret.
# Optional.
# This resource has to be created manually and is not managed by ProconTEL installation.
# It is expected that this Secret contains following data fields:
# 1. 'connection-string' - .NET-compatible PostgreSQL connection string. Example connection string:
# Host=postgres-host; Port=5432; Database=postgres-database; User ID=postgres-user; Password=postgres-password;
customCredentialsSecretName:

mssqlserver:
docker:
# ProconTEL MSSQL Server Docker image name.
imageName: mcr.microsoft.com/mssql/server:2022-latest

# ProconTEL MSSQL Server Docker image pull policy.
pullPolicy: IfNotPresent

storage:
# ProconTEL MSSQL Server PVC storage class name.
# Optional. When no value is provided, a default cluster storage class is used.
className:

# ProconTEL MSSQL Server PVC storage size.
size: 4Gi

# Name of existing PV that is to be bound to ProconTEL MSSQL Server PVC.
# Optional.
pvName:

# ProconTEL MSSQL Server PVC access mode.
accessMode: ReadWriteOnce

# If true, MSSQL Server resources are not created and ProconTEL is configured to use an external MSSQL Server instance.
# The connection configuration is expected to be provided as 'connection-string' data field in a Secret, which name
# has to be provided in mssqlserver.customCredentialsSecretName.
useExternalInstance: false

# The name of a custom MSSQL Server configuration Secret.
# Optional.
# This resource has to be created manually and is not managed by ProconTEL installation.
# It is expected that this Secret contains following data fields:
# 1. 'connection-string' - .NET-compatible MSSQL Server connection string. Example connection string:
# Server=mssqlserver-host,1433;Database=mssqlserver-database;User Id=mssqlserver-user;Password=mssqlserver-password;TrustServerCertificate=True;
customCredentialsSecretName:

mysql:
docker:
# ProconTEL MySQL Docker image name.
imageName: mysql:8.4

# ProconTEL MySQL Docker image pull policy.
pullPolicy: IfNotPresent

storage:
# ProconTEL MySQL PVC storage class name.
# Optional. When no value is provided, a default cluster storage class is used.
className:

# ProconTEL MySQL PVC storage size.
size: 4Gi

# Name of existing PV that is to be bound to ProconTEL MySQL PVC.
# Optional.
pvName:

# ProconTEL MySQL PVC access mode.
accessMode: ReadWriteOnce

# If true, MySQL resources are not created and ProconTEL is configured to use an external MySQL instance.
# The connection configuration is expected to be provided in a Secret, which name has to be provided
# in mysql.customCredentialsSecretName.
useExternalInstance: false

# The name of a custom MySQL configuration Secret.
# Optional.
# This resource has to be created manually and is not managed by ProconTEL installation.
# It is expected that this Secret contains the following .NET-compatible MySQL connection strings:
# 'coordinator-connection-string', 'repository-connection-string',
# 'identity-server-connection-string' and 'webapp-host-connection-string'.
# Example connection strings:
# "Server=localhost;Port=3306;Database=webapphost;User=root;Password=root123;"
# "Server=localhost;Port=3306;Database=coordinator;User=root;Password=root123;"
customCredentialsSecretName:

# Each ProconTEL application uses its own MySQL database and user.
databases:
coordinator: procontel_coordinator
repository: procontel_repository
identityServer: procontel_identity
webappHost: procontel_webapp

users:
coordinator: procontel_coordinator
repository: procontel_repository
identityServer: procontel_identity
webappHost: procontel_webapp

oracleXe:
docker:
# ProconTEL Oracle XE Docker image name.
imageName: gvenzl/oracle-xe:21-slim

# ProconTEL Oracle XE Docker image pull policy.
pullPolicy: IfNotPresent

storage:
# ProconTEL Oracle XE PVC storage class name.
# Optional. When no value is provided, a default cluster storage class is used.
className:

# ProconTEL Oracle XE PVC storage size.
size: 8Gi

# Name of existing PV that is to be bound to ProconTEL Oracle XE PVC.
# Optional.
pvName:

# ProconTEL Oracle XE PVC access mode.
accessMode: ReadWriteOnce

# Oracle pluggable database service name used by ProconTEL.
serviceName: XEPDB1

users:
coordinator: procontel_coordinator
repository: procontel_repository
identityServer: procontel_identity
webappHost: procontel_webapp

resourceManagement:
appResourceManagementDefaultPreferences:
# Default value for minimum requested CPU Millicores for Kubernetes deployments.
cpuRequest: 10

runtime:
# Default value for minimum requested CPU Millicores for Kubernetes deployments.
cpuRequest: 10