[bitnami/seaweedfs] feat: add support for customizing PVC retention policies (#30495)

This commit is contained in:
Juan Ariza Toledano
2024-11-18 14:42:38 +01:00
committed by GitHub
parent 39322b9054
commit 8a54fb8b17
6 changed files with 86 additions and 46 deletions
+5 -1
View File
@@ -1,8 +1,12 @@
# Changelog
## 4.1.0 (2024-11-18)
* [bitnami/seaweedfs] feat: add support for customizing PVC retention policies ([#30495](https://github.com/bitnami/charts/pull/30495))
## 4.0.0 (2024-11-12)
* [bitnami/seaweedfs] chore!: :arrow_up: :boom: Bump MariaDB subchart to 20 ([#30358](https://github.com/bitnami/charts/pull/30358))
* [bitnami/seaweedfs] chore!: :arrow_up: :boom: Bump MariaDB subchart to 20 (#30358) ([1d471fd](https://github.com/bitnami/charts/commit/1d471fd9fae99cf2e3b9a6e2230b0102046193e7)), closes [#30358](https://github.com/bitnami/charts/issues/30358)
## 3.2.0 (2024-11-08)
+1 -1
View File
@@ -50,4 +50,4 @@ name: seaweedfs
sources:
- https://github.com/bitnami/charts/tree/main/bitnami/seawwedfs
- https://github.com/bitnami/containers/tree/main/bitnami/seaweedfs
version: 4.0.0
version: 4.1.0
+41 -35
View File
@@ -324,7 +324,7 @@ If you encounter errors when working with persistent volumes, refer to our [trou
| `master.args` | Override default Master Server container args (useful when using custom images) | `[]` |
| `master.automountServiceAccountToken` | Mount Service Account token in Master Server pods | `false` |
| `master.hostAliases` | Master Server pods host aliases | `[]` |
| `master.statefulsetAnnotations` | Annotations for Master Server statefulset | `{}` |
| `master.statefulsetAnnotations` | Annotations for Master Server StatefulSet | `{}` |
| `master.podLabels` | Extra labels for Master Server pods | `{}` |
| `master.podAnnotations` | Annotations for Master Server pods | `{}` |
| `master.podAffinityPreset` | Pod affinity preset. Ignored if `master.affinity` is set. Allowed values: `soft` or `hard` | `""` |
@@ -335,8 +335,8 @@ If you encounter errors when working with persistent volumes, refer to our [trou
| `master.affinity` | Affinity for Master Server pods assignment | `{}` |
| `master.nodeSelector` | Node labels for Master Server pods assignment | `{}` |
| `master.tolerations` | Tolerations for Master Server pods assignment | `[]` |
| `master.updateStrategy.type` | Master Server statefulset strategy type | `RollingUpdate` |
| `master.podManagementPolicy` | Pod management policy for Master Server statefulset | `Parallel` |
| `master.updateStrategy.type` | Master Server StatefulSet strategy type | `RollingUpdate` |
| `master.podManagementPolicy` | Pod management policy for Master Server StatefulSet | `Parallel` |
| `master.priorityClassName` | Master Server pods' priorityClassName | `""` |
| `master.topologySpreadConstraints` | Topology Spread Constraints for Master Server pod assignment spread across your cluster among failure-domains | `[]` |
| `master.schedulerName` | Name of the k8s scheduler (other than default) for Master Server pods | `""` |
@@ -400,18 +400,21 @@ If you encounter errors when working with persistent volumes, refer to our [trou
### Master Server Persistence Parameters
| Name | Description | Value |
| ---------------------------------- | ------------------------------------------------------------------------------------------------------- | ------------------- |
| `master.persistence.enabled` | Enable persistence on Master Server using Persistent Volume Claims | `true` |
| `master.persistence.mountPath` | Path to mount the volume at. | `/data` |
| `master.persistence.subPath` | The subdirectory of the volume to mount to, useful in dev environments and one PV for multiple services | `""` |
| `master.persistence.storageClass` | Storage class of backing PVC | `""` |
| `master.persistence.annotations` | Persistent Volume Claim annotations | `{}` |
| `master.persistence.accessModes` | Persistent Volume Access Modes | `["ReadWriteOnce"]` |
| `master.persistence.size` | Size of data volume | `8Gi` |
| `master.persistence.existingClaim` | The name of an existing PVC to use for persistence | `""` |
| `master.persistence.selector` | Selector to match an existing Persistent Volume for data PVC | `{}` |
| `master.persistence.dataSource` | Custom PVC data source | `{}` |
| Name | Description | Value |
| --------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | ------------------- |
| `master.persistence.enabled` | Enable persistence on Master Server using Persistent Volume Claims | `true` |
| `master.persistence.mountPath` | Path to mount the volume at. | `/data` |
| `master.persistence.subPath` | The subdirectory of the volume to mount to, useful in dev environments and one PV for multiple services | `""` |
| `master.persistence.storageClass` | Storage class of backing PVC | `""` |
| `master.persistence.annotations` | Persistent Volume Claim annotations | `{}` |
| `master.persistence.accessModes` | Persistent Volume Access Modes | `["ReadWriteOnce"]` |
| `master.persistence.size` | Size of data volume | `8Gi` |
| `master.persistence.existingClaim` | The name of an existing PVC to use for persistence | `""` |
| `master.persistence.selector` | Selector to match an existing Persistent Volume for data PVC | `{}` |
| `master.persistence.dataSource` | Custom PVC data source | `{}` |
| `master.persistentVolumeClaimRetentionPolicy.enabled` | Controls if and how PVCs are deleted during the lifecycle of the Master Server StatefulSet | `false` |
| `master.persistentVolumeClaimRetentionPolicy.whenScaled` | Volume retention behavior when the replica count of the StatefulSet is reduced | `Retain` |
| `master.persistentVolumeClaimRetentionPolicy.whenDeleted` | Volume retention behavior that applies when the StatefulSet is deleted | `Retain` |
### Master Server Metrics Parameters
@@ -488,7 +491,7 @@ If you encounter errors when working with persistent volumes, refer to our [trou
| `volume.args` | Override default Volume Server container args (useful when using custom images) | `[]` |
| `volume.automountServiceAccountToken` | Mount Service Account token in Volume Server pods | `false` |
| `volume.hostAliases` | Volume Server pods host aliases | `[]` |
| `volume.statefulsetAnnotations` | Annotations for Volume Server statefulset | `{}` |
| `volume.statefulsetAnnotations` | Annotations for Volume Server StatefulSet | `{}` |
| `volume.podLabels` | Extra labels for Volume Server pods | `{}` |
| `volume.podAnnotations` | Annotations for Volume Server pods | `{}` |
| `volume.podAffinityPreset` | Pod affinity preset. Ignored if `volume.affinity` is set. Allowed values: `soft` or `hard` | `""` |
@@ -499,8 +502,8 @@ If you encounter errors when working with persistent volumes, refer to our [trou
| `volume.affinity` | Affinity for Volume Server pods assignment | `{}` |
| `volume.nodeSelector` | Node labels for Volume Server pods assignment | `{}` |
| `volume.tolerations` | Tolerations for Volume Server pods assignment | `[]` |
| `volume.updateStrategy.type` | Volume Server statefulset strategy type | `RollingUpdate` |
| `volume.podManagementPolicy` | Pod management policy for Volume Server statefulset | `Parallel` |
| `volume.updateStrategy.type` | Volume Server StatefulSet strategy type | `RollingUpdate` |
| `volume.podManagementPolicy` | Pod management policy for Volume Server StatefulSet | `Parallel` |
| `volume.priorityClassName` | Volume Server pods' priorityClassName | `""` |
| `volume.topologySpreadConstraints` | Topology Spread Constraints for Volume Server pod assignment spread across your cluster among failure-domains | `[]` |
| `volume.schedulerName` | Name of the k8s scheduler (other than default) for Volume Server pods | `""` |
@@ -564,20 +567,23 @@ If you encounter errors when working with persistent volumes, refer to our [trou
### Volume Server Persistence Parameters
| Name | Description | Value |
| ------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------- |
| `volume.dataVolumes[0].name` | Name of the data volume | `data-0` |
| `volume.dataVolumes[0].mountPath` | Path to mount the volume at. | `/data-0` |
| `volume.dataVolumes[0].subPath` | The subdirectory of the volume to mount to, useful in dev environments and one PV for multiple services | `""` |
| `volume.dataVolumes[0].maxVolumes` | Max number of SeaweedFS volumes this data volume can be divided into. If set to 0, the limit will be auto configured as free disk space divided by default volume size (30GB) | `8` |
| `volume.dataVolumes[0].persistence.enabled` | Enable persistence on Volume Server using Persistent Volume Claims | `true` |
| `volume.dataVolumes[0].persistence.storageClass` | Storage class of backing PVC | `""` |
| `volume.dataVolumes[0].persistence.annotations` | Persistent Volume Claim annotations | `{}` |
| `volume.dataVolumes[0].persistence.accessModes` | Persistent Volume Access Modes | `["ReadWriteOnce"]` |
| `volume.dataVolumes[0].persistence.size` | Size of data volume | `8Gi` |
| `volume.dataVolumes[0].persistence.existingClaim` | The name of an existing PVC to use for persistence | `""` |
| `volume.dataVolumes[0].persistence.selector` | Selector to match an existing Persistent Volume for data PVC | `{}` |
| `volume.dataVolumes[0].persistence.dataSource` | Custom PVC data source | `{}` |
| Name | Description | Value |
| --------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------- |
| `volume.dataVolumes[0].name` | Name of the data volume | `data-0` |
| `volume.dataVolumes[0].mountPath` | Path to mount the volume at. | `/data-0` |
| `volume.dataVolumes[0].subPath` | The subdirectory of the volume to mount to, useful in dev environments and one PV for multiple services | `""` |
| `volume.dataVolumes[0].maxVolumes` | Max number of SeaweedFS volumes this data volume can be divided into. If set to 0, the limit will be auto configured as free disk space divided by default volume size (30GB) | `8` |
| `volume.dataVolumes[0].persistence.enabled` | Enable persistence on Volume Server using Persistent Volume Claims | `true` |
| `volume.dataVolumes[0].persistence.storageClass` | Storage class of backing PVC | `""` |
| `volume.dataVolumes[0].persistence.annotations` | Persistent Volume Claim annotations | `{}` |
| `volume.dataVolumes[0].persistence.accessModes` | Persistent Volume Access Modes | `["ReadWriteOnce"]` |
| `volume.dataVolumes[0].persistence.size` | Size of data volume | `8Gi` |
| `volume.dataVolumes[0].persistence.existingClaim` | The name of an existing PVC to use for persistence | `""` |
| `volume.dataVolumes[0].persistence.selector` | Selector to match an existing Persistent Volume for data PVC | `{}` |
| `volume.dataVolumes[0].persistence.dataSource` | Custom PVC data source | `{}` |
| `volume.persistentVolumeClaimRetentionPolicy.enabled` | Controls if and how PVCs are deleted during the lifecycle of the Volume Server StatefulSet | `false` |
| `volume.persistentVolumeClaimRetentionPolicy.whenScaled` | Volume retention behavior when the replica count of the StatefulSet is reduced | `Retain` |
| `volume.persistentVolumeClaimRetentionPolicy.whenDeleted` | Volume retention behavior that applies when the StatefulSet is deleted | `Retain` |
### Volume Server Metrics Parameters
@@ -656,7 +662,7 @@ enabled = false
| `filer.args` | Override default Filer Server container args (useful when using custom images) | `[]` |
| `filer.automountServiceAccountToken` | Mount Service Account token in Filer Server pods | `false` |
| `filer.hostAliases` | Filer Server pods host aliases | `[]` |
| `filer.statefulsetAnnotations` | Annotations for Filer Server statefulset | `{}` |
| `filer.statefulsetAnnotations` | Annotations for Filer Server StatefulSet | `{}` |
| `filer.podLabels` | Extra labels for Filer Server pods | `{}` |
| `filer.podAnnotations` | Annotations for Filer Server pods | `{}` |
| `filer.podAffinityPreset` | Pod affinity preset. Ignored if `filer.affinity` is set. Allowed values: `soft` or `hard` | `""` |
@@ -667,8 +673,8 @@ enabled = false
| `filer.affinity` | Affinity for Filer Server pods assignment | `{}` |
| `filer.nodeSelector` | Node labels for Filer Server pods assignment | `{}` |
| `filer.tolerations` | Tolerations for Filer Server pods assignment | `[]` |
| `filer.updateStrategy.type` | Filer Server statefulset strategy type | `RollingUpdate` |
| `filer.podManagementPolicy` | Pod management policy for Filer Server statefulset | `Parallel` |
| `filer.updateStrategy.type` | Filer Server StatefulSet strategy type | `RollingUpdate` |
| `filer.podManagementPolicy` | Pod management policy for Filer Server StatefulSet | `Parallel` |
| `filer.priorityClassName` | Filer Server pods' priorityClassName | `""` |
| `filer.topologySpreadConstraints` | Topology Spread Constraints for Filer Server pod assignment spread across your cluster among failure-domains | `[]` |
| `filer.schedulerName` | Name of the k8s scheduler (other than default) for Filer Server pods | `""` |
@@ -305,6 +305,11 @@ spec:
persistentVolumeClaim:
claimName: {{ .Values.master.persistence.existingClaim }}
{{- else }}
{{- if .Values.master.persistentVolumeClaimRetentionPolicy.enabled }}
persistentVolumeClaimRetentionPolicy:
whenDeleted: {{ .Values.master.persistentVolumeClaimRetentionPolicy.whenDeleted }}
whenScaled: {{ .Values.master.persistentVolumeClaimRetentionPolicy.whenScaled }}
{{- end }}
volumeClaimTemplates:
- apiVersion: v1
kind: PersistentVolumeClaim
@@ -326,6 +326,11 @@ spec:
claimName: {{ .persistence.existingClaim }}
{{- end }}
{{- end }}
{{- if .Values.volume.persistentVolumeClaimRetentionPolicy.enabled }}
persistentVolumeClaimRetentionPolicy:
whenDeleted: {{ .Values.volume.persistentVolumeClaimRetentionPolicy.whenDeleted }}
whenScaled: {{ .Values.volume.persistentVolumeClaimRetentionPolicy.whenScaled }}
{{- end }}
volumeClaimTemplates:
{{- range .Values.volume.dataVolumes }}
{{- if and .persistence.enabled (not .persistence.existingClaim) }}
+29 -9
View File
@@ -338,7 +338,7 @@ master:
## https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/
##
hostAliases: []
## @param master.statefulsetAnnotations Annotations for Master Server statefulset
## @param master.statefulsetAnnotations Annotations for Master Server StatefulSet
## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
##
statefulsetAnnotations: {}
@@ -388,14 +388,14 @@ master:
## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
##
tolerations: []
## @param master.updateStrategy.type Master Server statefulset strategy type
## @param master.updateStrategy.type Master Server StatefulSet strategy type
## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#update-strategies
##
updateStrategy:
## Can be set to RollingUpdate or OnDelete
##
type: RollingUpdate
## @param master.podManagementPolicy Pod management policy for Master Server statefulset
## @param master.podManagementPolicy Pod management policy for Master Server StatefulSet
## Ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#pod-management-policies
##
podManagementPolicy: Parallel
@@ -756,6 +756,16 @@ master:
## @param master.persistence.dataSource Custom PVC data source
##
dataSource: {}
## persistentVolumeClaimRetentionPolicy
## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#persistentvolumeclaim-retention
## @param master.persistentVolumeClaimRetentionPolicy.enabled Controls if and how PVCs are deleted during the lifecycle of the Master Server StatefulSet
## @param master.persistentVolumeClaimRetentionPolicy.whenScaled Volume retention behavior when the replica count of the StatefulSet is reduced
## @param master.persistentVolumeClaimRetentionPolicy.whenDeleted Volume retention behavior that applies when the StatefulSet is deleted
##
persistentVolumeClaimRetentionPolicy:
enabled: false
whenScaled: Retain
whenDeleted: Retain
## @section Master Server Metrics Parameters
##
@@ -978,7 +988,7 @@ volume:
## https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/
##
hostAliases: []
## @param volume.statefulsetAnnotations Annotations for Volume Server statefulset
## @param volume.statefulsetAnnotations Annotations for Volume Server StatefulSet
## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
##
statefulsetAnnotations: {}
@@ -1028,14 +1038,14 @@ volume:
## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
##
tolerations: []
## @param volume.updateStrategy.type Volume Server statefulset strategy type
## @param volume.updateStrategy.type Volume Server StatefulSet strategy type
## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#update-strategies
##
updateStrategy:
## Can be set to RollingUpdate or OnDelete
##
type: RollingUpdate
## @param volume.podManagementPolicy Pod management policy for Volume Server statefulset
## @param volume.podManagementPolicy Pod management policy for Volume Server StatefulSet
## Ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#pod-management-policies
##
podManagementPolicy: Parallel
@@ -1406,6 +1416,16 @@ volume:
## @param volume.dataVolumes[0].persistence.dataSource Custom PVC data source
##
dataSource: {}
## persistentVolumeClaimRetentionPolicy
## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#persistentvolumeclaim-retention
## @param volume.persistentVolumeClaimRetentionPolicy.enabled Controls if and how PVCs are deleted during the lifecycle of the Volume Server StatefulSet
## @param volume.persistentVolumeClaimRetentionPolicy.whenScaled Volume retention behavior when the replica count of the StatefulSet is reduced
## @param volume.persistentVolumeClaimRetentionPolicy.whenDeleted Volume retention behavior that applies when the StatefulSet is deleted
##
persistentVolumeClaimRetentionPolicy:
enabled: false
whenScaled: Retain
whenDeleted: Retain
## @section Volume Server Metrics Parameters
##
@@ -1630,7 +1650,7 @@ filer:
## https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/
##
hostAliases: []
## @param filer.statefulsetAnnotations Annotations for Filer Server statefulset
## @param filer.statefulsetAnnotations Annotations for Filer Server StatefulSet
## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
##
statefulsetAnnotations: {}
@@ -1680,14 +1700,14 @@ filer:
## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
##
tolerations: []
## @param filer.updateStrategy.type Filer Server statefulset strategy type
## @param filer.updateStrategy.type Filer Server StatefulSet strategy type
## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#update-strategies
##
updateStrategy:
## Can be set to RollingUpdate or OnDelete
##
type: RollingUpdate
## @param filer.podManagementPolicy Pod management policy for Filer Server statefulset
## @param filer.podManagementPolicy Pod management policy for Filer Server StatefulSet
## Ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#pod-management-policies
##
podManagementPolicy: Parallel