Add support to customise storagesvc deployment strategy (#3196)

* chart>fission-all/values.yaml: Fix typo in imageppullsecrets

Fix a typo in comments.

* Add support to customise storagesvc deployment strategy

Add suport to `values.yaml` to allow customisation of the storagesvc deployment
strategy. The default is a rolling update with `maxSurge` and `maxUnavailable`
of 25%. Users with ReadWriteOnce persistent storage can use the `Recreate`
strategy.

Issue 3195
This commit is contained in:
Ian Thompson
2025-10-31 17:40:13 +05:30
committed by GitHub
parent 87cfb2fb20
commit e0c7a80fe0
2 changed files with 27 additions and 11 deletions
@@ -12,6 +12,12 @@ spec:
matchLabels: matchLabels:
svc: storagesvc svc: storagesvc
application: fission-storage application: fission-storage
strategy:
type: {{ .Values.storagesvc.deploymentStrategy.type }}
{{- if eq .Values.storagesvc.deploymentStrategy.type "RollingUpdate" }}
rollingUpdate:
{{- toYaml .Values.storagesvc.deploymentStrategy.rollingUpdate | nindent 6}}
{{- end }}
template: template:
metadata: metadata:
labels: labels:
@@ -113,7 +119,7 @@ spec:
priorityClassName: {{ .Values.priorityClassName }} priorityClassName: {{ .Values.priorityClassName }}
{{- end }} {{- end }}
{{- with .Values.imagePullSecrets }} {{- with .Values.imagePullSecrets }}
imagePullSecrets: imagePullSecrets:
{{- toYaml . | nindent 8 }} {{- toYaml . | nindent 8 }}
{{- end }} {{- end }}
{{- if .Values.extraCoreComponentPodConfig }} {{- if .Values.extraCoreComponentPodConfig }}
+20 -10
View File
@@ -31,7 +31,7 @@ imageTag: v1.21.0
## ##
pullPolicy: IfNotPresent pullPolicy: IfNotPresent
## imageppullsecrets ## imagepullsecrets
imagePullSecrets: [] imagePullSecrets: []
## priorityClassName represents the priority class name to use for Fission components. ## priorityClassName represents the priority class name to use for Fission components.
@@ -80,7 +80,7 @@ builderNamespace: ""
functionNamespace: "" functionNamespace: ""
## Fission will watch the following namespaces along with the `defaultNamespace` for fission custom resources. ## Fission will watch the following namespaces along with the `defaultNamespace` for fission custom resources.
## additionalFissionNamespaces: ## additionalFissionNamespaces:
## - namespace1 ## - namespace1
## - namespace2 ## - namespace2
## - namespace3 ## - namespace3
@@ -163,7 +163,7 @@ executor:
## This is applicable to Pool Manager executor type only. ## This is applicable to Pool Manager executor type only.
## ##
podReadyTimeout: 300s podReadyTimeout: 300s
## Pod resources as: ## Pod resources as:
## resources: ## resources:
## limits: ## limits:
@@ -336,7 +336,7 @@ router:
runAsGroup: 10001 runAsGroup: 10001
## The builder manager watches the package & environments CRD changes and manages the builds of function source code. ## The builder manager watches the package & environments CRD changes and manages the builds of function source code.
## ##
buildermgr: buildermgr:
## Pod resources as: ## Pod resources as:
## resources: ## resources:
@@ -362,7 +362,7 @@ buildermgr:
runAsGroup: 10001 runAsGroup: 10001
## webhook is the component that validates API calls. ## webhook is the component that validates API calls.
## It contains validation and mutation for functions, triggers, environments, Kubernetes event watches, etc. ## It contains validation and mutation for functions, triggers, environments, Kubernetes event watches, etc.
## ##
webhook: webhook:
## Pod resources as: ## Pod resources as:
@@ -439,6 +439,16 @@ storagesvc:
## ##
resources: {} resources: {}
## Deployment strategy defaults to RollingUpdate but use Recreate if new pods fail to
## attach to the volume until the old pod has released it.
## deploymentStrategy:
## type: Recreate
deploymentStrategy:
type: RollingUpdate
rollingUpdate:
maxSurge: 25%
maxUnavailable: 25%
## Archive pruner removes archives from storage which are not referenced by any package. ## Archive pruner removes archives from storage which are not referenced by any package.
archivePruner: archivePruner:
enabled: true enabled: true
@@ -541,7 +551,7 @@ serviceMonitor:
# key: "value" # key: "value"
# The following components expose Prometheus metrics and have podmonitors in this chart (disabled by default) # The following components expose Prometheus metrics and have podmonitors in this chart (disabled by default)
# #
podMonitor: podMonitor:
enabled: false enabled: false
##namespace in which you want to deploy podmonitor ##namespace in which you want to deploy podmonitor
@@ -577,7 +587,7 @@ persistence:
# region: <awsRegion> # region: <awsRegion>
## For Minio and other s3 compatible storage systems set endPoint property ## For Minio and other s3 compatible storage systems set endPoint property
# endPoint: <s3StorageUrl> # endPoint: <s3StorageUrl>
## A manually managed Persistent Volume Claim name ## A manually managed Persistent Volume Claim name
## Requires persistence.enabled: true ## Requires persistence.enabled: true
## If defined, PVC must be created manually before volume will be bound ## If defined, PVC must be created manually before volume will be bound
@@ -764,12 +774,12 @@ authentication:
## jwtSigningKey is the signing key used for ## jwtSigningKey is the signing key used for
## signing the JWT token ## signing the JWT token
## ##
jwtSigningKey: jwtSigningKey:
## jwtExpiryTime is the JWT expiry time ## jwtExpiryTime is the JWT expiry time
## in seconds ## in seconds
## default '120' ## default '120'
## ##
jwtExpiryTime: jwtExpiryTime:
## jwtIssuer is the issuer of JWT ## jwtIssuer is the issuer of JWT
## default 'fission' ## default 'fission'
## ##
@@ -874,7 +884,7 @@ runtimePodSpec:
## Setting it false by default so that integration tests pass ## Setting it false by default so that integration tests pass
## ##
enabled: false enabled: false
## Checkout PodSpec in https://fission.io/docs/reference/crd-reference/#runtime ## Checkout PodSpec in https://fission.io/docs/reference/crd-reference/#runtime
## ##
podSpec: podSpec: