Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
10 changes: 9 additions & 1 deletion helm/kagent/templates/controller-deployment.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -26,14 +26,18 @@ spec:
securityContext:
{{- toYaml (.Values.controller.podSecurityContext | default .Values.podSecurityContext) | nindent 8 }}
serviceAccountName: {{ include "kagent.fullname" . }}-controller
{{- if or (eq .Values.database.type "sqlite") (gt (len .Values.controller.volumes) 0) }}
volumes:
{{- if eq .Values.database.type "sqlite" }}
- name: sqlite-volume
emptyDir:
sizeLimit: 500Mi
medium: Memory
{{- end }}
{{- with .Values.controller.volumes }}
{{- toYaml . | nindent 6 }}
{{- end }}
{{- end }}
{{- with .Values.controller.nodeSelector }}
nodeSelector:
{{- toYaml . | nindent 8 }}
Expand Down Expand Up @@ -127,9 +131,13 @@ spec:
path: /health
port: http
periodSeconds: 30
{{- if or (eq .Values.database.type "sqlite") (gt (len .Values.controller.volumeMounts) 0) }}
volumeMounts:
{{- if eq .Values.database.type "sqlite" }}
- name: sqlite-volume
mountPath: /sqlite-volume
{{- end }}
{{- with .Values.controller.volumeMounts }}
{{- toYaml . | nindent 12 }}
{{- end }}
{{- end }}
{{- end }}
49 changes: 48 additions & 1 deletion helm/kagent/tests/controller-deployment_test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -150,4 +150,51 @@ tests:
key: role
value: AI
effect: NoSchedule
operator: Equal
operator: Equal

- it: should not render sqlite volume and mount when using postgres with extra volumes
template: controller-deployment.yaml
set:
database:
type: postgres
controller:
volumes:
- name: extra-data
emptyDir: {}
volumeMounts:
- name: extra-data
mountPath: /extra
asserts:
# volumes block should exist due to provided extra volumes
- contains:
path: spec.template.spec.volumes
content:
name: extra-data
emptyDir: {}
# sqlite volume must not be present
- notContains:
path: spec.template.spec.volumes
content:
name: sqlite-volume
# volumeMounts block should include our extra mount
- contains:
path: spec.template.spec.containers[0].volumeMounts
content:
name: extra-data
mountPath: /extra
# sqlite volume mount must not be present
- notContains:
path: spec.template.spec.containers[0].volumeMounts
content:
name: sqlite-volume

- it: should not render volumes or volumeMounts sections when using postgres without extra volumes or mounts
template: controller-deployment.yaml
set:
database:
type: postgres
asserts:
- isNull:
path: spec.template.spec.volumes
- isNull:
path: spec.template.spec.containers[0].volumeMounts
18 changes: 9 additions & 9 deletions helm/kagent/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -105,18 +105,18 @@ controller:
targetPort: 8083
env: []

# Additional volumes on the output Deployment definition.
# Additional volumes on the output Deployment definition.
volumes: []
# - name: foo
# secret:
# secretName: mysecret
# optional: false
# - name: foo
# secret:
# secretName: mysecret
# optional: false

# Additional volumeMounts on the output Deployment definition.
# Additional volumeMounts on the output Deployment definition.
volumeMounts: []
# - name: foo
# mountPath: "/etc/foo"
# readOnly: true
# - name: foo
# mountPath: "/etc/foo"
# readOnly: true

# ==============================================================================
# UI CONFIGURATION
Expand Down
Loading