Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
51 commits
Select commit Hold shift + click to select a range
c198d72
feat: Introduced Helm char and examples with the Valkey
Shearwater1978 Jul 7, 2026
53a13a2
docs: Updated Ugprade instruction
Shearwater1978 Jul 7, 2026
0b2af2f
docs: Fix typo
Shearwater1978 Jul 7, 2026
aaa1297
docs: Fix typo
Shearwater1978 Jul 7, 2026
3ab892f
docs: Updated Ugprade instruction
Shearwater1978 Jul 7, 2026
215980f
docs: Fixed indentation
Shearwater1978 Jul 7, 2026
1ae18bd
docs: Fixed indentation
Shearwater1978 Jul 7, 2026
39e6826
docs: Fixed indentation
Shearwater1978 Jul 7, 2026
687925f
docs: Fixed indentation
Shearwater1978 Jul 7, 2026
913920b
docs: Fixed indentation
Shearwater1978 Jul 7, 2026
4833bea
chore: A minimally required set of permissions for Core operation has…
Shearwater1978 Jul 7, 2026
0d271c9
chore: Updated some files for review
Shearwater1978 Jul 9, 2026
20416b3
docs: Fixed LLM names
Shearwater1978 Jul 9, 2026
d22f20f
docs: Fixed LLM ep urls
Shearwater1978 Jul 9, 2026
3e23545
Updated a few files
Shearwater1978 Jul 9, 2026
6ed4251
Updated a few files
Shearwater1978 Jul 10, 2026
2d964fb
Updated a few files
Shearwater1978 Jul 10, 2026
3f27c10
Updated a few files
Shearwater1978 Jul 10, 2026
1e37ce2
fix: Fix typo; values.yaml fixed
Shearwater1978 Jul 10, 2026
2ae5c4e
docs: Fix Identations
Shearwater1978 Jul 10, 2026
5fe7d3f
docs: Fix review findings
Shearwater1978 Jul 10, 2026
14de744
docs: Update Google Vertex AI model reference in README
alexey-ban Jul 10, 2026
deefa6b
docs: Fix review findings
Shearwater1978 Jul 10, 2026
18dc200
docs: Fix review findings
Shearwater1978 Jul 10, 2026
21b3476
docs: Fix review findings
Shearwater1978 Jul 10, 2026
8d79160
docs: Update Azure deployment host references in README and values files
alexey-ban Jul 10, 2026
f46983c
docs: Add markdownlint configuration and update README for Valkey int…
alexey-ban Jul 10, 2026
6655fa5
docs: Add Valkey configuration and usage instructions to README
alexey-ban Jul 10, 2026
99ea4b6
docs: Remove Azure Model Key references from README and values files
alexey-ban Jul 10, 2026
5ecbc9a
docs: Remove note about embedded Redis from upgrade caution in README
alexey-ban Jul 10, 2026
39ef59d
docs: Fix review findings
Shearwater1978 Jul 13, 2026
42602ef
docs: Fix review findings
Shearwater1978 Jul 13, 2026
d7df843
docs: Fix review findings
Shearwater1978 Jul 13, 2026
0ccf305
docs: Fix review findings
Shearwater1978 Jul 13, 2026
d6390c3
docs: Fix review findings
Shearwater1978 Jul 13, 2026
39c9015
docs: Fix review findings
Shearwater1978 Jul 13, 2026
139e229
docs: Fix review findings
Shearwater1978 Jul 13, 2026
5f0e03f
docs: review AWS_DEFAULT_REGION variable
alexey-ban Jul 13, 2026
204a71c
docs: review valkey permissions
alexey-ban Jul 13, 2026
030d5bb
docs: review THEMES_CONFIG_HOST var
alexey-ban Jul 13, 2026
b462646
docs: update prerequisites and ingress settings across examples
alexey-ban Jul 13, 2026
a4ee6f7
docs: fix some problem in examoles
alexey-ban Jul 13, 2026
a6207c7
docs: fix serviceAccount params
alexey-ban Jul 13, 2026
b7a9cc4
docs: fix azure endpoint problem
alexey-ban Jul 13, 2026
6e062f8
docs: set same secretName for tls
alexey-ban Jul 13, 2026
45cfcea
docs: revert nginx link
alexey-ban Jul 13, 2026
60bc2dd
docs: fix valkey values
alexey-ban Jul 13, 2026
39da5b7
docs: review
alexey-ban Jul 13, 2026
6d74698
docs: refactor upgrade to 7.0.0 guide
nepalevov Jul 13, 2026
4fa502c
docs: remove todo
nepalevov Jul 13, 2026
6bc7ff2
Merge branch 'main' into feat/dial_chart_bump
alexey-ban Jul 13, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions charts/dial/.helmignore
Original file line number Diff line number Diff line change
Expand Up @@ -24,4 +24,5 @@
*.lock
OWNERS
README.md.gotmpl
.markdownlint.yaml
ci/
7 changes: 7 additions & 0 deletions charts/dial/.markdownlint.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# Disable rules that cannot be controlled in the README.md.gotmpl template
# because they arise from helm-docs' built-in chart.requirementsSection and
# chart.valuesSection templates.
MD013: false # line-length: values table rows and badge lines exceed 80 chars
MD028: false # no-blanks-blockquote: intentional consecutive [!TIP]+[!CAUTION] alert blocks throughout upgrade guide
MD034: false # no-bare-urls: bare URLs in auto-generated requirements table
MD060: false # table-column-style: column alignment in auto-generated tables
4 changes: 2 additions & 2 deletions charts/dial/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ dependencies:
repository: https://charts.dialx.ai
alias: core
condition: core.enabled
version: 5.2.0
version: 6.0.0
- name: dial-extension
repository: https://charts.dialx.ai
alias: chat
Expand Down Expand Up @@ -60,4 +60,4 @@ maintainers:
name: dial
sources:
- https://github.com/epam/ai-dial-helm/tree/main/charts/dial
version: 6.5.0
version: 7.0.0
151 changes: 149 additions & 2 deletions charts/dial/README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# dial

