browsertrix/chart/templates/minio.yaml
Ilya Kreymer aabb0b2a92
chart / deployment fixes to run on microk8s: (fixes #385) (#387)
- ingress: fix proxying /data to minio, use another ingress which proxies correct host to ensure presigned urls work
- presigning: determine if signing endpoint url (minio) or access endpoint (cloud bucket) based on if access endpoint is provided, set bool on storage object
- chart: fix indent on incorrect storageClassName configs
- ingress: make 'ingress_class' configurable (set to 'public' for microk8s, default to 'nginx')
- minio: use older minio image which supports legacy fs based setup (for now)
- nginx service: add 'nginx_service_use_node_port' config setting: if true, will use NodePort for frontend,
other will use default (ClusterIP) and only for the frontend / nginx
- chart: remove changing service type for other services
2022-11-30 09:21:58 -08:00

109 lines
2.1 KiB
YAML

{{- if .Values.minio_local }}
---
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: minio-storage-pvc
annotations:
"helm.sh/resource-policy": keep
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 5Gi
{{- if .Values.volume_storage_class }}
storageClassName: {{ .Values.volume_storage_class }}
{{- 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:
{{- if .Values.main_node_type }}
nodeSelector:
nodeType: {{ .Values.main_node_type }}
{{- end }}
volumes:
- name: data-minio
persistentVolumeClaim:
claimName: minio-storage-pvc
initContainers:
- name: init-bucket
image: {{ .Values.minio_image }}
imagePullPolicy: {{ .Values.minio_pull_policy }}
command:
- sh
- -c
- |
mkdir -p /data/{{ .Values.minio_local_bucket_name }}
mkdir -p /data/.minio.sys
echo '{"version":"1","format":"fs","id":"btrix-data-fs","fs":{"version":"2"}}' > /data/.minio.sys/format.json
volumeMounts:
- name: data-minio
mountPath: /data
subPath: minio
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-minio
mountPath: /data
subPath: minio
---
apiVersion: v1
kind: Service
metadata:
namespace: {{ .Release.Namespace }}
name: local-minio
labels:
app: local-minio
spec:
selector:
app: local-minio
ports:
- protocol: TCP
port: 9000
name: minio
- protocol: TCP
port: 9001
name: minio-console
{{- end }}