diff --git a/packages/helm/symphony/files/symphony-api.json b/packages/helm/symphony/files/symphony-api.json index 23593ecea..bb6314b2f 100644 --- a/packages/helm/symphony/files/symphony-api.json +++ b/packages/helm/symphony/files/symphony-api.json @@ -34,7 +34,7 @@ "type": "providers.pubsub.redis", "config": { "name": "redis", - "host": "symphony-redis:6379", + "host": "{{ include "symphony.redisHost" . }}", "requireTLS": false, "password": "", "numberOfWorkers": 1 diff --git a/packages/helm/symphony/templates/redis-configmap.yaml b/packages/helm/symphony/templates/redis-configmap.yaml new file mode 100644 index 000000000..e25bb1942 --- /dev/null +++ b/packages/helm/symphony/templates/redis-configmap.yaml @@ -0,0 +1,9 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: redis-config-map +data: + redis.conf: | + protected-mode {{ include "symphony.protectedMode" . }} + port {{ .Values.redis.port }} + diff --git a/packages/helm/symphony/templates/redis.yaml b/packages/helm/symphony/templates/redis.yaml index c86f648f6..22bb28c3b 100644 --- a/packages/helm/symphony/templates/redis.yaml +++ b/packages/helm/symphony/templates/redis.yaml @@ -1,4 +1,4 @@ -{{- if .Values.redis.enabled }} +{{- if and .Values.redis.enabled (not .Values.redis.asSidecar)}} apiVersion: apps/v1 kind: Deployment metadata: @@ -16,10 +16,21 @@ spec: app: {{ include "symphony.name" . }}-redis spec: containers: - - name: redis - image: {{ .Values.redis.image }} - ports: - - containerPort: {{ .Values.redis.port }} + - name: redis + image: {{ .Values.redis.image }} + ports: + - containerPort: {{ .Values.redis.port }} + command: ["redis-server", "/usr/var/redis/redis.conf"] + volumeMounts: + - name: redis-config + mountPath: /usr/var/redis + volumes: + - name: redis-config + configMap: + name: redis-config-map + items: + - key: redis.conf + path: redis.conf --- apiVersion: v1 kind: Service diff --git a/packages/helm/symphony/templates/symphony-core/_helpers.tpl b/packages/helm/symphony/templates/symphony-core/_helpers.tpl index d6d7e8dbd..584a507f1 100644 --- a/packages/helm/symphony/templates/symphony-core/_helpers.tpl +++ b/packages/helm/symphony/templates/symphony-core/_helpers.tpl @@ -161,4 +161,22 @@ Symphony full url Endpoint {{/* Symphony Env Config Name */}} {{- define "symphony.envConfigName" -}} {{- printf "%s-env-config" (include "symphony.fullname" .) }} +{{- end }} + +{{/* Symphony Redis host*/}} +{{- define "symphony.redisHost" -}} +{{- if .Values.redis.asSidecar }} +{{- printf "localhost:%d" (.Values.redis.port | int) }} +{{- else }} +{{- printf "%s-redis:%d" (include "symphony.name" .) (.Values.redis.port | int)}} +{{- end }} +{{- end }} + +{{/* Symphony Redis protected-mode*/}} +{{- define "symphony.protectedMode" -}} +{{- if .Values.redis.asSidecar}} +{{- printf "yes" }} +{{- else }} +{{- printf "no" }} +{{- end }} {{- end }} \ No newline at end of file diff --git a/packages/helm/symphony/templates/symphony-core/symphony-api.yaml b/packages/helm/symphony/templates/symphony-core/symphony-api.yaml index 28478ae9c..444f2411c 100644 --- a/packages/helm/symphony/templates/symphony-core/symphony-api.yaml +++ b/packages/helm/symphony/templates/symphony-core/symphony-api.yaml @@ -79,7 +79,16 @@ spec: subPath: proxy-cert.crt name: proxy-certstore {{- end }} - + {{- if and .Values.redis.enabled .Values.redis.asSidecar }} + - name: redis + image: {{ .Values.redis.image }} + command: ["redis-server", "/usr/var/redis/redis.conf"] + ports: + - containerPort: {{ .Values.redis.port }} + volumeMounts: + - name: redis-config + mountPath: /usr/var/redis + {{- end}} {{- if .Values.global.azure.identity.mSIAdapterYaml }} - name: msi-adapter env: @@ -108,3 +117,11 @@ spec: - name: ssl-certs emptyDir: {} {{ end }} + {{- if and .Values.redis.enabled .Values.redis.asSidecar }} + - name: redis-config + configMap: + name: redis-config-map + items: + - key: redis.conf + path: redis.conf + {{- end }} diff --git a/packages/helm/symphony/values.yaml b/packages/helm/symphony/values.yaml index ca6958d72..430dd8711 100644 --- a/packages/helm/symphony/values.yaml +++ b/packages/helm/symphony/values.yaml @@ -24,6 +24,7 @@ cert-manager: flavor: oss redis: enabled: true + asSidecar: false image: redis/redis-stack-server:latest port: 6379 parent: