DIAL Core chart configuration
The dial/dial-core chart deploys Core, with optional Valkey and Vector. This reference describes chart 6.0.0 for platform engineers configuring the Core workload. Values are at the root for a standalone installation; prefix them with core. inside the platform chart.
The complete parameter table and nested defaults are in the release's README and values.yaml. Core's runtime settings are documented separately in Core configuration.
Workload defaults
| Value | Default | Purpose |
|---|---|---|
image.repository, image.tag | epam/ai-dial-core, latest | Standalone image selection. Pin an image tag or digest explicitly; the platform chart overrides the tag. |
replicaCount | 1 | Core replicas. |
containerPorts.http, containerPorts.metrics | 8080, 9464 | Container ports. |
service.type, service.ports.http | ClusterIP, 80 | Internal HTTP Service. |
livenessProbe.enabled, readinessProbe.enabled, startupProbe.enabled | false, true, false | Health probes, using /health. |
resources | {} | CPU/memory requests and limits. |
pdb.create, autoscaling.hpa.enabled | false, false | Optional disruption budget and HPA. |
ingress.enabled, httpRoute.enabled | false, false | External routing. |
networkPolicy.enabled | false | Generate network-policy resources. |
containerSecurityContext.readOnlyRootFilesystem | false | Core filesystem policy; differs from the Extension chart default. |
automountServiceAccountToken, serviceAccount.automountServiceAccountToken | false, false | Token mounting controls. |
The shared workload settings describe naming, environment values, native extraEnvVars, scheduling, security contexts, Services, routing, volumes, sidecars, and lifecycle hooks. Core has no resourcesPreset in this release; set resources explicitly.
Encryption
| Value | Default | Purpose |
|---|---|---|
configuration.encryption.secret | Generated when no existing value is found | Core encryption secret. |
configuration.encryption.key | Generated when no existing value is found | Core encryption key. |
configuration.encryption.existingSecret | Empty | Use an externally managed Secret instead of the chart-generated encryption Secret. |
An existing encryption Secret must contain the keys aidial.encryption.secret and aidial.encryption.key. The Secret template uses the common password helper to generate or reuse values when it manages the Secret itself.
Warning
Preserve the encryption Secret when upgrading, restoring, or moving Core data. Replacing its values can make existing encrypted data inaccessible. Changing an existing deployment's values file is not a key-rotation procedure. See Core encryption.
Valkey
Core chart 6.0.0 depends on Valkey chart 0.9.4. The chart's Valkey helper supplies Core's connection to the bundled cache.
| Value | Default | Purpose |
|---|---|---|
valkey.enabled | true | Deploy the bundled cache. |
valkey.auth.enabled | false | Enable ACL authentication. |
valkey.auth.usersExistingSecret | Empty | Existing ACL password Secret. |
valkey.auth.aclUsers.default | Default user with configured command permissions | Default user's permissions and password-key selection. |
valkey.resources.requests.memory, valkey.resources.limits.memory | 2Gi, 2Gi | Cache pod memory. |
valkey.valkeyConfig | maxmemory 2G and maxmemory-policy volatile-lfu | Valkey server configuration. |
Configure cache authentication for the environment. When changing memory capacity, adjust both the Kubernetes resource limits and maxmemory; they are separate controls. Valkey can contain pending Core writes, so include it in the recovery design.
For an external Redis-compatible cache, set valkey.enabled: false and supply Core's aidial.redis.* settings through env and Secret references. The address, authentication, TLS, and cluster mode are Core settings; see Redis settings.
Storage and temporary files
| Value | Default | Purpose |
|---|---|---|
persistence.enabled | false | Attach persistent storage. |
persistence.mountPath, persistence.size | /data, 8Gi | Mount location and requested size. |
persistence.storageClass, persistence.accessModes | Empty, [ReadWriteOnce] | Storage class and access modes. |
persistence.existingClaim | Empty | Reuse a claim instead of provisioning a new one. |
persistence.subPath, .annotations, .dataSource, .selector | Empty / {} | Additional PVC and mount settings. |
temporary.mountPath | /tmp | Temporary volume mount. |
temporary.subPath, .sizeLimit, .medium | Empty | Temporary-volume options. |
Volume creation and Core's blob-storage provider are separate settings. Align the filesystem provider's base directory with the mounted path, or configure an external object store; see Storage. Turning persistence on does not configure a cloud bucket.
Logging and metrics
| Value | Default | Purpose |
|---|---|---|
logger.enabled | false | Add the Vector log sidecar. |
logger.image.repository, .tag | timberio/vector, 0.45.0-alpine | Logger image. |
logger.config | Read /app/log/*.log, write text to stdout | Vector configuration, rendered as a template. |
logger.env, .secrets, .extraEnvVarsSecret | Empty | Logger runtime configuration and credentials. |
logger.resources, .containerSecurityContext, .extraVolumeMounts | Release values | Logger resource/security/mount settings. |
logger.command, .args | Shell startup of Vector with /etc/vector/vector.yaml | Logger startup overrides. |
metrics.enabled | false | Expose the metrics Service. |
metrics.serviceMonitor.enabled, metrics.prometheusRule.enabled | false, false | Generate Prometheus Operator resources. |
Metrics Service/ServiceMonitor options are described in Extension metrics. Core chart defaults use /metrics on port 9464. Application OpenTelemetry settings still belong in env; chart resource creation does not turn every exporter on. See Observability for the collector, log sink, and analytics pipelines.
Further reading
- Platform chart — the
corealias and pinned assembly image - DIAL Extension chart configuration — chart settings for adapters, applications, and other workloads
- Encryption — the AES settings Core uses for bucket prefixes
- Redis — Redis connection, IAM authentication, and eviction
- Storage — blob storage settings and provider requirements
- State and data lifecycle — where DIAL keeps state and how to plan retention and recovery