Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

392070 implement storage class for block volume creation in helm chart for bold bi #152

Open
wants to merge 12 commits into
base: main
Choose a base branch
from
38 changes: 32 additions & 6 deletions helm/bold-common/templates/pvclaim.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{{- if or (eq .Values.clusterProvider "eks") (eq .Values.clusterProvider "onpremise") ( .Values.persistentVolume.aks.nfs.fileShareName ) }}
{{- if or (eq .Values.clusterProvider "eks") (eq .Values.clusterProvider "onpremise") (.Values.persistentVolume.aks.nfs.fileShareName) (and .Values.persistentVolume.oke.blockVolume.blockVolumeEnable (eq .Values.persistentVolume.oke.blockVolume.blockVolumeStorageClass "bold-storageclass") (ne .Values.persistentVolume.oke.blockVolume.blockVolumeStorageClass "oci-bv")) }}
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
Expand All @@ -10,9 +10,11 @@ metadata:
name: azurefile-csi-nfs
{{- else if eq .Values.clusterProvider "onpremise" }}
name: bold-storageclass
{{- else if .Values.persistentVolume.oke.blockVolume.blockVolumeEnable }}
name: {{ .Values.persistentVolume.oke.blockVolume.blockVolumeStorageClass }}
{{- end }}
{{- if eq .Release.Namespace "default" }}
namespace: {{ .Values.namespace.name }}
namespace: {{ .Values.namespace }}
{{- else }}
namespace: {{ .Release.Namespace }}
{{- end }}
Expand All @@ -22,6 +24,9 @@ provisioner: efs.csi.aws.com
provisioner: file.csi.azure.com
{{- else if eq .Values.clusterProvider "onpremise" }}
provisioner: kubernetes.io/no-provisioner
{{- else if .Values.persistentVolume.oke.blockVolume.blockVolumeEnable }}
provisioner: blockvolume.csi.oraclecloud.com
reclaimPolicy: Retain
{{- end }}
{{- if eq .Values.clusterProvider "onpremise" }}
volumeBindingMode: WaitForFirstConsumer
Expand All @@ -34,6 +39,9 @@ parameters:
protocol: nfs
mountOptions:
- nconnect=4
{{- else if .Values.persistentVolume.oke.blockVolume.blockVolumeEnable }}
parameters:
type: "oci-bv"
{{- end }}
---
{{- end }}
Expand All @@ -49,7 +57,7 @@ metadata:
name: bold-azure-secret
{{- end }}
{{- if eq .Release.Namespace "default" }}
namespace: {{ .Values.namespace.name }}
namespace: {{ .Values.namespace }}
{{- else }}
namespace: {{ .Release.Namespace }}
{{- end }}
Expand All @@ -59,14 +67,15 @@ data:
azurestorageaccountkey: {{ .Values.persistentVolume.aks.azureStorageAccountKey }}
---
{{- end }}
{{- if not .Values.persistentVolume.oke.blockVolume.blockVolumeEnable }}
apiVersion: v1
kind: PersistentVolume
metadata:
labels:
{{- include "boldbi.labels" . | nindent 4 }}
name: {{ .Values.persistentVolume.name }}
{{- if eq .Release.Namespace "default" }}
namespace: {{ .Values.namespace.name }}
namespace: {{ .Values.namespace }}
{{- else }}
namespace: {{ .Release.Namespace }}
{{- end }}
Expand Down Expand Up @@ -126,6 +135,7 @@ spec:
- nolock,tcp,noresvport
- vers=3
{{- end }}
{{- end }}
---
apiVersion: v1
kind: PersistentVolumeClaim
Expand All @@ -134,13 +144,18 @@ metadata:
{{- include "boldbi.labels" . | nindent 4 }}
name: {{ .Values.persistentVolume.name }}-claim
{{- if eq .Release.Namespace "default" }}
namespace: {{ .Values.namespace.name }}
namespace: {{ .Values.namespace }}
{{- else }}
namespace: {{ .Release.Namespace }}
{{- end }}
spec:
{{- if not .Values.persistentVolume.oke.blockVolume.blockVolumeEnable }}
accessModes:
- ReadWriteMany
{{- else }}
accessModes:
- {{ .Values.persistentVolume.oke.blockVolume.blockVolumeAccessType }}
{{- end }}
{{- if eq .Values.clusterProvider "onpremise" }}
storageClassName: bold-storageclass
{{- else if eq .Values.clusterProvider "eks" }}
Expand All @@ -151,16 +166,27 @@ spec:
storageClassName: azurefile
{{- else if eq .Values.clusterProvider "gke" }}
storageClassName: ""
{{- else if .Values.persistentVolume.oke.blockVolume.blockVolumeEnable }}
storageClassName: {{ .Values.persistentVolume.oke.blockVolume.blockVolumeStorageClass }}
{{- else if eq .Values.clusterProvider "oke" }}
storageClassName: ""
{{- end }}
{{- if not .Values.persistentVolume.oke.blockVolume.blockVolumeEnable }}
volumeName: {{ .Values.persistentVolume.name }}
{{- else if .Values.persistentVolume.oke.blockVolume.blockVolumeName }}
volumeName: {{ .Values.persistentVolume.oke.blockVolume.blockVolumeName }}
{{- end }}
resources:
requests:
{{- if not .Values.persistentVolume.oke.blockVolume.blockVolumeEnable }}
storage: {{ .Values.persistentVolume.capacity }}
{{- else }}
storage: {{ .Values.persistentVolume.oke.blockVolume.blockVolumeCapacity }}
{{- end }}
{{- if eq .Values.clusterProvider "ack" }}
selector:
matchLabels:
alicloud-pvname: bold-fileserver
{{- end }}
{{- end }}


