46 lines
1.6 KiB
YAML
46 lines
1.6 KiB
YAML
apiVersion: v1
|
|
kind: Secret
|
|
metadata:
|
|
name: {{ include "keydb.fullname" . }}-utils
|
|
labels:
|
|
{{- include "keydb.labels" . | nindent 4 }}
|
|
type: Opaque
|
|
stringData:
|
|
server.sh: |
|
|
#!/bin/bash
|
|
set -euxo pipefail
|
|
|
|
host="$(hostname)"
|
|
replicas=()
|
|
for node in {0..{{ (sub (.Values.nodes | int) 1) }}}; do
|
|
if [ "${host}" != "{{ include "keydb.fullname" . }}-${node}" ]; then
|
|
replicas+=("--replicaof {{ include "keydb.fullname" . }}-${node}.{{ include "keydb.fullname" . }}-headless {{ .Values.port }}")
|
|
fi
|
|
done
|
|
exec keydb-server /etc/keydb/redis.conf \
|
|
--active-replica {{ .Values.activeReplicas | quote }} \
|
|
--multi-master {{ .Values.multiMaster | quote }} \
|
|
--appendonly {{ .Values.appendonly | quote }} \
|
|
--bind "0.0.0.0" \
|
|
--port "{{ .Values.internalPort }}" \
|
|
--protected-mode {{ .Values.protectedMode | quote }} \
|
|
--server-threads {{ .Values.threads | quote }} \
|
|
{{- if .Values.existingSecret }}
|
|
--masterauth "${REDIS_PASSWORD}" \
|
|
--requirepass "${REDIS_PASSWORD}" \
|
|
{{- else if .Values.password }}
|
|
--masterauth {{ .Values.password | quote }} \
|
|
--requirepass {{ .Values.password | quote }} \
|
|
{{- end }}
|
|
{{- range $item := .Values.configExtraArgs }}
|
|
{{- range $key, $value := $item }}
|
|
{{- if kindIs "invalid" $value }}
|
|
--{{ $key }} \
|
|
{{- else if kindIs "slice" $value }}
|
|
--{{ $key }}{{ range $value }} {{ . | quote }}{{ end }} \
|
|
{{- else }}
|
|
--{{ $key }} {{ $value | quote }} \
|
|
{{- end }}
|
|
{{- end }}
|
|
{{- end }}
|
|
"${replicas[@]}"
|