browsertrix/chart/templates/minio.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

103 lines
1.6 KiB
YAML

{{- if .Values.minio_local }}
---
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: minio-storage-pvc
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 5Gi
{{- if .Values.volume_storage_class }}
storageClassName: {{ .Values.volume_storage_class }}
{{- end }}
{{- if not .Values.volume_storage_class }}
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: "local-minio-store-pv"
spec:
capacity:
storage: 5Gi
accessModes:
- "ReadWriteOnce"
hostPath:
path: /tmp/btrix-minio-data
{{- end }}
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: local-minio
namespace: {{ .Release.Namespace }}
spec:
selector:
matchLabels:
app: local-minio
replicas: 1
template:
metadata:
labels:
app: local-minio
spec:
volumes:
- name: data-storage
persistentVolumeClaim:
claimName: minio-storage-pvc
containers:
- name: minio
image: {{ .Values.minio_image }}
imagePullPolicy: {{ .Values.minio_pull_policy }}
args: ["server", "/data", "--console-address", ":9001"]
envFrom:
- secretRef:
name: auth-secrets
volumeMounts:
- name: data-storage
mountPath: /data
subPath: minio
---
apiVersion: v1
kind: Service
metadata:
namespace: {{ .Release.Namespace }}
name: local-minio
labels:
app: local-minio
spec:
type: NodePort
selector:
app: local-minio
ports:
- protocol: TCP
port: 9000
name: minio
- protocol: TCP
port: 9001
name: minio-console
{{- end }}