Add Redis Helm dependency and resource inputs for edge app registration

This MR updates the Helm deployment to support Redis-backed agent memory and extends edge app registration with explicit resource requirements.

Changes

  • Adds Bitnami Redis as a Helm dependency.
  • Configures ai-agent to wait for Redis readiness before startup.
  • Injects REDIS_URL, MEMORY_WINDOW_TURNS, MEMORY_TTL_SECONDS, and MEMORY_KEY_PREFIX through the chart config map.
  • Adds Helm values for Redis enablement and memory configuration.
  • Updates Helm documentation and install flow to require helm dependency update.
  • Extends register_app_definition with optional numCPU and memory inputs and maps them to requiredResources.
  • Stops tracking vendored chart archives via .gitignore.

Merge request reports

Loading
−102 KiB

File deleted.

+8 −0
Changes for deployment/helm/ai2/templates/_helpers.tpl: 8 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -48,3 +48,11 @@ app.kubernetes.io/instance: {{ .Release.Name }}
{{- define "ai2.aiAgentServiceName" -}}
{{- include "ai2.fullname" . }}-ai-agent
{{- end }}

{{- define "ai2.redisServiceName" -}}
{{- if .Values.redis.fullnameOverride -}}
{{- printf "%s-master" .Values.redis.fullnameOverride -}}
{{- else -}}
{{- printf "%s-redis-master" .Release.Name -}}
{{- end -}}
{{- end }}
+33 −0
Changes for deployment/helm/ai2/templates/ai-agent-deployment.yaml: 33 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -30,6 +30,19 @@ spec:
              done
              echo ""
              echo "MCP is ready."
        {{- if .Values.redis.enabled }}
        - name: wait-for-redis
          image: "{{ .Values.redis.image.registry }}/{{ .Values.redis.image.repository }}:{{ .Values.redis.image.tag }}"
          imagePullPolicy: {{ .Values.redis.image.pullPolicy }}
          command: ['sh', '-c']
          args:
            - |
              until redis-cli -h {{ include "ai2.redisServiceName" . }} -p {{ .Values.redis.master.service.ports.redis }} ping | grep -q PONG; do
                echo "Waiting for Redis to be ready..."
                sleep 3
              done
              echo "Redis is ready."
        {{- end }}
      containers:
        - name: ai-agent
          image: "{{ .Values.images.aiAgent.repository }}:{{ .Values.images.aiAgent.tag }}"
@@ -54,6 +67,26 @@ spec:
                configMapKeyRef:
                  name: {{ include "ai2.configMapName" . }}
                  key: GROQ_MODEL_NAME
            - name: REDIS_URL
              valueFrom:
                configMapKeyRef:
                  name: {{ include "ai2.configMapName" . }}
                  key: REDIS_URL
            - name: MEMORY_WINDOW_TURNS
              valueFrom:
                configMapKeyRef:
                  name: {{ include "ai2.configMapName" . }}
                  key: MEMORY_WINDOW_TURNS
            - name: MEMORY_TTL_SECONDS
              valueFrom:
                configMapKeyRef:
                  name: {{ include "ai2.configMapName" . }}
                  key: MEMORY_TTL_SECONDS
            - name: MEMORY_KEY_PREFIX
              valueFrom:
                configMapKeyRef:
                  name: {{ include "ai2.configMapName" . }}
                  key: MEMORY_KEY_PREFIX
            - name: GROQ_API_KEY
              valueFrom:
                secretKeyRef:
+4 −0
Changes for deployment/helm/ai2/templates/configmap.yaml: 4 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -11,3 +11,7 @@ data:
  APP_PORT: {{ .Values.config.aiAgent.port | quote }}
  GROQ_MODEL_NAME: {{ .Values.config.aiAgent.groqModelName | quote }}
  MCP_SERVER_URL: {{ printf "http://%s:%s/mcp" (include "ai2.mcpServiceName" .) .Values.config.mcp.port | quote }}
  REDIS_URL: {{- if .Values.redis.enabled }} {{ printf "redis://%s:%d/%d" (include "ai2.redisServiceName" .) (.Values.redis.master.service.ports.redis | int) (.Values.redis.memory.database | int) | quote }}{{- else }} ""{{- end }}
  MEMORY_WINDOW_TURNS: {{ .Values.config.aiAgent.memoryWindowTurns | quote }}
  MEMORY_TTL_SECONDS: {{ .Values.config.aiAgent.memoryTtlSeconds | quote }}
  MEMORY_KEY_PREFIX: {{ .Values.config.aiAgent.memoryKeyPrefix | quote }}
+6 −0
Changes for deployment/helm/ai2/Chart.lock: 6 added lines, 0 removed lines.
Original line number Diff line number Diff line
dependencies:
- name: redis
  repository: oci://registry-1.docker.io/bitnamicharts
  version: 25.5.3
digest: sha256:b680f268339ce6899da9e632b2839d21e8391886211d57f7bcc735c73ffa6e1c
generated: "2026-06-04T11:48:21.792172108+03:00"
Loading
Loading