{{- if or (.Values.config.storage.providers.s3.enabled) (.Values.config.storage.providers.local.enabled) }} apiVersion: v1 kind: Secret metadata: name: {{ include "sebastian.fullname" . }}-storage-secret namespace: {{ include "sebastian.namespace" . }} labels: {{- include "sebastian.labels" . | nindent 4 }} type: Opaque stringData: storage.yaml: | default_provider: {{ .Values.config.storage.default_provider }} providers: {{- if .Values.config.storage.providers.local.enabled }} local: base_path: {{ .Values.config.storage.providers.local.base_path }} max_file_size: {{ .Values.config.storage.providers.local.max_file_size }} allowed_mime_types: {{- range .Values.config.storage.providers.local.allowed_mime_types }} - {{ . }} {{- end }} retention_days: {{ .Values.config.storage.providers.local.retention_days }} {{- end }} {{- if .Values.config.storage.providers.s3.enabled }} s3: region: {{ .Values.config.storage.providers.s3.region }} bucket: {{ .Values.config.storage.providers.s3.bucket }} access_key: {{ .Values.config.storage.providers.s3.access_key }} secret_key: {{ .Values.config.storage.providers.s3.secret_key }} {{- if .Values.config.storage.providers.s3.endpoint }} endpoint: {{ .Values.config.storage.providers.s3.endpoint }} {{- end }} max_file_size: {{ .Values.config.storage.providers.s3.max_file_size }} allowed_mime_types: {{- range .Values.config.storage.providers.s3.allowed_mime_types }} - {{ . }} {{- end }} retention_days: {{ .Values.config.storage.providers.s3.retention_days }} {{- end }} upload: temp_dir: {{ .Values.config.storage.upload.temp_dir }} max_concurrent: {{ .Values.config.storage.upload.max_concurrent }} chunk_size: {{ .Values.config.storage.upload.chunk_size }} backup: enabled: {{ .Values.config.storage.backup.enabled }} schedule: {{ .Values.config.storage.backup.schedule }} retention: days: {{ .Values.config.storage.backup.retention.days }} copies: {{ .Values.config.storage.backup.retention.copies }} {{- end }}