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

406474 add rook volume storage in helm #165

Open
wants to merge 12 commits into
base: main
Choose a base branch
from
8 changes: 5 additions & 3 deletions helm/bold-common/templates/pvclaim.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ data:
azurestorageaccountkey: {{ .Values.persistentVolume.aks.azureStorageAccountKey }}
---
{{- end }}
{{- if not .Values.persistentVolume.oke.blockVolume.blockVolumeEnable }}
{{- if and (not .Values.persistentVolume.oke.blockVolume.blockVolumeEnable) (ne .Values.clusterProvider "rook")}}
apiVersion: v1
kind: PersistentVolume
metadata:
Expand Down Expand Up @@ -151,7 +151,7 @@ metadata:
namespace: {{ .Release.Namespace }}
{{- end }}
spec:
{{- if not .Values.persistentVolume.oke.blockVolume.blockVolumeEnable }}
{{- if and (not .Values.persistentVolume.oke.blockVolume.blockVolumeEnable) (ne .Values.persistentVolume.rook.volumeType "block") (or (eq .Values.persistentVolume.rook.volumeType "fileshare") (eq .Values.persistentVolume.rook.volumeType "")) }}
accessModes:
- ReadWriteMany
{{- else }}
Expand All @@ -174,8 +174,10 @@ spec:
storageClassName: bold-storageclass
{{- else if eq .Values.clusterProvider "oke" }}
storageClassName: ""
{{- else if eq .Values.clusterProvider "rook" }}
storageClassName: {{ .Values.persistentVolume.rook.blockVolumeStorageClass }}
{{- end }}
{{- if not .Values.persistentVolume.oke.blockVolume.blockVolumeEnable }}
{{- if and (not .Values.persistentVolume.oke.blockVolume.blockVolumeEnable) (ne .Values.clusterProvider "rook")}}
volumeName: {{ .Values.persistentVolume.name }}
{{- else if .Values.persistentVolume.oke.blockVolume.blockVolumeName }}
volumeName: {{ .Values.persistentVolume.oke.blockVolume.blockVolumeName }}
Expand Down
9 changes: 9 additions & 0 deletions helm/bold-common/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,15 @@ persistentVolume:
# This field represents the file path of the app_data files. The default location is "/bold-services".
filePath: '/bold-services'

rook:
# Specify the type of volume to use for storage:
# "block" - For block storage, which supports RWO (ReadWriteOnce). Suitable for single-pod access.
# "fileshare" - For file share storage, which supports RWM (ReadWriteMany). Suitable for shared access across multiple pods.
volumeType: ""

# Provide the rook storage class name
blockVolumeStorageClass: ""

onpremise:
hostPath: ''

Expand Down
10 changes: 6 additions & 4 deletions helm/boldbi/templates/pvclaim.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ data:
azurestorageaccountkey: {{ .Values.persistentVolume.aks.azureStorageAccountKey }}
---
{{- end }}
{{- if not .Values.persistentVolume.oke.blockVolume.blockVolumeEnable }}
{{- if and (not .Values.persistentVolume.oke.blockVolume.blockVolumeEnable) (ne .Values.clusterProvider "rook")}}
apiVersion: v1
kind: PersistentVolume
metadata:
Expand Down Expand Up @@ -151,7 +151,7 @@ metadata:
namespace: {{ .Release.Namespace }}
{{- end }}
spec:
{{- if not .Values.persistentVolume.oke.blockVolume.blockVolumeEnable }}
{{- if and (not .Values.persistentVolume.oke.blockVolume.blockVolumeEnable) (ne .Values.persistentVolume.rook.volumeType "block") (or (eq .Values.persistentVolume.rook.volumeType "fileshare") (eq .Values.persistentVolume.rook.volumeType "")) }}
accessModes:
- ReadWriteMany
{{- else }}
Expand All @@ -174,8 +174,10 @@ spec:
storageClassName: bold-storageclass
{{- else if eq .Values.clusterProvider "oke" }}
storageClassName: ""
{{- else if eq .Values.clusterProvider "rook" }}
storageClassName: {{ .Values.persistentVolume.rook.blockVolumeStorageClass }}
{{- end }}
{{- if not .Values.persistentVolume.oke.blockVolume.blockVolumeEnable }}
{{- if and (not .Values.persistentVolume.oke.blockVolume.blockVolumeEnable) (ne .Values.clusterProvider "rook")}}
volumeName: {{ .Values.persistentVolume.name }}
{{- else if .Values.persistentVolume.oke.blockVolume.blockVolumeName }}
volumeName: {{ .Values.persistentVolume.oke.blockVolume.blockVolumeName }}
Expand All @@ -191,4 +193,4 @@ spec:
selector:
matchLabels:
alicloud-pvname: bold-fileserver
{{- end }}
{{- end }}
9 changes: 9 additions & 0 deletions helm/boldbi/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,15 @@ persistentVolume:
ack:
serverName: ''
filePath: ''

