diff --git a/addons/clickhouse/24/chart/clickhouse/templates/statefulset.yaml b/addons/clickhouse/24/chart/clickhouse/templates/statefulset.yaml index 2e1071c5..9110e32b 100644 --- a/addons/clickhouse/24/chart/clickhouse/templates/statefulset.yaml +++ b/addons/clickhouse/24/chart/clickhouse/templates/statefulset.yaml @@ -78,7 +78,7 @@ spec: topologySpreadConstraints: {{- include "common.tplvalues.render" (dict "value" $.Values.topologySpreadConstraints "context" $) | nindent 8 }} {{- end }} {{- if $.Values.podSecurityContext.enabled }} - ssecurityContext: {{- omit $.Values.podSecurityContext "enabled" | toYaml | nindent 8 }} + securityContext: {{- omit $.Values.podSecurityContext "enabled" | toYaml | nindent 8 }} {{- end }} {{- if $.Values.terminationGracePeriodSeconds }} terminationGracePeriodSeconds: {{ $.Values.terminationGracePeriodSeconds }} diff --git a/addons/index.yaml b/addons/index.yaml index 2c87453f..ffc0fa94 100644 --- a/addons/index.yaml +++ b/addons/index.yaml @@ -5,15 +5,16 @@ entries: description: "Apache Airflow is a platform that allows you to create, schedule and monitor workflows using Python, Jinja and a message queue" - version: 3 description: "Apache Airflow is a platform that allows you to create, schedule and monitor workflows using Python, Jinja and a message queue" - cloudbeaver: - - version: 23 - description: "Cloud Database Manager." mysql-cluster: - version: 8.0 description: "The world's most popular open source database cluster." + - version: 8.4 + description: "The world's most popular open source database cluster." mysql-basic: - version: 8.0 description: "The world's most popular open source database." + - version: 8.4 + description: "The world's most popular open source database." minio: - version: 2023 description: "MinIO offers high-performance, S3 compatible object storage." diff --git a/addons/mysql-basic/8.0/chart/mysql-basic/templates/networkpolicy.yaml b/addons/mysql-basic/8.0/chart/mysql-basic/templates/networkpolicy.yaml index 4e443e39..2849dc83 100644 --- a/addons/mysql-basic/8.0/chart/mysql-basic/templates/networkpolicy.yaml +++ b/addons/mysql-basic/8.0/chart/mysql-basic/templates/networkpolicy.yaml @@ -35,6 +35,13 @@ spec: matchLabels: kubernetes.io/metadata.name: {{ .Release.Namespace }} {{- end }} + {{- range $namespace := .Values.networkPolicy.allowDefaultNamespaces }} + {{- if $namespace }} + - namespaceSelector: + matchLabels: + kubernetes.io/metadata.name: {{ $namespace }} + {{- end }} + {{- end }} {{- range $namespace := .Values.networkPolicy.allowNamespaces }} {{- if $namespace }} - namespaceSelector: diff --git a/addons/mysql-basic/8.0/chart/mysql-basic/templates/primary/statefulset.yaml b/addons/mysql-basic/8.0/chart/mysql-basic/templates/primary/statefulset.yaml index 27892156..bd8c41f3 100644 --- a/addons/mysql-basic/8.0/chart/mysql-basic/templates/primary/statefulset.yaml +++ b/addons/mysql-basic/8.0/chart/mysql-basic/templates/primary/statefulset.yaml @@ -132,6 +132,8 @@ spec: env: - name: DRYCC_DEBUG value: {{ ternary "true" "false" (or .Values.image.debug .Values.diagnosticMode.enabled) | quote }} + - name: MALLOC_ARENA_MAX + value: "1" {{- if .Values.auth.usePasswordFiles }} - name: MYSQL_ROOT_PASSWORD_FILE value: {{ default "/opt/drycc/mysql/secrets/mysql-root-password" .Values.auth.customPasswordFiles.root }} diff --git a/addons/mysql-basic/8.0/chart/mysql-basic/values.yaml b/addons/mysql-basic/8.0/chart/mysql-basic/values.yaml index 681faaad..3822638c 100644 --- a/addons/mysql-basic/8.0/chart/mysql-basic/values.yaml +++ b/addons/mysql-basic/8.0/chart/mysql-basic/values.yaml @@ -636,9 +636,10 @@ networkPolicy: ## (with the correct destination port). ## allowCurrentNamespace: true - allowNamespaces: + allowDefaultNamespaces: - drycc - backup + allowNamespaces: [] ## @section Volume Permissions parameters diff --git a/addons/mysql-basic/8.0/plans/standard-16c64g400/values.yaml b/addons/mysql-basic/8.0/plans/standard-16c64g400/values.yaml index 8decc1ba..52f539e7 100644 --- a/addons/mysql-basic/8.0/plans/standard-16c64g400/values.yaml +++ b/addons/mysql-basic/8.0/plans/standard-16c64g400/values.yaml @@ -40,49 +40,4 @@ primary: ## ref: https://kubernetes.io/docs/user-guide/persistent-volumes/ ## persistence: - ## @param primary.persistence.enabled Enable persistence on MySQL primary replicas using a `PersistentVolumeClaim`. If false, use emptyDir - ## - enabled: true - ## @param primary.persistence.existingClaim Name of an existing `PersistentVolumeClaim` for MySQL primary replicas - ## NOTE: When it's set the rest of persistence parameters are ignored - ## - existingClaim: "" - ## @param primary.persistence.storageClass MySQL primary persistent volume storage Class - ## If defined, storageClassName: - ## If set to "-", storageClassName: "", which disables dynamic provisioning - ## If undefined (the default) or set to null, no storageClassName spec is - ## set, choosing the default provisioner. (gp2 on AWS, standard on - ## GKE, AWS & OpenStack) - ## - storageClass: "" - ## @param primary.persistence.annotations MySQL primary persistent volume claim annotations - ## - annotations: {} - ## @param primary.persistence.accessModes MySQL primary persistent volume access Modes - ## - accessModes: - - ReadWriteOnce - ## @param primary.persistence.size MySQL primary persistent volume size - ## size: 400Gi - ## @param primary.persistence.selector Selector to match an existing Persistent Volume - ## selector: - ## matchLabels: - ## app: my-app - ## - selector: {} - -router: - replicaCount: 4 - configuration: |- - [DEFAULT] - max_total_connections = 3900 - [routing:bootstrap_rw] - max_connections= 3900 - resources: - limits: - cpu: 1600m - memory: 2Gi - requests: - cpu: 100m - memory: 1Gi \ No newline at end of file diff --git a/addons/mysql-basic/8.0/plans/standard-2c4g20/values.yaml b/addons/mysql-basic/8.0/plans/standard-2c4g20/values.yaml index 80d080b1..654203df 100644 --- a/addons/mysql-basic/8.0/plans/standard-2c4g20/values.yaml +++ b/addons/mysql-basic/8.0/plans/standard-2c4g20/values.yaml @@ -40,34 +40,4 @@ primary: ## ref: https://kubernetes.io/docs/user-guide/persistent-volumes/ ## persistence: - ## @param primary.persistence.enabled Enable persistence on MySQL primary replicas using a `PersistentVolumeClaim`. If false, use emptyDir - ## - enabled: true - ## @param primary.persistence.existingClaim Name of an existing `PersistentVolumeClaim` for MySQL primary replicas - ## NOTE: When it's set the rest of persistence parameters are ignored - ## - existingClaim: "" - ## @param primary.persistence.storageClass MySQL primary persistent volume storage Class - ## If defined, storageClassName: - ## If set to "-", storageClassName: "", which disables dynamic provisioning - ## If undefined (the default) or set to null, no storageClassName spec is - ## set, choosing the default provisioner. (gp2 on AWS, standard on - ## GKE, AWS & OpenStack) - ## - storageClass: "" - ## @param primary.persistence.annotations MySQL primary persistent volume claim annotations - ## - annotations: {} - ## @param primary.persistence.accessModes MySQL primary persistent volume access Modes - ## - accessModes: - - ReadWriteOnce - ## @param primary.persistence.size MySQL primary persistent volume size - ## - size: 20Gi - ## @param primary.persistence.selector Selector to match an existing Persistent Volume - ## selector: - ## matchLabels: - ## app: my-app - ## - selector: {} \ No newline at end of file + size: 20Gi \ No newline at end of file diff --git a/addons/mysql-basic/8.0/plans/standard-2c8g50/values.yaml b/addons/mysql-basic/8.0/plans/standard-2c8g50/values.yaml index 3b6d6ff1..94d9a0b5 100644 --- a/addons/mysql-basic/8.0/plans/standard-2c8g50/values.yaml +++ b/addons/mysql-basic/8.0/plans/standard-2c8g50/values.yaml @@ -40,48 +40,4 @@ primary: ## ref: https://kubernetes.io/docs/user-guide/persistent-volumes/ ## persistence: - ## @param primary.persistence.enabled Enable persistence on MySQL primary replicas using a `PersistentVolumeClaim`. If false, use emptyDir - ## - enabled: true - ## @param primary.persistence.existingClaim Name of an existing `PersistentVolumeClaim` for MySQL primary replicas - ## NOTE: When it's set the rest of persistence parameters are ignored - ## - existingClaim: "" - ## @param primary.persistence.storageClass MySQL primary persistent volume storage Class - ## If defined, storageClassName: - ## If set to "-", storageClassName: "", which disables dynamic provisioning - ## If undefined (the default) or set to null, no storageClassName spec is - ## set, choosing the default provisioner. (gp2 on AWS, standard on - ## GKE, AWS & OpenStack) - ## - storageClass: "" - ## @param primary.persistence.annotations MySQL primary persistent volume claim annotations - ## - annotations: {} - ## @param primary.persistence.accessModes MySQL primary persistent volume access Modes - ## - accessModes: - - ReadWriteOnce - ## @param primary.persistence.size MySQL primary persistent volume size - ## size: 50Gi - ## @param primary.persistence.selector Selector to match an existing Persistent Volume - ## selector: - ## matchLabels: - ## app: my-app - ## - selector: {} -router: - replicaCount: 2 - configuration: |- - [DEFAULT] - max_total_connections = 900 - [routing:bootstrap_rw] - max_connections= 900 - resources: - limits: - cpu: 500m - memory: 512Mi - requests: - cpu: 100m - memory: 512Mi \ No newline at end of file diff --git a/addons/mysql-basic/8.0/plans/standard-32c128g800/values.yaml b/addons/mysql-basic/8.0/plans/standard-32c128g800/values.yaml index b6c29a05..4b244b2e 100644 --- a/addons/mysql-basic/8.0/plans/standard-32c128g800/values.yaml +++ b/addons/mysql-basic/8.0/plans/standard-32c128g800/values.yaml @@ -40,48 +40,4 @@ primary: ## ref: https://kubernetes.io/docs/user-guide/persistent-volumes/ ## persistence: - ## @param primary.persistence.enabled Enable persistence on MySQL primary replicas using a `PersistentVolumeClaim`. If false, use emptyDir - ## - enabled: true - ## @param primary.persistence.existingClaim Name of an existing `PersistentVolumeClaim` for MySQL primary replicas - ## NOTE: When it's set the rest of persistence parameters are ignored - ## - existingClaim: "" - ## @param primary.persistence.storageClass MySQL primary persistent volume storage Class - ## If defined, storageClassName: - ## If set to "-", storageClassName: "", which disables dynamic provisioning - ## If undefined (the default) or set to null, no storageClassName spec is - ## set, choosing the default provisioner. (gp2 on AWS, standard on - ## GKE, AWS & OpenStack) - ## - storageClass: "" - ## @param primary.persistence.annotations MySQL primary persistent volume claim annotations - ## - annotations: {} - ## @param primary.persistence.accessModes MySQL primary persistent volume access Modes - ## - accessModes: - - ReadWriteOnce - ## @param primary.persistence.size MySQL primary persistent volume size - ## size: 800Gi - ## @param primary.persistence.selector Selector to match an existing Persistent Volume - ## selector: - ## matchLabels: - ## app: my-app - ## - selector: {} -router: - replicaCount: 4 - configuration: |- - [DEFAULT] - max_total_connections = 7900 - [routing:bootstrap_rw] - max_connections= 7900 - resources: - limits: - cpu: 3200m - memory: 4Gi - requests: - cpu: 100m - memory: 1Gi \ No newline at end of file diff --git a/addons/mysql-basic/8.0/plans/standard-4c16g100/values.yaml b/addons/mysql-basic/8.0/plans/standard-4c16g100/values.yaml index 6c764722..0cb26ef0 100644 --- a/addons/mysql-basic/8.0/plans/standard-4c16g100/values.yaml +++ b/addons/mysql-basic/8.0/plans/standard-4c16g100/values.yaml @@ -41,49 +41,4 @@ primary: ## ref: https://kubernetes.io/docs/user-guide/persistent-volumes/ ## persistence: - ## @param primary.persistence.enabled Enable persistence on MySQL primary replicas using a `PersistentVolumeClaim`. If false, use emptyDir - ## - enabled: true - ## @param primary.persistence.existingClaim Name of an existing `PersistentVolumeClaim` for MySQL primary replicas - ## NOTE: When it's set the rest of persistence parameters are ignored - ## - existingClaim: "" - ## @param primary.persistence.storageClass MySQL primary persistent volume storage Class - ## If defined, storageClassName: - ## If set to "-", storageClassName: "", which disables dynamic provisioning - ## If undefined (the default) or set to null, no storageClassName spec is - ## set, choosing the default provisioner. (gp2 on AWS, standard on - ## GKE, AWS & OpenStack) - ## - storageClass: "" - ## @param primary.persistence.annotations MySQL primary persistent volume claim annotations - ## - annotations: {} - ## @param primary.persistence.accessModes MySQL primary persistent volume access Modes - ## - accessModes: - - ReadWriteOnce - ## @param primary.persistence.size MySQL primary persistent volume size - ## size: 100Gi - ## @param primary.persistence.selector Selector to match an existing Persistent Volume - ## selector: - ## matchLabels: - ## app: my-app - ## - selector: {} - -router: - replicaCount: 3 - configuration: |- - [DEFAULT] - max_total_connections = 1200 - [routing:bootstrap_rw] - max_connections= 1200 - resources: - limits: - cpu: 500m - memory: 512Mi - requests: - cpu: 500m - memory: 512Mi \ No newline at end of file diff --git a/addons/mysql-basic/8.0/plans/standard-8c32g200/values.yaml b/addons/mysql-basic/8.0/plans/standard-8c32g200/values.yaml index 44e06420..97ec1e09 100644 --- a/addons/mysql-basic/8.0/plans/standard-8c32g200/values.yaml +++ b/addons/mysql-basic/8.0/plans/standard-8c32g200/values.yaml @@ -40,49 +40,4 @@ primary: ## ref: https://kubernetes.io/docs/user-guide/persistent-volumes/ ## persistence: - ## @param primary.persistence.enabled Enable persistence on MySQL primary replicas using a `PersistentVolumeClaim`. If false, use emptyDir - ## - enabled: true - ## @param primary.persistence.existingClaim Name of an existing `PersistentVolumeClaim` for MySQL primary replicas - ## NOTE: When it's set the rest of persistence parameters are ignored - ## - existingClaim: "" - ## @param primary.persistence.storageClass MySQL primary persistent volume storage Class - ## If defined, storageClassName: - ## If set to "-", storageClassName: "", which disables dynamic provisioning - ## If undefined (the default) or set to null, no storageClassName spec is - ## set, choosing the default provisioner. (gp2 on AWS, standard on - ## GKE, AWS & OpenStack) - ## - storageClass: "" - ## @param primary.persistence.annotations MySQL primary persistent volume claim annotations - ## - annotations: {} - ## @param primary.persistence.accessModes MySQL primary persistent volume access Modes - ## - accessModes: - - ReadWriteOnce - ## @param primary.persistence.size MySQL primary persistent volume size - ## size: 200Gi - ## @param primary.persistence.selector Selector to match an existing Persistent Volume - ## selector: - ## matchLabels: - ## app: my-app - ## - selector: {} - -router: - replicaCount: 4 - configuration: |- - [DEFAULT] - max_total_connections = 1900 - [routing:bootstrap_rw] - max_connections= 1900 - resources: - limits: - cpu: 800m - memory: 1024Mi - requests: - cpu: 100m - memory: 1Gi \ No newline at end of file diff --git a/addons/mysql-basic/8.4/chart/mysql-basic-8.4/templates/networkpolicy.yaml b/addons/mysql-basic/8.4/chart/mysql-basic-8.4/templates/networkpolicy.yaml index 4e443e39..aae6d34f 100644 --- a/addons/mysql-basic/8.4/chart/mysql-basic-8.4/templates/networkpolicy.yaml +++ b/addons/mysql-basic/8.4/chart/mysql-basic-8.4/templates/networkpolicy.yaml @@ -35,6 +35,14 @@ spec: matchLabels: kubernetes.io/metadata.name: {{ .Release.Namespace }} {{- end }} + {{- range $namespace := .Values.networkPolicy.allowDefaultNamespaces }} + {{- if $namespace }} + - namespaceSelector: + matchLabels: + kubernetes.io/metadata.name: {{ $namespace }} + {{- end }} + {{- end }} + {{- range $namespace := .Values.networkPolicy.allowNamespaces }} {{- if $namespace }} - namespaceSelector: diff --git a/addons/mysql-basic/8.4/chart/mysql-basic-8.4/templates/primary/statefulset.yaml b/addons/mysql-basic/8.4/chart/mysql-basic-8.4/templates/primary/statefulset.yaml index 27892156..bd8c41f3 100644 --- a/addons/mysql-basic/8.4/chart/mysql-basic-8.4/templates/primary/statefulset.yaml +++ b/addons/mysql-basic/8.4/chart/mysql-basic-8.4/templates/primary/statefulset.yaml @@ -132,6 +132,8 @@ spec: env: - name: DRYCC_DEBUG value: {{ ternary "true" "false" (or .Values.image.debug .Values.diagnosticMode.enabled) | quote }} + - name: MALLOC_ARENA_MAX + value: "1" {{- if .Values.auth.usePasswordFiles }} - name: MYSQL_ROOT_PASSWORD_FILE value: {{ default "/opt/drycc/mysql/secrets/mysql-root-password" .Values.auth.customPasswordFiles.root }} diff --git a/addons/mysql-basic/8.4/chart/mysql-basic-8.4/values.yaml b/addons/mysql-basic/8.4/chart/mysql-basic-8.4/values.yaml index 59b07245..d9e8b29b 100644 --- a/addons/mysql-basic/8.4/chart/mysql-basic-8.4/values.yaml +++ b/addons/mysql-basic/8.4/chart/mysql-basic-8.4/values.yaml @@ -635,9 +635,12 @@ networkPolicy: ## (with the correct destination port). ## allowCurrentNamespace: true - allowNamespaces: + + allowDefaultNamespaces: - drycc - backup + allowNamespaces: [] + ## @section Volume Permissions parameters diff --git a/addons/mysql-basic/8.4/plans/standard-16c64g400/values.yaml b/addons/mysql-basic/8.4/plans/standard-16c64g400/values.yaml index 8decc1ba..52f539e7 100644 --- a/addons/mysql-basic/8.4/plans/standard-16c64g400/values.yaml +++ b/addons/mysql-basic/8.4/plans/standard-16c64g400/values.yaml @@ -40,49 +40,4 @@ primary: ## ref: https://kubernetes.io/docs/user-guide/persistent-volumes/ ## persistence: - ## @param primary.persistence.enabled Enable persistence on MySQL primary replicas using a `PersistentVolumeClaim`. If false, use emptyDir - ## - enabled: true - ## @param primary.persistence.existingClaim Name of an existing `PersistentVolumeClaim` for MySQL primary replicas - ## NOTE: When it's set the rest of persistence parameters are ignored - ## - existingClaim: "" - ## @param primary.persistence.storageClass MySQL primary persistent volume storage Class - ## If defined, storageClassName: - ## If set to "-", storageClassName: "", which disables dynamic provisioning - ## If undefined (the default) or set to null, no storageClassName spec is - ## set, choosing the default provisioner. (gp2 on AWS, standard on - ## GKE, AWS & OpenStack) - ## - storageClass: "" - ## @param primary.persistence.annotations MySQL primary persistent volume claim annotations - ## - annotations: {} - ## @param primary.persistence.accessModes MySQL primary persistent volume access Modes - ## - accessModes: - - ReadWriteOnce - ## @param primary.persistence.size MySQL primary persistent volume size - ## size: 400Gi - ## @param primary.persistence.selector Selector to match an existing Persistent Volume - ## selector: - ## matchLabels: - ## app: my-app - ## - selector: {} - -router: - replicaCount: 4 - configuration: |- - [DEFAULT] - max_total_connections = 3900 - [routing:bootstrap_rw] - max_connections= 3900 - resources: - limits: - cpu: 1600m - memory: 2Gi - requests: - cpu: 100m - memory: 1Gi \ No newline at end of file diff --git a/addons/mysql-basic/8.4/plans/standard-2c4g20/values.yaml b/addons/mysql-basic/8.4/plans/standard-2c4g20/values.yaml index 80d080b1..654203df 100644 --- a/addons/mysql-basic/8.4/plans/standard-2c4g20/values.yaml +++ b/addons/mysql-basic/8.4/plans/standard-2c4g20/values.yaml @@ -40,34 +40,4 @@ primary: ## ref: https://kubernetes.io/docs/user-guide/persistent-volumes/ ## persistence: - ## @param primary.persistence.enabled Enable persistence on MySQL primary replicas using a `PersistentVolumeClaim`. If false, use emptyDir - ## - enabled: true - ## @param primary.persistence.existingClaim Name of an existing `PersistentVolumeClaim` for MySQL primary replicas - ## NOTE: When it's set the rest of persistence parameters are ignored - ## - existingClaim: "" - ## @param primary.persistence.storageClass MySQL primary persistent volume storage Class - ## If defined, storageClassName: - ## If set to "-", storageClassName: "", which disables dynamic provisioning - ## If undefined (the default) or set to null, no storageClassName spec is - ## set, choosing the default provisioner. (gp2 on AWS, standard on - ## GKE, AWS & OpenStack) - ## - storageClass: "" - ## @param primary.persistence.annotations MySQL primary persistent volume claim annotations - ## - annotations: {} - ## @param primary.persistence.accessModes MySQL primary persistent volume access Modes - ## - accessModes: - - ReadWriteOnce - ## @param primary.persistence.size MySQL primary persistent volume size - ## - size: 20Gi - ## @param primary.persistence.selector Selector to match an existing Persistent Volume - ## selector: - ## matchLabels: - ## app: my-app - ## - selector: {} \ No newline at end of file + size: 20Gi \ No newline at end of file diff --git a/addons/mysql-basic/8.4/plans/standard-2c8g50/values.yaml b/addons/mysql-basic/8.4/plans/standard-2c8g50/values.yaml index 3b6d6ff1..00eaa72a 100644 --- a/addons/mysql-basic/8.4/plans/standard-2c8g50/values.yaml +++ b/addons/mysql-basic/8.4/plans/standard-2c8g50/values.yaml @@ -40,48 +40,5 @@ primary: ## ref: https://kubernetes.io/docs/user-guide/persistent-volumes/ ## persistence: - ## @param primary.persistence.enabled Enable persistence on MySQL primary replicas using a `PersistentVolumeClaim`. If false, use emptyDir - ## - enabled: true - ## @param primary.persistence.existingClaim Name of an existing `PersistentVolumeClaim` for MySQL primary replicas - ## NOTE: When it's set the rest of persistence parameters are ignored - ## - existingClaim: "" - ## @param primary.persistence.storageClass MySQL primary persistent volume storage Class - ## If defined, storageClassName: - ## If set to "-", storageClassName: "", which disables dynamic provisioning - ## If undefined (the default) or set to null, no storageClassName spec is - ## set, choosing the default provisioner. (gp2 on AWS, standard on - ## GKE, AWS & OpenStack) - ## - storageClass: "" - ## @param primary.persistence.annotations MySQL primary persistent volume claim annotations - ## - annotations: {} - ## @param primary.persistence.accessModes MySQL primary persistent volume access Modes - ## - accessModes: - - ReadWriteOnce - ## @param primary.persistence.size MySQL primary persistent volume size - ## size: 50Gi - ## @param primary.persistence.selector Selector to match an existing Persistent Volume - ## selector: - ## matchLabels: - ## app: my-app - ## - selector: {} -router: - replicaCount: 2 - configuration: |- - [DEFAULT] - max_total_connections = 900 - [routing:bootstrap_rw] - max_connections= 900 - resources: - limits: - cpu: 500m - memory: 512Mi - requests: - cpu: 100m - memory: 512Mi \ No newline at end of file + diff --git a/addons/mysql-basic/8.4/plans/standard-32c128g800/values.yaml b/addons/mysql-basic/8.4/plans/standard-32c128g800/values.yaml index b6c29a05..38adc74f 100644 --- a/addons/mysql-basic/8.4/plans/standard-32c128g800/values.yaml +++ b/addons/mysql-basic/8.4/plans/standard-32c128g800/values.yaml @@ -40,48 +40,5 @@ primary: ## ref: https://kubernetes.io/docs/user-guide/persistent-volumes/ ## persistence: - ## @param primary.persistence.enabled Enable persistence on MySQL primary replicas using a `PersistentVolumeClaim`. If false, use emptyDir - ## - enabled: true - ## @param primary.persistence.existingClaim Name of an existing `PersistentVolumeClaim` for MySQL primary replicas - ## NOTE: When it's set the rest of persistence parameters are ignored - ## - existingClaim: "" - ## @param primary.persistence.storageClass MySQL primary persistent volume storage Class - ## If defined, storageClassName: - ## If set to "-", storageClassName: "", which disables dynamic provisioning - ## If undefined (the default) or set to null, no storageClassName spec is - ## set, choosing the default provisioner. (gp2 on AWS, standard on - ## GKE, AWS & OpenStack) - ## - storageClass: "" - ## @param primary.persistence.annotations MySQL primary persistent volume claim annotations - ## - annotations: {} - ## @param primary.persistence.accessModes MySQL primary persistent volume access Modes - ## - accessModes: - - ReadWriteOnce - ## @param primary.persistence.size MySQL primary persistent volume size - ## size: 800Gi - ## @param primary.persistence.selector Selector to match an existing Persistent Volume - ## selector: - ## matchLabels: - ## app: my-app - ## - selector: {} -router: - replicaCount: 4 - configuration: |- - [DEFAULT] - max_total_connections = 7900 - [routing:bootstrap_rw] - max_connections= 7900 - resources: - limits: - cpu: 3200m - memory: 4Gi - requests: - cpu: 100m - memory: 1Gi \ No newline at end of file + diff --git a/addons/mysql-basic/8.4/plans/standard-4c16g100/values.yaml b/addons/mysql-basic/8.4/plans/standard-4c16g100/values.yaml index 6c764722..0cb26ef0 100644 --- a/addons/mysql-basic/8.4/plans/standard-4c16g100/values.yaml +++ b/addons/mysql-basic/8.4/plans/standard-4c16g100/values.yaml @@ -41,49 +41,4 @@ primary: ## ref: https://kubernetes.io/docs/user-guide/persistent-volumes/ ## persistence: - ## @param primary.persistence.enabled Enable persistence on MySQL primary replicas using a `PersistentVolumeClaim`. If false, use emptyDir - ## - enabled: true - ## @param primary.persistence.existingClaim Name of an existing `PersistentVolumeClaim` for MySQL primary replicas - ## NOTE: When it's set the rest of persistence parameters are ignored - ## - existingClaim: "" - ## @param primary.persistence.storageClass MySQL primary persistent volume storage Class - ## If defined, storageClassName: - ## If set to "-", storageClassName: "", which disables dynamic provisioning - ## If undefined (the default) or set to null, no storageClassName spec is - ## set, choosing the default provisioner. (gp2 on AWS, standard on - ## GKE, AWS & OpenStack) - ## - storageClass: "" - ## @param primary.persistence.annotations MySQL primary persistent volume claim annotations - ## - annotations: {} - ## @param primary.persistence.accessModes MySQL primary persistent volume access Modes - ## - accessModes: - - ReadWriteOnce - ## @param primary.persistence.size MySQL primary persistent volume size - ## size: 100Gi - ## @param primary.persistence.selector Selector to match an existing Persistent Volume - ## selector: - ## matchLabels: - ## app: my-app - ## - selector: {} - -router: - replicaCount: 3 - configuration: |- - [DEFAULT] - max_total_connections = 1200 - [routing:bootstrap_rw] - max_connections= 1200 - resources: - limits: - cpu: 500m - memory: 512Mi - requests: - cpu: 500m - memory: 512Mi \ No newline at end of file diff --git a/addons/mysql-basic/8.4/plans/standard-8c32g200/values.yaml b/addons/mysql-basic/8.4/plans/standard-8c32g200/values.yaml index 44e06420..ee7f7492 100644 --- a/addons/mysql-basic/8.4/plans/standard-8c32g200/values.yaml +++ b/addons/mysql-basic/8.4/plans/standard-8c32g200/values.yaml @@ -40,49 +40,5 @@ primary: ## ref: https://kubernetes.io/docs/user-guide/persistent-volumes/ ## persistence: - ## @param primary.persistence.enabled Enable persistence on MySQL primary replicas using a `PersistentVolumeClaim`. If false, use emptyDir - ## - enabled: true - ## @param primary.persistence.existingClaim Name of an existing `PersistentVolumeClaim` for MySQL primary replicas - ## NOTE: When it's set the rest of persistence parameters are ignored - ## - existingClaim: "" - ## @param primary.persistence.storageClass MySQL primary persistent volume storage Class - ## If defined, storageClassName: - ## If set to "-", storageClassName: "", which disables dynamic provisioning - ## If undefined (the default) or set to null, no storageClassName spec is - ## set, choosing the default provisioner. (gp2 on AWS, standard on - ## GKE, AWS & OpenStack) - ## - storageClass: "" - ## @param primary.persistence.annotations MySQL primary persistent volume claim annotations - ## - annotations: {} - ## @param primary.persistence.accessModes MySQL primary persistent volume access Modes - ## - accessModes: - - ReadWriteOnce - ## @param primary.persistence.size MySQL primary persistent volume size - ## size: 200Gi - ## @param primary.persistence.selector Selector to match an existing Persistent Volume - ## selector: - ## matchLabels: - ## app: my-app - ## - selector: {} -router: - replicaCount: 4 - configuration: |- - [DEFAULT] - max_total_connections = 1900 - [routing:bootstrap_rw] - max_connections= 1900 - resources: - limits: - cpu: 800m - memory: 1024Mi - requests: - cpu: 100m - memory: 1Gi \ No newline at end of file diff --git a/addons/mysql-cluster/8.0/chart/mysql-cluster/templates/cluster/job.yaml b/addons/mysql-cluster/8.0/chart/mysql-cluster/templates/cluster/job.yaml index 19bc1f9e..e53c56ff 100644 --- a/addons/mysql-cluster/8.0/chart/mysql-cluster/templates/cluster/job.yaml +++ b/addons/mysql-cluster/8.0/chart/mysql-cluster/templates/cluster/job.yaml @@ -28,7 +28,7 @@ spec: initContainers: - name: init-wait image: registry.drycc.cc/drycc/python-dev:latest - imagePullPolicy: {{.Values.imagePullPolicy}} + imagePullPolicy: {{ .Values.image.pullPolicy | quote }} args: - netcat - -v @@ -59,14 +59,32 @@ spec: # create mysql cluster --file echo " - shell.options['dba.restartWaitTimeout']=300; + shell.options['dba.restartWaitTimeout']=3600; + shell.options['dba.connectTimeout']=3600; + shell.options['useWizards']=false; dba.createCluster('MXMGR',{disableClone:false}); - dba.getCluster().addInstance('root@${HOST_1}',{recoveryMethod:'clone'}); - dba.getCluster().addInstance('root@${HOST_2}',{recoveryMethod:'clone'}); - dba.getCluster().status(); " > /tmp/create_cluster.js + + echo " + shell.options['dba.restartWaitTimeout']=3600; + shell.options['dba.connectTimeout']=3600; + shell.options['useWizards']=false; + dba.getCluster().addInstance('root@${HOST_1}',{recoveryMethod:'clone',waitRecovery: 0}); + " > /tmp/add_instance_1.js + + echo " + shell.options['dba.restartWaitTimeout']=3600; + shell.options['dba.connectTimeout']=3600; + shell.options['useWizards']=false; + dba.getCluster().addInstance('root@${HOST_2}',{recoveryMethod:'clone',waitRecovery: 0}); + " > /tmp/add_instance_2.js + mysqlsh --uri=${MYSQL_ROOT_USER}@${HOST_0}:${MYSQL_PORT_NUMBER} -p${MYSQL_ROOT_PASSWORD} -f /tmp/create_cluster.js - + sleep 5 + mysqlsh --uri=${MYSQL_ROOT_USER}@${HOST_0}:${MYSQL_PORT_NUMBER} -p${MYSQL_ROOT_PASSWORD} -f /tmp/add_instance_1.js + sleep 120 + mysqlsh --uri=${MYSQL_ROOT_USER}@${HOST_0}:${MYSQL_PORT_NUMBER} -p${MYSQL_ROOT_PASSWORD} -f /tmp/add_instance_2.js + sleep 120 # init sql --sql echo " GRANT ALL PRIVILEGES ON *.* TO administrator@'%' WITH GRANT OPTION;flush privileges; diff --git a/addons/mysql-cluster/8.0/chart/mysql-cluster/templates/networkpolicy.yaml b/addons/mysql-cluster/8.0/chart/mysql-cluster/templates/networkpolicy.yaml index 916f06d5..5581b8c7 100644 --- a/addons/mysql-cluster/8.0/chart/mysql-cluster/templates/networkpolicy.yaml +++ b/addons/mysql-cluster/8.0/chart/mysql-cluster/templates/networkpolicy.yaml @@ -40,6 +40,13 @@ spec: matchLabels: kubernetes.io/metadata.name: {{ .Release.Namespace }} {{- end }} + {{- range $namespace := .Values.networkPolicy.allowDefaultNamespaces }} + {{- if $namespace }} + - namespaceSelector: + matchLabels: + kubernetes.io/metadata.name: {{ $namespace }} + {{- end }} + {{- end }} {{- range $namespace := .Values.networkPolicy.allowNamespaces }} {{- if $namespace }} - namespaceSelector: diff --git a/addons/mysql-cluster/8.0/chart/mysql-cluster/templates/primary/statefulset.yaml b/addons/mysql-cluster/8.0/chart/mysql-cluster/templates/primary/statefulset.yaml index 2a444c87..b0b5b738 100644 --- a/addons/mysql-cluster/8.0/chart/mysql-cluster/templates/primary/statefulset.yaml +++ b/addons/mysql-cluster/8.0/chart/mysql-cluster/templates/primary/statefulset.yaml @@ -132,6 +132,8 @@ spec: env: - name: DRYCC_DEBUG value: {{ ternary "true" "false" (or .Values.image.debug .Values.diagnosticMode.enabled) | quote }} + - name: MALLOC_ARENA_MAX + value: "1" {{- if .Values.auth.usePasswordFiles }} - name: MYSQL_ROOT_PASSWORD_FILE value: {{ default "/opt/drycc/mysql/secrets/mysql-root-password" .Values.auth.customPasswordFiles.root }} diff --git a/addons/mysql-cluster/8.0/chart/mysql-cluster/values.yaml b/addons/mysql-cluster/8.0/chart/mysql-cluster/values.yaml index e839eb14..be3df00e 100644 --- a/addons/mysql-cluster/8.0/chart/mysql-cluster/values.yaml +++ b/addons/mysql-cluster/8.0/chart/mysql-cluster/values.yaml @@ -995,6 +995,9 @@ networkPolicy: ## (with the correct destination port). ## allowCurrentNamespace: true + allowDefaultNamespaces: + - drycc + - backup allowNamespaces: [] ## @section Volume Permissions parameters diff --git a/addons/mysql-cluster/8.0/plans/standard-16c64g400/values.yaml b/addons/mysql-cluster/8.0/plans/standard-16c64g400/values.yaml index 2360e5f9..dedf141e 100644 --- a/addons/mysql-cluster/8.0/plans/standard-16c64g400/values.yaml +++ b/addons/mysql-cluster/8.0/plans/standard-16c64g400/values.yaml @@ -40,37 +40,7 @@ primary: ## ref: https://kubernetes.io/docs/user-guide/persistent-volumes/ ## persistence: - ## @param primary.persistence.enabled Enable persistence on MySQL primary replicas using a `PersistentVolumeClaim`. If false, use emptyDir - ## - enabled: true - ## @param primary.persistence.existingClaim Name of an existing `PersistentVolumeClaim` for MySQL primary replicas - ## NOTE: When it's set the rest of persistence parameters are ignored - ## - existingClaim: "" - ## @param primary.persistence.storageClass MySQL primary persistent volume storage Class - ## If defined, storageClassName: - ## If set to "-", storageClassName: "", which disables dynamic provisioning - ## If undefined (the default) or set to null, no storageClassName spec is - ## set, choosing the default provisioner. (gp2 on AWS, standard on - ## GKE, AWS & OpenStack) - ## - storageClass: "" - ## @param primary.persistence.annotations MySQL primary persistent volume claim annotations - ## - annotations: {} - ## @param primary.persistence.accessModes MySQL primary persistent volume access Modes - ## - accessModes: - - ReadWriteOnce - ## @param primary.persistence.size MySQL primary persistent volume size - ## size: 400Gi - ## @param primary.persistence.selector Selector to match an existing Persistent Volume - ## selector: - ## matchLabels: - ## app: my-app - ## - selector: {} router: replicaCount: 4 diff --git a/addons/mysql-cluster/8.0/plans/standard-2c8g50/values.yaml b/addons/mysql-cluster/8.0/plans/standard-2c8g50/values.yaml index 5be1ec90..f4732ae5 100644 --- a/addons/mysql-cluster/8.0/plans/standard-2c8g50/values.yaml +++ b/addons/mysql-cluster/8.0/plans/standard-2c8g50/values.yaml @@ -40,37 +40,8 @@ primary: ## ref: https://kubernetes.io/docs/user-guide/persistent-volumes/ ## persistence: - ## @param primary.persistence.enabled Enable persistence on MySQL primary replicas using a `PersistentVolumeClaim`. If false, use emptyDir - ## - enabled: true - ## @param primary.persistence.existingClaim Name of an existing `PersistentVolumeClaim` for MySQL primary replicas - ## NOTE: When it's set the rest of persistence parameters are ignored - ## - existingClaim: "" - ## @param primary.persistence.storageClass MySQL primary persistent volume storage Class - ## If defined, storageClassName: - ## If set to "-", storageClassName: "", which disables dynamic provisioning - ## If undefined (the default) or set to null, no storageClassName spec is - ## set, choosing the default provisioner. (gp2 on AWS, standard on - ## GKE, AWS & OpenStack) - ## - storageClass: "" - ## @param primary.persistence.annotations MySQL primary persistent volume claim annotations - ## - annotations: {} - ## @param primary.persistence.accessModes MySQL primary persistent volume access Modes - ## - accessModes: - - ReadWriteOnce - ## @param primary.persistence.size MySQL primary persistent volume size - ## size: 50Gi - ## @param primary.persistence.selector Selector to match an existing Persistent Volume - ## selector: - ## matchLabels: - ## app: my-app - ## - selector: {} + router: replicaCount: 2 configuration: |- diff --git a/addons/mysql-cluster/8.0/plans/standard-32c128g800/values.yaml b/addons/mysql-cluster/8.0/plans/standard-32c128g800/values.yaml index d76c4f3a..498098d3 100644 --- a/addons/mysql-cluster/8.0/plans/standard-32c128g800/values.yaml +++ b/addons/mysql-cluster/8.0/plans/standard-32c128g800/values.yaml @@ -40,37 +40,8 @@ primary: ## ref: https://kubernetes.io/docs/user-guide/persistent-volumes/ ## persistence: - ## @param primary.persistence.enabled Enable persistence on MySQL primary replicas using a `PersistentVolumeClaim`. If false, use emptyDir - ## - enabled: true - ## @param primary.persistence.existingClaim Name of an existing `PersistentVolumeClaim` for MySQL primary replicas - ## NOTE: When it's set the rest of persistence parameters are ignored - ## - existingClaim: "" - ## @param primary.persistence.storageClass MySQL primary persistent volume storage Class - ## If defined, storageClassName: - ## If set to "-", storageClassName: "", which disables dynamic provisioning - ## If undefined (the default) or set to null, no storageClassName spec is - ## set, choosing the default provisioner. (gp2 on AWS, standard on - ## GKE, AWS & OpenStack) - ## - storageClass: "" - ## @param primary.persistence.annotations MySQL primary persistent volume claim annotations - ## - annotations: {} - ## @param primary.persistence.accessModes MySQL primary persistent volume access Modes - ## - accessModes: - - ReadWriteOnce - ## @param primary.persistence.size MySQL primary persistent volume size - ## size: 800Gi - ## @param primary.persistence.selector Selector to match an existing Persistent Volume - ## selector: - ## matchLabels: - ## app: my-app - ## - selector: {} + router: replicaCount: 4 configuration: |- diff --git a/addons/mysql-cluster/8.0/plans/standard-4c16g100/values.yaml b/addons/mysql-cluster/8.0/plans/standard-4c16g100/values.yaml index 944047a0..ae42b0eb 100644 --- a/addons/mysql-cluster/8.0/plans/standard-4c16g100/values.yaml +++ b/addons/mysql-cluster/8.0/plans/standard-4c16g100/values.yaml @@ -41,37 +41,7 @@ primary: ## ref: https://kubernetes.io/docs/user-guide/persistent-volumes/ ## persistence: - ## @param primary.persistence.enabled Enable persistence on MySQL primary replicas using a `PersistentVolumeClaim`. If false, use emptyDir - ## - enabled: true - ## @param primary.persistence.existingClaim Name of an existing `PersistentVolumeClaim` for MySQL primary replicas - ## NOTE: When it's set the rest of persistence parameters are ignored - ## - existingClaim: "" - ## @param primary.persistence.storageClass MySQL primary persistent volume storage Class - ## If defined, storageClassName: - ## If set to "-", storageClassName: "", which disables dynamic provisioning - ## If undefined (the default) or set to null, no storageClassName spec is - ## set, choosing the default provisioner. (gp2 on AWS, standard on - ## GKE, AWS & OpenStack) - ## - storageClass: "" - ## @param primary.persistence.annotations MySQL primary persistent volume claim annotations - ## - annotations: {} - ## @param primary.persistence.accessModes MySQL primary persistent volume access Modes - ## - accessModes: - - ReadWriteOnce - ## @param primary.persistence.size MySQL primary persistent volume size - ## size: 100Gi - ## @param primary.persistence.selector Selector to match an existing Persistent Volume - ## selector: - ## matchLabels: - ## app: my-app - ## - selector: {} router: replicaCount: 3 diff --git a/addons/mysql-cluster/8.0/plans/standard-8c32g200/values.yaml b/addons/mysql-cluster/8.0/plans/standard-8c32g200/values.yaml index fb9a0c0c..ff360665 100644 --- a/addons/mysql-cluster/8.0/plans/standard-8c32g200/values.yaml +++ b/addons/mysql-cluster/8.0/plans/standard-8c32g200/values.yaml @@ -40,37 +40,8 @@ primary: ## ref: https://kubernetes.io/docs/user-guide/persistent-volumes/ ## persistence: - ## @param primary.persistence.enabled Enable persistence on MySQL primary replicas using a `PersistentVolumeClaim`. If false, use emptyDir - ## - enabled: true - ## @param primary.persistence.existingClaim Name of an existing `PersistentVolumeClaim` for MySQL primary replicas - ## NOTE: When it's set the rest of persistence parameters are ignored - ## - existingClaim: "" - ## @param primary.persistence.storageClass MySQL primary persistent volume storage Class - ## If defined, storageClassName: - ## If set to "-", storageClassName: "", which disables dynamic provisioning - ## If undefined (the default) or set to null, no storageClassName spec is - ## set, choosing the default provisioner. (gp2 on AWS, standard on - ## GKE, AWS & OpenStack) - ## - storageClass: "" - ## @param primary.persistence.annotations MySQL primary persistent volume claim annotations - ## - annotations: {} - ## @param primary.persistence.accessModes MySQL primary persistent volume access Modes - ## - accessModes: - - ReadWriteOnce - ## @param primary.persistence.size MySQL primary persistent volume size - ## size: 200Gi - ## @param primary.persistence.selector Selector to match an existing Persistent Volume - ## selector: - ## matchLabels: - ## app: my-app - ## - selector: {} + router: replicaCount: 4 diff --git a/addons/mysql-cluster/8.4/chart/mysql-cluster-8.4/templates/cluster/job.yaml b/addons/mysql-cluster/8.4/chart/mysql-cluster-8.4/templates/cluster/job.yaml index 19bc1f9e..940fe04d 100644 --- a/addons/mysql-cluster/8.4/chart/mysql-cluster-8.4/templates/cluster/job.yaml +++ b/addons/mysql-cluster/8.4/chart/mysql-cluster-8.4/templates/cluster/job.yaml @@ -28,7 +28,7 @@ spec: initContainers: - name: init-wait image: registry.drycc.cc/drycc/python-dev:latest - imagePullPolicy: {{.Values.imagePullPolicy}} + imagePullPolicy: {{ .Values.image.pullPolicy | quote }} args: - netcat - -v diff --git a/addons/mysql-cluster/8.4/chart/mysql-cluster-8.4/templates/networkpolicy.yaml b/addons/mysql-cluster/8.4/chart/mysql-cluster-8.4/templates/networkpolicy.yaml index 916f06d5..5581b8c7 100644 --- a/addons/mysql-cluster/8.4/chart/mysql-cluster-8.4/templates/networkpolicy.yaml +++ b/addons/mysql-cluster/8.4/chart/mysql-cluster-8.4/templates/networkpolicy.yaml @@ -40,6 +40,13 @@ spec: matchLabels: kubernetes.io/metadata.name: {{ .Release.Namespace }} {{- end }} + {{- range $namespace := .Values.networkPolicy.allowDefaultNamespaces }} + {{- if $namespace }} + - namespaceSelector: + matchLabels: + kubernetes.io/metadata.name: {{ $namespace }} + {{- end }} + {{- end }} {{- range $namespace := .Values.networkPolicy.allowNamespaces }} {{- if $namespace }} - namespaceSelector: diff --git a/addons/mysql-cluster/8.4/chart/mysql-cluster-8.4/templates/primary/statefulset.yaml b/addons/mysql-cluster/8.4/chart/mysql-cluster-8.4/templates/primary/statefulset.yaml index 2a444c87..b0b5b738 100644 --- a/addons/mysql-cluster/8.4/chart/mysql-cluster-8.4/templates/primary/statefulset.yaml +++ b/addons/mysql-cluster/8.4/chart/mysql-cluster-8.4/templates/primary/statefulset.yaml @@ -132,6 +132,8 @@ spec: env: - name: DRYCC_DEBUG value: {{ ternary "true" "false" (or .Values.image.debug .Values.diagnosticMode.enabled) | quote }} + - name: MALLOC_ARENA_MAX + value: "1" {{- if .Values.auth.usePasswordFiles }} - name: MYSQL_ROOT_PASSWORD_FILE value: {{ default "/opt/drycc/mysql/secrets/mysql-root-password" .Values.auth.customPasswordFiles.root }} diff --git a/addons/mysql-cluster/8.4/chart/mysql-cluster-8.4/values.yaml b/addons/mysql-cluster/8.4/chart/mysql-cluster-8.4/values.yaml index a3233460..5596b2e7 100644 --- a/addons/mysql-cluster/8.4/chart/mysql-cluster-8.4/values.yaml +++ b/addons/mysql-cluster/8.4/chart/mysql-cluster-8.4/values.yaml @@ -995,6 +995,10 @@ networkPolicy: ## (with the correct destination port). ## allowCurrentNamespace: true + allowDefaultNamespaces: + - drycc + - backup + allowNamespaces: [] ## @section Volume Permissions parameters diff --git a/addons/mysql-cluster/8.4/plans/standard-16c64g400/values.yaml b/addons/mysql-cluster/8.4/plans/standard-16c64g400/values.yaml index 2360e5f9..dedf141e 100644 --- a/addons/mysql-cluster/8.4/plans/standard-16c64g400/values.yaml +++ b/addons/mysql-cluster/8.4/plans/standard-16c64g400/values.yaml @@ -40,37 +40,7 @@ primary: ## ref: https://kubernetes.io/docs/user-guide/persistent-volumes/ ## persistence: - ## @param primary.persistence.enabled Enable persistence on MySQL primary replicas using a `PersistentVolumeClaim`. If false, use emptyDir - ## - enabled: true - ## @param primary.persistence.existingClaim Name of an existing `PersistentVolumeClaim` for MySQL primary replicas - ## NOTE: When it's set the rest of persistence parameters are ignored - ## - existingClaim: "" - ## @param primary.persistence.storageClass MySQL primary persistent volume storage Class - ## If defined, storageClassName: - ## If set to "-", storageClassName: "", which disables dynamic provisioning - ## If undefined (the default) or set to null, no storageClassName spec is - ## set, choosing the default provisioner. (gp2 on AWS, standard on - ## GKE, AWS & OpenStack) - ## - storageClass: "" - ## @param primary.persistence.annotations MySQL primary persistent volume claim annotations - ## - annotations: {} - ## @param primary.persistence.accessModes MySQL primary persistent volume access Modes - ## - accessModes: - - ReadWriteOnce - ## @param primary.persistence.size MySQL primary persistent volume size - ## size: 400Gi - ## @param primary.persistence.selector Selector to match an existing Persistent Volume - ## selector: - ## matchLabels: - ## app: my-app - ## - selector: {} router: replicaCount: 4 diff --git a/addons/mysql-cluster/8.4/plans/standard-2c8g50/values.yaml b/addons/mysql-cluster/8.4/plans/standard-2c8g50/values.yaml index 5be1ec90..f4732ae5 100644 --- a/addons/mysql-cluster/8.4/plans/standard-2c8g50/values.yaml +++ b/addons/mysql-cluster/8.4/plans/standard-2c8g50/values.yaml @@ -40,37 +40,8 @@ primary: ## ref: https://kubernetes.io/docs/user-guide/persistent-volumes/ ## persistence: - ## @param primary.persistence.enabled Enable persistence on MySQL primary replicas using a `PersistentVolumeClaim`. If false, use emptyDir - ## - enabled: true - ## @param primary.persistence.existingClaim Name of an existing `PersistentVolumeClaim` for MySQL primary replicas - ## NOTE: When it's set the rest of persistence parameters are ignored - ## - existingClaim: "" - ## @param primary.persistence.storageClass MySQL primary persistent volume storage Class - ## If defined, storageClassName: - ## If set to "-", storageClassName: "", which disables dynamic provisioning - ## If undefined (the default) or set to null, no storageClassName spec is - ## set, choosing the default provisioner. (gp2 on AWS, standard on - ## GKE, AWS & OpenStack) - ## - storageClass: "" - ## @param primary.persistence.annotations MySQL primary persistent volume claim annotations - ## - annotations: {} - ## @param primary.persistence.accessModes MySQL primary persistent volume access Modes - ## - accessModes: - - ReadWriteOnce - ## @param primary.persistence.size MySQL primary persistent volume size - ## size: 50Gi - ## @param primary.persistence.selector Selector to match an existing Persistent Volume - ## selector: - ## matchLabels: - ## app: my-app - ## - selector: {} + router: replicaCount: 2 configuration: |- diff --git a/addons/mysql-cluster/8.4/plans/standard-32c128g800/values.yaml b/addons/mysql-cluster/8.4/plans/standard-32c128g800/values.yaml index d76c4f3a..498098d3 100644 --- a/addons/mysql-cluster/8.4/plans/standard-32c128g800/values.yaml +++ b/addons/mysql-cluster/8.4/plans/standard-32c128g800/values.yaml @@ -40,37 +40,8 @@ primary: ## ref: https://kubernetes.io/docs/user-guide/persistent-volumes/ ## persistence: - ## @param primary.persistence.enabled Enable persistence on MySQL primary replicas using a `PersistentVolumeClaim`. If false, use emptyDir - ## - enabled: true - ## @param primary.persistence.existingClaim Name of an existing `PersistentVolumeClaim` for MySQL primary replicas - ## NOTE: When it's set the rest of persistence parameters are ignored - ## - existingClaim: "" - ## @param primary.persistence.storageClass MySQL primary persistent volume storage Class - ## If defined, storageClassName: - ## If set to "-", storageClassName: "", which disables dynamic provisioning - ## If undefined (the default) or set to null, no storageClassName spec is - ## set, choosing the default provisioner. (gp2 on AWS, standard on - ## GKE, AWS & OpenStack) - ## - storageClass: "" - ## @param primary.persistence.annotations MySQL primary persistent volume claim annotations - ## - annotations: {} - ## @param primary.persistence.accessModes MySQL primary persistent volume access Modes - ## - accessModes: - - ReadWriteOnce - ## @param primary.persistence.size MySQL primary persistent volume size - ## size: 800Gi - ## @param primary.persistence.selector Selector to match an existing Persistent Volume - ## selector: - ## matchLabels: - ## app: my-app - ## - selector: {} + router: replicaCount: 4 configuration: |- diff --git a/addons/mysql-cluster/8.4/plans/standard-4c16g100/values.yaml b/addons/mysql-cluster/8.4/plans/standard-4c16g100/values.yaml index 944047a0..ae42b0eb 100644 --- a/addons/mysql-cluster/8.4/plans/standard-4c16g100/values.yaml +++ b/addons/mysql-cluster/8.4/plans/standard-4c16g100/values.yaml @@ -41,37 +41,7 @@ primary: ## ref: https://kubernetes.io/docs/user-guide/persistent-volumes/ ## persistence: - ## @param primary.persistence.enabled Enable persistence on MySQL primary replicas using a `PersistentVolumeClaim`. If false, use emptyDir - ## - enabled: true - ## @param primary.persistence.existingClaim Name of an existing `PersistentVolumeClaim` for MySQL primary replicas - ## NOTE: When it's set the rest of persistence parameters are ignored - ## - existingClaim: "" - ## @param primary.persistence.storageClass MySQL primary persistent volume storage Class - ## If defined, storageClassName: - ## If set to "-", storageClassName: "", which disables dynamic provisioning - ## If undefined (the default) or set to null, no storageClassName spec is - ## set, choosing the default provisioner. (gp2 on AWS, standard on - ## GKE, AWS & OpenStack) - ## - storageClass: "" - ## @param primary.persistence.annotations MySQL primary persistent volume claim annotations - ## - annotations: {} - ## @param primary.persistence.accessModes MySQL primary persistent volume access Modes - ## - accessModes: - - ReadWriteOnce - ## @param primary.persistence.size MySQL primary persistent volume size - ## size: 100Gi - ## @param primary.persistence.selector Selector to match an existing Persistent Volume - ## selector: - ## matchLabels: - ## app: my-app - ## - selector: {} router: replicaCount: 3 diff --git a/addons/mysql-cluster/8.4/plans/standard-8c32g200/values.yaml b/addons/mysql-cluster/8.4/plans/standard-8c32g200/values.yaml index fb9a0c0c..f196abd3 100644 --- a/addons/mysql-cluster/8.4/plans/standard-8c32g200/values.yaml +++ b/addons/mysql-cluster/8.4/plans/standard-8c32g200/values.yaml @@ -40,37 +40,7 @@ primary: ## ref: https://kubernetes.io/docs/user-guide/persistent-volumes/ ## persistence: - ## @param primary.persistence.enabled Enable persistence on MySQL primary replicas using a `PersistentVolumeClaim`. If false, use emptyDir - ## - enabled: true - ## @param primary.persistence.existingClaim Name of an existing `PersistentVolumeClaim` for MySQL primary replicas - ## NOTE: When it's set the rest of persistence parameters are ignored - ## - existingClaim: "" - ## @param primary.persistence.storageClass MySQL primary persistent volume storage Class - ## If defined, storageClassName: - ## If set to "-", storageClassName: "", which disables dynamic provisioning - ## If undefined (the default) or set to null, no storageClassName spec is - ## set, choosing the default provisioner. (gp2 on AWS, standard on - ## GKE, AWS & OpenStack) - ## - storageClass: "" - ## @param primary.persistence.annotations MySQL primary persistent volume claim annotations - ## - annotations: {} - ## @param primary.persistence.accessModes MySQL primary persistent volume access Modes - ## - accessModes: - - ReadWriteOnce - ## @param primary.persistence.size MySQL primary persistent volume size - ## size: 200Gi - ## @param primary.persistence.selector Selector to match an existing Persistent Volume - ## selector: - ## matchLabels: - ## app: my-app - ## - selector: {} router: replicaCount: 4 diff --git a/addons/postgresql-cluster/15/chart/postgresql-cluster/templates/statefulset.yaml b/addons/postgresql-cluster/15/chart/postgresql-cluster/templates/statefulset.yaml index 3f1efb1b..5ce6d140 100644 --- a/addons/postgresql-cluster/15/chart/postgresql-cluster/templates/statefulset.yaml +++ b/addons/postgresql-cluster/15/chart/postgresql-cluster/templates/statefulset.yaml @@ -44,16 +44,14 @@ spec: nodeSelector: {{- include "common.tplvalues.render" (dict "value" .Values.patroni.nodeSelector "context" $) | nindent 8 }} {{- end }} serviceAccountName: {{ template "patroni.serviceAccountName" . }} - # securityContext: - # runAsUser: postgres - # fsGroup: postgres + {{- if .Values.patroni.containerSecurityContext.enabled }} + securityContext: {{- omit .Values.patroni.containerSecurityContext "enabled" | toYaml | nindent 8 }} + {{- end }} containers: - name: {{ .Chart.Name }} image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" imagePullPolicy: {{ .Values.image.pullPolicy }} - # securityContext: - # runAsUser: postgres - # fsGroup: postgres + env: {{- include "patroni.envs" . | indent 8 }} {{- if .Values.env }} diff --git a/addons/postgresql-cluster/15/chart/postgresql-cluster/values.yaml b/addons/postgresql-cluster/15/chart/postgresql-cluster/values.yaml index 8ed9f165..9fe66e36 100644 --- a/addons/postgresql-cluster/15/chart/postgresql-cluster/values.yaml +++ b/addons/postgresql-cluster/15/chart/postgresql-cluster/values.yaml @@ -204,7 +204,13 @@ patroni: max_parallel_workers: 32 max_connections: 2000 max_slot_wal_keep_size: "2 GB" - + containerSecurityContext: + enabled: true + runAsUser: 1000 + runAsNonRoot: true + fsGroup: 1000 + fsGroupChangePolicy: OnRootMismatch + runAsGroup: 1000 ## @param patroni.podAnnotations Additional pod annotations for Postgresql patroni pods ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/ ## diff --git a/addons/postgresql-cluster/16/chart/postgresql-cluster-16/templates/statefulset.yaml b/addons/postgresql-cluster/16/chart/postgresql-cluster-16/templates/statefulset.yaml index 3f1efb1b..9328efe3 100644 --- a/addons/postgresql-cluster/16/chart/postgresql-cluster-16/templates/statefulset.yaml +++ b/addons/postgresql-cluster/16/chart/postgresql-cluster-16/templates/statefulset.yaml @@ -44,16 +44,13 @@ spec: nodeSelector: {{- include "common.tplvalues.render" (dict "value" .Values.patroni.nodeSelector "context" $) | nindent 8 }} {{- end }} serviceAccountName: {{ template "patroni.serviceAccountName" . }} - # securityContext: - # runAsUser: postgres - # fsGroup: postgres + {{- if .Values.patroni.containerSecurityContext.enabled }} + securityContext: {{- omit .Values.patroni.containerSecurityContext "enabled" | toYaml | nindent 8 }} + {{- end }} containers: - name: {{ .Chart.Name }} image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" imagePullPolicy: {{ .Values.image.pullPolicy }} - # securityContext: - # runAsUser: postgres - # fsGroup: postgres env: {{- include "patroni.envs" . | indent 8 }} {{- if .Values.env }} @@ -198,7 +195,7 @@ spec: mountPath: "{{ .Values.persistentVolume.mountPath }}" - mountPath: "/opt/drycc/postgresql/backup/" name: backup-config - + {{- with .Values.nodeSelector }} nodeSelector: {{ toYaml . | indent 8 }} @@ -270,4 +267,4 @@ spec: storageClassName: "{{ .Values.persistentVolume.storageClass }}" {{- end }} {{- end }} - {{- end }} + {{- end }} \ No newline at end of file diff --git a/addons/postgresql-cluster/16/chart/postgresql-cluster-16/values.yaml b/addons/postgresql-cluster/16/chart/postgresql-cluster-16/values.yaml index 00947615..2ae52817 100644 --- a/addons/postgresql-cluster/16/chart/postgresql-cluster-16/values.yaml +++ b/addons/postgresql-cluster/16/chart/postgresql-cluster-16/values.yaml @@ -204,6 +204,13 @@ patroni: max_parallel_workers: 32 max_connections: 2000 max_slot_wal_keep_size: "2 GB" + containerSecurityContext: + enabled: true + runAsUser: 1000 + runAsNonRoot: true + fsGroup: 1000 + fsGroupChangePolicy: OnRootMismatch + runAsGroup: 1000 ## @param patroni.podAnnotations Additional pod annotations for Postgresql patroni pods ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/ diff --git a/addons/postgresql-cluster/17/chart/postgresql-cluster-17/templates/statefulset.yaml b/addons/postgresql-cluster/17/chart/postgresql-cluster-17/templates/statefulset.yaml index 3f1efb1b..8f21af6c 100644 --- a/addons/postgresql-cluster/17/chart/postgresql-cluster-17/templates/statefulset.yaml +++ b/addons/postgresql-cluster/17/chart/postgresql-cluster-17/templates/statefulset.yaml @@ -44,16 +44,13 @@ spec: nodeSelector: {{- include "common.tplvalues.render" (dict "value" .Values.patroni.nodeSelector "context" $) | nindent 8 }} {{- end }} serviceAccountName: {{ template "patroni.serviceAccountName" . }} - # securityContext: - # runAsUser: postgres - # fsGroup: postgres + {{- if .Values.patroni.containerSecurityContext.enabled }} + securityContext: {{- omit .Values.patroni.containerSecurityContext "enabled" | toYaml | nindent 8 }} + {{- end }} containers: - name: {{ .Chart.Name }} image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" imagePullPolicy: {{ .Values.image.pullPolicy }} - # securityContext: - # runAsUser: postgres - # fsGroup: postgres env: {{- include "patroni.envs" . | indent 8 }} {{- if .Values.env }} diff --git a/addons/postgresql-cluster/17/chart/postgresql-cluster-17/values.yaml b/addons/postgresql-cluster/17/chart/postgresql-cluster-17/values.yaml index fcb3407e..e3785ee5 100644 --- a/addons/postgresql-cluster/17/chart/postgresql-cluster-17/values.yaml +++ b/addons/postgresql-cluster/17/chart/postgresql-cluster-17/values.yaml @@ -206,6 +206,13 @@ patroni: max_parallel_workers: 32 max_connections: 2000 max_slot_wal_keep_size: "2 GB" + containerSecurityContext: + enabled: true + runAsUser: 1000 + runAsNonRoot: true + fsGroup: 1000 + fsGroupChangePolicy: OnRootMismatch + runAsGroup: 1000 ## @param patroni.podAnnotations Additional pod annotations for Postgresql patroni pods ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/ diff --git a/addons/postgresql-cluster/18/chart/postgresql-cluster-18/templates/statefulset.yaml b/addons/postgresql-cluster/18/chart/postgresql-cluster-18/templates/statefulset.yaml index 3f1efb1b..9328efe3 100644 --- a/addons/postgresql-cluster/18/chart/postgresql-cluster-18/templates/statefulset.yaml +++ b/addons/postgresql-cluster/18/chart/postgresql-cluster-18/templates/statefulset.yaml @@ -44,16 +44,13 @@ spec: nodeSelector: {{- include "common.tplvalues.render" (dict "value" .Values.patroni.nodeSelector "context" $) | nindent 8 }} {{- end }} serviceAccountName: {{ template "patroni.serviceAccountName" . }} - # securityContext: - # runAsUser: postgres - # fsGroup: postgres + {{- if .Values.patroni.containerSecurityContext.enabled }} + securityContext: {{- omit .Values.patroni.containerSecurityContext "enabled" | toYaml | nindent 8 }} + {{- end }} containers: - name: {{ .Chart.Name }} image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" imagePullPolicy: {{ .Values.image.pullPolicy }} - # securityContext: - # runAsUser: postgres - # fsGroup: postgres env: {{- include "patroni.envs" . | indent 8 }} {{- if .Values.env }} @@ -198,7 +195,7 @@ spec: mountPath: "{{ .Values.persistentVolume.mountPath }}" - mountPath: "/opt/drycc/postgresql/backup/" name: backup-config - + {{- with .Values.nodeSelector }} nodeSelector: {{ toYaml . | indent 8 }} @@ -270,4 +267,4 @@ spec: storageClassName: "{{ .Values.persistentVolume.storageClass }}" {{- end }} {{- end }} - {{- end }} + {{- end }} \ No newline at end of file diff --git a/addons/postgresql-cluster/18/chart/postgresql-cluster-18/values.yaml b/addons/postgresql-cluster/18/chart/postgresql-cluster-18/values.yaml index 1ecfd7cc..59ac1868 100644 --- a/addons/postgresql-cluster/18/chart/postgresql-cluster-18/values.yaml +++ b/addons/postgresql-cluster/18/chart/postgresql-cluster-18/values.yaml @@ -206,6 +206,13 @@ patroni: max_parallel_workers: 32 max_connections: 2000 max_slot_wal_keep_size: "2 GB" + containerSecurityContext: + enabled: true + runAsUser: 1000 + runAsNonRoot: true + fsGroup: 1000 + fsGroupChangePolicy: OnRootMismatch + runAsGroup: 1000 ## @param patroni.podAnnotations Additional pod annotations for Postgresql patroni pods ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/