github.com/1aal/kubeblocks@v0.0.0-20231107070852-e1c03e598921/deploy/helm/templates/storageprovider/oss.yaml (about) 1 apiVersion: storage.kubeblocks.io/v1alpha1 2 kind: StorageProvider 3 metadata: 4 name: oss 5 labels: 6 {{- include "kubeblocks.labels" . | nindent 4 }} 7 spec: 8 csiDriverName: ru.yandex.s3.csi 9 csiDriverSecretTemplate: | 10 accessKeyID: {{ `{{ index .Parameters "accessKeyId" }}` }} 11 secretAccessKey: {{ `{{ index .Parameters "secretAccessKey" }}` }} 12 {{ `{{- $region := index .Parameters "region" }}` }} 13 {{ `{{- $endpoint := index .Parameters "endpoint" }}` }} 14 {{ `{{- if not $endpoint }}` }} 15 {{ `{{- $endpoint = (printf "https://oss-%s.aliyuncs.com" $region) }}` }} 16 {{ `{{- end }}` }} 17 endpoint: {{ `{{ $endpoint }}` }} 18 19 storageClassTemplate: | 20 provisioner: ru.yandex.s3.csi 21 parameters: 22 mounter: geesefs 23 # you can set mount options here, for example limit memory cache size (recommended) 24 options: {{ `{{ printf "--memory-limit 1000 --dir-mode 0777 --file-mode 0666 %s --subdomain" (index .Parameters "mountOptions") }}` }} 25 bucket: {{ `{{ index .Parameters "bucket" }}` }} 26 csi.storage.k8s.io/provisioner-secret-name: {{ `{{ .CSIDriverSecretRef.Name }}` }} 27 csi.storage.k8s.io/provisioner-secret-namespace: {{ `{{ .CSIDriverSecretRef.Namespace }}` }} 28 csi.storage.k8s.io/controller-publish-secret-name: {{ `{{ .CSIDriverSecretRef.Name }}` }} 29 csi.storage.k8s.io/controller-publish-secret-namespace: {{ `{{ .CSIDriverSecretRef.Namespace }}` }} 30 csi.storage.k8s.io/node-stage-secret-name: {{ `{{ .CSIDriverSecretRef.Name }}` }} 31 csi.storage.k8s.io/node-stage-secret-namespace: {{ `{{ .CSIDriverSecretRef.Namespace }}` }} 32 csi.storage.k8s.io/node-publish-secret-name: {{ `{{ .CSIDriverSecretRef.Name }}` }} 33 csi.storage.k8s.io/node-publish-secret-namespace: {{ `{{ .CSIDriverSecretRef.Namespace }}` }} 34 35 datasafedConfigTemplate: | 36 [storage] 37 type = s3 38 provider = Alibaba 39 env_auth = false 40 access_key_id = {{ `{{ index .Parameters "accessKeyId" }}` }} 41 secret_access_key = {{ `{{ index .Parameters "secretAccessKey" }}` }} 42 endpoint = {{ `{{- printf "oss-%s.aliyuncs.com" .Parameters.region) }}` }} 43 root = {{ `{{ index .Parameters "bucket" }}` }} 44 chunk_size = 50Mi 45 46 parametersSchema: 47 openAPIV3Schema: 48 type: "object" 49 properties: 50 region: 51 type: string 52 description: "OSS region, e.g. cn-hangzhou" 53 bucket: 54 type: string 55 description: "OSS bucket" 56 endpoint: 57 type: string 58 description: "OSS endpoint (optional)" 59 mountOptions: 60 type: string 61 description: "mount options for geesefs" 62 accessKeyId: 63 type: string 64 description: "OSS access key" 65 secretAccessKey: 66 type: string 67 description: "OSS secret key" 68 69 required: 70 - bucket 71 - region 72 - accessKeyId 73 - secretAccessKey 74 75 credentialFields: 76 - accessKeyId 77 - secretAccessKey