rook:
# Specify the type of volume to use for storage:
# "block" - For block storage, which supports RWO (ReadWriteOnce). Suitable for single-pod access.
# "fileshare" - For file share storage, which supports RWM (ReadWriteMany). Suitable for shared access across multiple pods.
volumeType: ""

# Provide the rook storage class name
blockVolumeStorageClass: ""


image:
Expand Down
246 changes: 246 additions & 0 deletions helm/custom-values/common-rook-values.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,246 @@
# Default values for boldbi.
# This is a YAML-formatted file.
# Declare variables to be passed into your templates.

appBaseUrl: ''
optionalLibs: 'mongodb,mysql,influxdb,snowflake,oracle,google,clickhouse'
clusterProvider: 'rook'

namespace:
name: bold-services
annotations: {}
labels: {}

persistentVolume:
# persistent volumes were global resources.
# so if you already have Bold BI installed in your cluster, then the previous persistent volume name will conflict with current installation.
# Change this name to avoid conflicts with previous Bold BI persistent volumes.
name: bold-fileserver
capacity: 5Gi
rook:
# Specify the type of volume to use for storage:
# "block" - For block storage, which supports RWO (ReadWriteOnce). Suitable for single-pod access.
# "fileshare" - For file share storage, which supports RWM (ReadWriteMany). Suitable for shared access across multiple pods.
volumeType: ""

# Provide the rook storage class name
blockVolumeStorageClass: ""


image:
idRepo: us-docker.pkg.dev/boldbi-294612/boldbi
biRepo: us-docker.pkg.dev/boldbi-294612/boldbi
reportsRepo: us-docker.pkg.dev/boldreports/v6-2-32
# Overrides the image tag whose default is the chart appVersion.
idTag: 8.3.17
biTag: 8.3.17
reportsTag: 6.2.32
pullPolicy: IfNotPresent
imagePullSecrets: []

versions:
idp: "4.19.1"
bi: "8.3.17"
reports: "6.2.32"

loadBalancer:
type: nginx
affinityCookie:
enable: true
affinityCookieExpiration: 600
# For Kubernetes >= 1.18 you should specify the ingress-controller via the field ingressClassName
# See https://kubernetes.io/blog/2020/04/02/improvements-to-the-ingress-api-in-kubernetes-1.18/#specifying-the-class-of-an-ingress
# ingressClassName: nginx

nginxIngressAnnotations:
# Enter annotations here for adding annotations in nginx ingress
# Example:
# cert-manager.io/cluster-issuer: letsencrypt-prod
# nginx.ingress.kubernetes.io/rewrite-target: /

kongIngressAnnotations:
# Enter annotations here for adding annotations in Kong ingress
# Example:
# konghq.com/preserve-host: "true"
# konghq.com/protocols: "http,https"

singleHost:
secretName: bold-tls
# multipleHost:
# hostArray:
# - hosts:
# - kubernetes.docker.internal
# - example.com
# secretName: bold-tls

# Enable Gzip in nginx-ingress
enableGzip: false

subApplication:
enabled: false
# Specify the subpath. The default subpath value is 'boldservices'
subPath: ''

istioConfig:
# To use the existing Gateway specify the existing Gateway name.
# If not specified a new Gateway will applied. The default name is 'bold-gateway'
gatewayName: ''

# Specify the existing VirtualService name. The default name is 'bold-virtual-service'
virtualServiceName: ''

