Skip to main content

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​

ValueDefaultPurpose
image.repository, image.tagepam/ai-dial-core, latestStandalone image selection. Pin an image tag or digest explicitly; the platform chart overrides the tag.
replicaCount1Core replicas.
containerPorts.http, containerPorts.metrics8080, 9464Container ports.
service.type, service.ports.httpClusterIP, 80Internal HTTP Service.
livenessProbe.enabled, readinessProbe.enabled, startupProbe.enabledfalse, true, falseHealth probes, using /health.
resources{}CPU/memory requests and limits.
pdb.create, autoscaling.hpa.enabledfalse, falseOptional disruption budget and HPA.
ingress.enabled, httpRoute.enabledfalse, falseExternal routing.
networkPolicy.enabledfalseGenerate network-policy resources.
containerSecurityContext.readOnlyRootFilesystemfalseCore filesystem policy; differs from the Extension chart default.
automountServiceAccountToken, serviceAccount.automountServiceAccountTokenfalse, falseToken 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​

ValueDefaultPurpose
configuration.encryption.secretGenerated when no existing value is foundCore encryption secret.
configuration.encryption.keyGenerated when no existing value is foundCore encryption key.
configuration.encryption.existingSecretEmptyUse 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.

ValueDefaultPurpose
valkey.enabledtrueDeploy the bundled cache.
valkey.auth.enabledfalseEnable ACL authentication.
valkey.auth.usersExistingSecretEmptyExisting ACL password Secret.
valkey.auth.aclUsers.defaultDefault user with configured command permissionsDefault user's permissions and password-key selection.
valkey.resources.requests.memory, valkey.resources.limits.memory2Gi, 2GiCache pod memory.
valkey.valkeyConfigmaxmemory 2G and maxmemory-policy volatile-lfuValkey 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​

ValueDefaultPurpose
persistence.enabledfalseAttach persistent storage.
persistence.mountPath, persistence.size/data, 8GiMount location and requested size.
persistence.storageClass, persistence.accessModesEmpty, [ReadWriteOnce]Storage class and access modes.
persistence.existingClaimEmptyReuse a claim instead of provisioning a new one.
persistence.subPath, .annotations, .dataSource, .selectorEmpty / {}Additional PVC and mount settings.
temporary.mountPath/tmpTemporary volume mount.
temporary.subPath, .sizeLimit, .mediumEmptyTemporary-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​

ValueDefaultPurpose
logger.enabledfalseAdd the Vector log sidecar.
logger.image.repository, .tagtimberio/vector, 0.45.0-alpineLogger image.
logger.configRead /app/log/*.log, write text to stdoutVector configuration, rendered as a template.
logger.env, .secrets, .extraEnvVarsSecretEmptyLogger runtime configuration and credentials.
logger.resources, .containerSecurityContext, .extraVolumeMountsRelease valuesLogger resource/security/mount settings.
logger.command, .argsShell startup of Vector with /etc/vector/vector.yamlLogger startup overrides.
metrics.enabledfalseExpose the metrics Service.
metrics.serviceMonitor.enabled, metrics.prometheusRule.enabledfalse, falseGenerate 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​