![Version: 6.5.0](https://img.shields.io/badge/Version-6.5.0-informational?style=flat-square) ![AppVersion: 1.45.0](https://img.shields.io/badge/AppVersion-1.45.0-informational?style=flat-square)
![Version: 7.0.0](https://img.shields.io/badge/Version-7.0.0-informational?style=flat-square) ![AppVersion: 1.45.0](https://img.shields.io/badge/AppVersion-1.45.0-informational?style=flat-square)

Umbrella chart for DIAL solution

Expand All @@ -17,7 +17,7 @@ Kubernetes: `>=1.23.0-0`
| Repository | Name | Version |
|------------|------|---------|
| https://charts.bitnami.com/bitnami | keycloak | 24.9.0 |
| https://charts.dialx.ai | core(dial-core) | 5.2.0 |
| https://charts.dialx.ai | core(dial-core) | 6.0.0 |
| https://charts.dialx.ai | chat(dial-extension) | 3.1.1 |
| https://charts.dialx.ai | themes(dial-extension) | 3.1.1 |
| https://charts.dialx.ai | openai(dial-extension) | 3.1.1 |
Expand Down Expand Up @@ -168,8 +168,155 @@ helm install my-release dial/dial -f values.yaml
| vertexai.readinessProbe.enabled | bool | `true` | |
| vertexai.resourcesPreset | string | `"small"` | |

## Valkey

[Core](https://github.com/epam/ai-dial-core) application relies on in-memory NoSQL key-value database as a cache storage. Initially, the Helm chart was using [Redis](https://redis.io/) database, but starting from [version 7.0.0](#to-700), it is replaced with [Valkey](https://valkey.io/) - due to its enhancements and permissive license.

By default, the Helm chart follows deploys `dial-core` sub-chart settings, which deploys Valkey in a [standalone](https://github.com/valkey-io/valkey-helm/tree/main/valkey#deployment-modes) mode (single instance, no replicas) with ACL-based authentication disabled.

> [!warning]
> It is **strongly recommended** to enable the authentication mechanism. An example of the configuration following the "least privilege" principles is provided below.

```yaml
core:
valkey:
enabled: true
auth:
enabled: true
usersExistingSecret: "dial-valkey-auth"
aclUsers:
default:
passwordKey: "default-password"
permissions: "on ~* allchannels +@read +@write +ping +info +@hash +@list +@pubsub +@scripting +TIME"
```

### Adjusting memory

By default Valkey itself is configured with `maxmemory 2G` (two gigabytes) and container granted `resources.limits.memory: 2Gi` (two gibibytes). This creates an intentional gap due to SI units in [application configuration](https://github.com/valkey-io/valkey/blob/cdf98a251e2dcb5772d5e544df73b931633834ba/valkey.conf#L8-L18) and binary units in Kubernetes specification, thus helps to avoid OOM kills.

> [!IMPORTANT]
> Both values must be updated in pair when you adjust cache capacity

```yaml
core:
valkey:
resources:
limits:
memory: 4Gi
requests:
memory: 4Gi
valkeyConfig: |
maxmemory 4G
maxmemory-policy volatile-lfu
```

### Use an external Valkey database

You may want the application to connect to an external Valkey (or Redis-compatible) database rather than the one provided by the Helm chart - for example, when using a cloud-managed service such as AWS ElastiCache or Azure Cache for Redis. To do this, set `core.valkey.enabled` to `false` and specify the connection details:

```yaml
core:
valkey:
enabled: false
env:
aidial.redis.singleServerConfig.address: "redis://myexternalhost:6379"
secrets:
aidial.redis.singleServerConfig.password: "mypassword"
```

## Upgrading

### To 7.0.0

> [!CAUTION]
> The upgrade includes **BREAKING CHANGES** and require **MANUAL ACTIONS**.
> Find detailed information about this Valkey configuration block in [Valkey README.md](https://github.com/valkey-io/valkey-helm/tree/main/valkey).

In this version, we've updated the following underlying dependencies, some of which require manual actions:

- `dial/dial-core` Helm chart version bumped from `5.2.0` to `6.0.0`
- `bitnami/redis-cluster` Helm chart replaced with `valkey/valkey` Helm chart
- [Redis](https://redis.io/) replaced with [Valkey](https://valkey.io/) database
- **Cluster** architecture (multiple master nodes, or shards) replaced with **Standalone** architecture (single node, no replicas). For production usage you should review your HA architecture/scale strategy and adjust accordingly.

#### In-house deployment

1. Replace `core.redis` to `core.valkey` in `values.yaml`:

```diff
core:
- redis:
+ valkey:
enabled: true
```

1. Replace credentials configuration in `values.yaml`, based on your existing approach:

**Option 1: inline password** (previously `core.redis.password`)

*Before:*

```yaml
core:
redis:
enabled: true
password: "%%REDIS_PASSWORD%%"
```

*After:*

```yaml
core:
valkey:
enabled: true
auth:
enabled: true
aclUsers:
default:
password: "%%REDIS_PASSWORD%%"
```

**Option 2: existing Kubernetes secret** (previously `core.redis.existingSecret` + `core.redis.existingSecretPasswordKey`)

*Before:*

```yaml
core:
redis:
enabled: true
existingSecret: "my-redis-secret"
existingSecretPasswordKey: "redis-password"
```

*After:*

```yaml
core:
valkey:
enabled: true
auth:
enabled: true
usersExistingSecret: "my-redis-secret"
aclUsers:
default:
passwordKey: "redis-password"
```

1. Ensure no other `core.redis` configuration blocks left in `values.yaml` or Helm `--set` arguments, otherwise migrate them according to [Valkey Helm chart documentation](https://github.com/valkey-io/valkey-helm/blob/main/valkey/values.yaml)
1. Run `helm upgrade` command with usual arguments, **new** `7.X.X` chart version
1. Manually delete the Redis-related PVCs

#### External Valkey deployment

1. Replace `core.redis` to `core.valkey` in `values.yaml`:

```diff
core:
- redis:
+ valkey:
enabled: false
```

### To 6.0.0

> [!CAUTION]
Expand Down
147 changes: 147 additions & 0 deletions charts/dial/README.md.gotmpl
Original file line number Diff line number Diff line change
Expand Up @@ -67,8 +67,155 @@ helm install my-release dial/dial -f values.yaml

{{ template "chart.valuesSection" . }}

## Valkey

[Core](https://github.com/epam/ai-dial-core) application relies on in-memory NoSQL key-value database as a cache storage. Initially, the Helm chart was using [Redis](https://redis.io/) database, but starting from [version 7.0.0](#to-700), it is replaced with [Valkey](https://valkey.io/) - due to its enhancements and permissive license.

By default, the Helm chart follows deploys `dial-core` sub-chart settings, which deploys Valkey in a [standalone](https://github.com/valkey-io/valkey-helm/tree/main/valkey#deployment-modes) mode (single instance, no replicas) with ACL-based authentication disabled.

> [!warning]
> It is **strongly recommended** to enable the authentication mechanism. An example of the configuration following the "least privilege" principles is provided below.

```yaml
core:
valkey:
enabled: true
auth:
enabled: true
usersExistingSecret: "dial-valkey-auth"
aclUsers:
default:
passwordKey: "default-password"
permissions: "on ~* allchannels +@read +@write +ping +info +@hash +@list +@pubsub +@scripting +TIME"
```

### Adjusting memory

By default Valkey itself is configured with `maxmemory 2G` (two gigabytes) and container granted `resources.limits.memory: 2Gi` (two gibibytes). This creates an intentional gap due to SI units in [application configuration](https://github.com/valkey-io/valkey/blob/cdf98a251e2dcb5772d5e544df73b931633834ba/valkey.conf#L8-L18) and binary units in Kubernetes specification, thus helps to avoid OOM kills.

> [!IMPORTANT]
> Both values must be updated in pair when you adjust cache capacity

```yaml
core:
valkey:
resources:
limits:
memory: 4Gi
requests:
memory: 4Gi
valkeyConfig: |
maxmemory 4G
maxmemory-policy volatile-lfu
```

### Use an external Valkey database

You may want the application to connect to an external Valkey (or Redis-compatible) database rather than the one provided by the Helm chart - for example, when using a cloud-managed service such as AWS ElastiCache or Azure Cache for Redis. To do this, set `core.valkey.enabled` to `false` and specify the connection details:

```yaml
core:
valkey:
enabled: false
env:
aidial.redis.singleServerConfig.address: "redis://myexternalhost:6379"
secrets:
aidial.redis.singleServerConfig.password: "mypassword"
```

## Upgrading

### To 7.0.0

> [!CAUTION]
> The upgrade includes **BREAKING CHANGES** and require **MANUAL ACTIONS**.
> Find detailed information about this Valkey configuration block in [Valkey README.md](https://github.com/valkey-io/valkey-helm/tree/main/valkey).

In this version, we've updated the following underlying dependencies, some of which require manual actions:

- `dial/dial-core` Helm chart version bumped from `5.2.0` to `6.0.0`
- `bitnami/redis-cluster` Helm chart replaced with `valkey/valkey` Helm chart
- [Redis](https://redis.io/) replaced with [Valkey](https://valkey.io/) database
- **Cluster** architecture (multiple master nodes, or shards) replaced with **Standalone** architecture (single node, no replicas). For production usage you should review your HA architecture/scale strategy and adjust accordingly.

#### In-house deployment

1. Replace `core.redis` to `core.valkey` in `values.yaml`:

```diff
core:
- redis:
+ valkey:
enabled: true
```

1. Replace credentials configuration in `values.yaml`, based on your existing approach:

**Option 1: inline password** (previously `core.redis.password`)

*Before:*

```yaml
core:
redis:
enabled: true
password: "%%REDIS_PASSWORD%%"
```

*After:*

```yaml
core:
valkey:
enabled: true
auth:
enabled: true
aclUsers:
default:
password: "%%REDIS_PASSWORD%%"
```

**Option 2: existing Kubernetes secret** (previously `core.redis.existingSecret` + `core.redis.existingSecretPasswordKey`)

*Before:*

```yaml
core:
redis:
enabled: true
existingSecret: "my-redis-secret"
existingSecretPasswordKey: "redis-password"
```

*After:*

```yaml
core:
valkey:
enabled: true
auth:
enabled: true
usersExistingSecret: "my-redis-secret"
aclUsers:
default:
passwordKey: "redis-password"
```

1. Ensure no other `core.redis` configuration blocks left in `values.yaml` or Helm `--set` arguments, otherwise migrate them according to [Valkey Helm chart documentation](https://github.com/valkey-io/valkey-helm/blob/main/valkey/values.yaml)
1. Run `helm upgrade` command with usual arguments, **new** `7.X.X` chart version
1. Manually delete the Redis-related PVCs

#### External Valkey deployment

1. Replace `core.redis` to `core.valkey` in `values.yaml`:

```diff
core:
- redis:
+ valkey:
enabled: false
```

### To 6.0.0

> [!CAUTION]
Expand Down
Loading
Loading