12 changes: 12 additions & 0 deletions helm/bold-common/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,18 @@ persistentVolume:

onpremise:
hostPath: ''

blockVolume:
# Set to true if using block volumes to create a persistent volume claim.
# For Oracle block volumes, use the storage class "oci-bv" (default reclaim policy: Delete). To use a Retain policy instead, choose "bold-storageclass". Otherwise, specify your preferred storage class.
# When using block volumes with Oracle, only "ReadWriteOnce" access type is supported. For other storage classes, use the supported access types.
# For Oracle block volumes, the minimum capacity is "50Gi". For other storage classes, use the minimum value supported by the storage class.
# If you already have a persistent volume name to use, provide it. Otherwise, ignore this field. Note: the given persistent volume status must be "Available."
blockVolumeEnable: false
blockVolumeStorageClass: ""
blockVolumeAccessType: ""
blockVolumeCapacity: ""
blockVolumeName: ""

image:
idRepo: us-docker.pkg.dev/boldbi-294612/boldbi
Expand Down
27 changes: 26 additions & 1 deletion helm/boldbi/templates/pvclaim.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{{- if or (eq .Values.clusterProvider "eks") (eq .Values.clusterProvider "onpremise") ( .Values.persistentVolume.aks.nfs.fileShareName ) }}
{{- if or (eq .Values.clusterProvider "eks") (eq .Values.clusterProvider "onpremise") (.Values.persistentVolume.aks.nfs.fileShareName) (and .Values.persistentVolume.oke.blockVolume.blockVolumeEnable (eq .Values.persistentVolume.oke.blockVolume.blockVolumeStorageClass "bold-storageclass") (ne .Values.persistentVolume.oke.blockVolume.blockVolumeStorageClass "oci-bv")) }}
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
Expand All @@ -10,6 +10,8 @@ metadata:
name: azurefile-csi-nfs
{{- else if eq .Values.clusterProvider "onpremise" }}
name: bold-storageclass
{{- else if .Values.persistentVolume.oke.blockVolume.blockVolumeEnable }}
name: {{ .Values.persistentVolume.oke.blockVolume.blockVolumeStorageClass }}
{{- end }}
{{- if eq .Release.Namespace "default" }}
namespace: {{ .Values.namespace }}
Expand All @@ -22,6 +24,9 @@ provisioner: efs.csi.aws.com
provisioner: file.csi.azure.com
{{- else if eq .Values.clusterProvider "onpremise" }}
provisioner: kubernetes.io/no-provisioner
{{- else if .Values.persistentVolume.oke.blockVolume.blockVolumeEnable }}
provisioner: blockvolume.csi.oraclecloud.com
reclaimPolicy: Retain
{{- end }}
{{- if eq .Values.clusterProvider "onpremise" }}
volumeBindingMode: WaitForFirstConsumer
Expand All @@ -34,6 +39,9 @@ parameters:
protocol: nfs
mountOptions:
- nconnect=4
{{- else if .Values.persistentVolume.oke.blockVolume.blockVolumeEnable }}
parameters:
type: "oci-bv"
{{- end }}
---
{{- end }}
Expand All @@ -59,6 +67,7 @@ data:
azurestorageaccountkey: {{ .Values.persistentVolume.aks.azureStorageAccountKey }}
---
{{- end }}
{{- if not .Values.persistentVolume.oke.blockVolume.blockVolumeEnable }}
apiVersion: v1
kind: PersistentVolume
metadata:
Expand Down Expand Up @@ -126,6 +135,7 @@ spec:
- nolock,tcp,noresvport
- vers=3
{{- end }}
{{- end }}
---
apiVersion: v1
kind: PersistentVolumeClaim
Expand All @@ -139,8 +149,13 @@ metadata:
namespace: {{ .Release.Namespace }}
{{- end }}
spec:
{{- if not .Values.persistentVolume.oke.blockVolume.blockVolumeEnable }}
accessModes:
- ReadWriteMany
{{- else }}
accessModes:
- {{ .Values.persistentVolume.oke.blockVolume.blockVolumeAccessType }}
{{- end }}
{{- if eq .Values.clusterProvider "onpremise" }}
storageClassName: bold-storageclass
{{- else if eq .Values.clusterProvider "eks" }}
Expand All @@ -151,13 +166,23 @@ spec:
storageClassName: azurefile
{{- else if eq .Values.clusterProvider "gke" }}
storageClassName: ""
{{- else if .Values.persistentVolume.oke.blockVolume.blockVolumeEnable }}
storageClassName: {{ .Values.persistentVolume.oke.blockVolume.blockVolumeStorageClass }}
{{- else if eq .Values.clusterProvider "oke" }}
storageClassName: ""
{{- end }}
{{- if not .Values.persistentVolume.oke.blockVolume.blockVolumeEnable }}
volumeName: {{ .Values.persistentVolume.name }}
{{- else if .Values.persistentVolume.oke.blockVolume.blockVolumeName }}
volumeName: {{ .Values.persistentVolume.oke.blockVolume.blockVolumeName }}
{{- end }}
resources:
requests:
{{- if not .Values.persistentVolume.oke.blockVolume.blockVolumeEnable }}
storage: {{ .Values.persistentVolume.capacity }}
{{- else }}
storage: {{ .Values.persistentVolume.oke.blockVolume.blockVolumeCapacity }}
{{- end }}
{{- if eq .Values.clusterProvider "ack" }}
selector:
matchLabels:
Expand Down
12 changes: 12 additions & 0 deletions helm/boldbi/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,18 @@ persistentVolume:
ack:
serverName: ''
filePath: ''