instanceConfig:
- app: id-web
product: boldid
replicaCount: 1
minReplicas: 1
maxReplicas: 20
cpuResourceRequests: 250m
memoryResourceRequests: 750Mi
- app: id-api
product: boldid
replicaCount: 1
minReplicas: 1
maxReplicas: 20
cpuResourceRequests: 250m
memoryResourceRequests: 750Mi
- app: id-ums
product: boldid
replicaCount: 1
minReplicas: 1
maxReplicas: 20
cpuResourceRequests: 250m
memoryResourceRequests: 750Mi
- app: bi-web
product: boldbi
replicaCount: 1
minReplicas: 1
maxReplicas: 20
cpuResourceRequests: 250m
memoryResourceRequests: 750Mi
- app: bi-api
product: boldbi
replicaCount: 1
minReplicas: 1
maxReplicas: 20
cpuResourceRequests: 250m
memoryResourceRequests: 750Mi
- app: bi-jobs
product: boldbi
replicaCount: 1
minReplicas: 1
maxReplicas: 20
cpuResourceRequests: 250m
memoryResourceRequests: 750Mi
- app: bi-dataservice
product: boldbi
replicaCount: 1
minReplicas: 1
maxReplicas: 20
cpuResourceRequests: 250m
memoryResourceRequests: 750Mi
- app: bold-etl
product: boldbi
replicaCount: 1
minReplicas: 1
maxReplicas: 20
cpuResourceRequests: 250m
memoryResourceRequests: 750Mi
- app: reports-web
product: boldreports
replicaCount: 1
minReplicas: 1
maxReplicas: 20
cpuResourceRequests: 250m
memoryResourceRequests: 750Mi
- app: reports-api
product: boldreports
replicaCount: 1
minReplicas: 1
maxReplicas: 20
cpuResourceRequests: 250m
memoryResourceRequests: 750Mi
- app: reports-jobs
product: boldreports
replicaCount: 1
minReplicas: 1
maxReplicas: 20
cpuResourceRequests: 250m
memoryResourceRequests: 750Mi
- app: reports-viewer
product: boldreports
replicaCount: 1
minReplicas: 1
maxReplicas: 20
cpuResourceRequests: 250m
memoryResourceRequests: 750Mi
- app: reports-reportservice
product: boldreports
replicaCount: 1
minReplicas: 1
maxReplicas: 20
cpuResourceRequests: 250m
memoryResourceRequests: 750Mi

service:
type: ClusterIP
port: 80

autoscaling:
enabled: true
targetCPUUtilizationPercentage: 80
targetMemoryUtilizationPercentage: 80
behavior:
stabilizationWindowSeconds: 60
podsValue: 1
podsPeriodSeconds: 60
percentValue: 10
percentPeriodSeconds: 60

bingMapWidget:
# Specify the existing bingMap Secret Name. The default is 'bold-secret'
bingMapSecretName: ''
enabled: false
apiKey: ''

## Custom Size PDFExport
customSizePdfExport:
enable: false

## BrowserTimezone
browserTimeZone:
enable: false

## If the query metrics need to be logged in debug files, set this option to true. By default, this option is set to false.
queryMetricsInDebugFiles:
enable: false

## If the query and query metrics need to be logged in debug files, set this option to true. By default, this option is set to false.
queryMetricsWithQueryInDebugFiles:
enable: false

# Tolerations allow the pods to be scheduled into nodes with matching taints.
# Set this to true if you use tolerations in your cluster.
# If you need more than one toleration, you can add tolerations below.
tolerationEnable: false
tolerations:
- key: ""
operator: ""
value: ""
effect: ""

# Node affinity ensures that the pods are scheduled into nodes with matching labels.
# Set this to true if you use Node affinity in your cluster.
nodeAffinityEnable: false
nodeAffinity:
key: ""
operator: ""
value: ""

# Pod affinity ensures that the pods are scheduled into nodes with matching pods.
# Set this to true if you use pod Affinity in your cluster.
podAffinityEnable: false

# Pod anti-affinity ensures that the pods are not scheduled into nodes with matching pods.
# Set this to true if you use pod AntiAffinity in your cluster.
podAntiAffinityEnable: false
Loading