browsertrix/chart/templates/redis.yaml
Ilya Kreymer b3ca501a19 helm chart: support cloud-based persistent volumes if values 'volume_storage_class' is specified.
use PersistentVolumeClaim to create a persistent volume for each local service (mongo, minio, redis) when running in a cloud setup
if cloud-specified volume storage class not specified, create default hostPath volume (eg. for minikube)
lint: add default icon for chart
2022-01-15 19:34:31 -08:00

96 lines
1.5 KiB
YAML

{{- if .Values.redis_local }}
---
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: redis-storage-pvc
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi
{{- if .Values.volume_storage_class }}
storageClassName: {{ .Values.volume_storage_class }}
{{- end }}
{{- if not .Values.volume_storage_class }}
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: "local-redis-store-pv"
spec:
capacity:
storage: 1Gi
accessModes:
- "ReadWriteOnce"
hostPath:
path: /tmp/btrix-redis-data
{{- end }}
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: local-redis
namespace: {{ .Release.Namespace }}
spec:
selector:
matchLabels:
app: local-redis
replicas: 1
template:
metadata:
labels:
app: local-redis
spec:
volumes:
- name: data-storage
persistentVolumeClaim:
claimName: redis-storage-pvc
containers:
- name: redis
image: {{ .Values.redis_image }}
imagePullPolicy: {{ .Values.redis_pull_policy }}
args: ["--appendonly", "yes"]
volumeMounts:
- name: data-storage
mountPath: /data
subPath: redis
---
apiVersion: v1
kind: Service
metadata:
namespace: {{ .Release.Namespace }}
name: local-redis
labels:
app: local-redis
spec:
type: ClusterIP
selector:
app: local-redis
ports:
- protocol: TCP
port: 6379
name: redis
{{- end }}