blockVolume:
# Set to true if using block volumes to create a persistent volume claim.
# For Oracle block volumes, use the storage class "oci-bv" (default reclaim policy: Delete). To use a Retain policy instead, choose "bold-storageclass". Otherwise, specify your preferred storage class.
# When using block volumes with Oracle, only "ReadWriteOnce" access type is supported. For other storage classes, use the supported access types.
# For Oracle block volumes, the minimum capacity is "50Gi". For other storage classes, use the minimum value supported by the storage class.
# If you already have a persistent volume name to use, provide it. Otherwise, ignore this field. Note: the given persistent volume status must be "Available."
blockVolumeEnable: false
blockVolumeStorageClass: ""
blockVolumeAccessType: ""
blockVolumeCapacity: ""
blockVolumeName: ""

image:
repo: us-docker.pkg.dev/boldbi-294612/boldbi
Expand Down
12 changes: 12 additions & 0 deletions helm/custom-values/common-oke-values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,18 @@ persistentVolume:
oke:
# Mention your filesystem volume handle in the format of <FileSystemOCID>:<MountTargetIP>:<path>
volumeHandle: '<FileSystemOCID>:<MountTargetIP>:<path>'

blockVolume:
# Set to true if using block volumes to create a persistent volume claim.
# For Oracle block volumes, use the storage class "oci-bv" (default reclaim policy: Delete). To use a Retain policy instead, choose "bold-storageclass". Otherwise, specify your preferred storage class.
# When using block volumes with Oracle, only "ReadWriteOnce" access type is supported. For other storage classes, use the supported access types.
# For Oracle block volumes, the minimum capacity is "50Gi". For other storage classes, use the minimum value supported by the storage class.
# If you already have a persistent volume name to use, provide it. Otherwise, ignore this field. Note: the given persistent volume status must be "Available."
blockVolumeEnable: false
blockVolumeStorageClass: ""
blockVolumeAccessType: ""
blockVolumeCapacity: ""
blockVolumeName: ""

image:
idRepo: us-docker.pkg.dev/boldbi-294612/boldbi
Expand Down
14 changes: 13 additions & 1 deletion helm/custom-values/oke-values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,19 @@ persistentVolume:
oke:
# Mention your filesystem volume handle in the format of <FileSystemOCID>:<MountTargetIP>:<path>
volumeHandle: '<FileSystemOCID>:<MountTargetIP>:<path>'


blockVolume:
# Set to true if using block volumes to create a persistent volume claim.
# For Oracle block volumes, use the storage class "oci-bv" (default reclaim policy: Delete). To use a Retain policy instead, choose "bold-storageclass". Otherwise, specify your preferred storage class.
# When using block volumes with Oracle, only "ReadWriteOnce" access type is supported. For other storage classes, use the supported access types.
# For Oracle block volumes, the minimum capacity is "50Gi". For other storage classes, use the minimum value supported by the storage class.
# If you already have a persistent volume name to use, provide it. Otherwise, ignore this field. Note: the given persistent volume status must be "Available."
blockVolumeEnable: false
blockVolumeStorageClass: ""
blockVolumeAccessType: ""
blockVolumeCapacity: ""
blockVolumeName: ""

# image:
# repo: us-docker.pkg.dev/boldbi-294612/boldbi
# # Overrides the image tag whose default is the chart appVersion.
Expand Down