Skip to content

Commit

Permalink
chore: support parameters api for mysql (#1315)
Browse files Browse the repository at this point in the history
(cherry picked from commit 16310ac)
  • Loading branch information
sophon-zt committed Mar 3, 2025
1 parent 313cf5e commit f8343a7
Show file tree
Hide file tree
Showing 18 changed files with 224 additions and 61 deletions.
65 changes: 65 additions & 0 deletions addons/mysql/templates/_names.tpl
Original file line number Diff line number Diff line change
Expand Up @@ -79,3 +79,68 @@ Define mysql component definition name
{{- define "proxysql.componentDefName" -}}
{{- printf "proxysql-%s-%s" (include "mysql.cmpdNamePrefix" .) .Chart.Version -}}
{{- end -}}

{{/*
Define parametersdefinition name
*/}}
{{- define "mysql.paramsDefName57" -}}
mysql-5.7-pd
{{- end -}}

{{/*
Define parametersdefinition name
*/}}
{{- define "mysql.paramsDefName80" -}}
mysql-8.0-pd
{{- end -}}


{{/*
Define parameterconfigrenderer name
*/}}
{{- define "mysql.prcName57" -}}
mysql-5.7-pcr
{{- end -}}

{{/*
Define parameterconfigrenderer name
*/}}
{{- define "mysql.prcNameOrc57" -}}
mysql-5.7-orc-pcr
{{- end -}}

{{/*
Define parameterconfigrenderer name
*/}}
{{- define "mysql.prcName80" -}}
mysql-8.0-pcr
{{- end -}}

{{/*
Define parameterconfigrenderer name
*/}}
{{- define "mysql.prcNameOrc80" -}}
mysql-8.0-orc-pcr
{{- end -}}

{{/*
Define parameterconfigrenderer name
*/}}
{{- define "mysql.prcNameMgr80" -}}
mysql-8.0-mgr-pcr
{{- end -}}

{{/*
Define parameterconfigrenderer name
*/}}
{{- define "mysql.prcNameMgr84" -}}
mysql-8.4-mgr-pcr
{{- end -}}


{{/*
Define parameterconfigrenderer name
*/}}
{{- define "mysql.prcName84" -}}
mysql-8.4-pcr
{{- end -}}
3 changes: 0 additions & 3 deletions addons/mysql/templates/cmpd-mysql57-orc.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,11 +15,8 @@ spec:
configs:
- name: mysql-replication-config
templateRef: mysql-5.7-config-template
constraintRef: mysql-5.7-config-constraints
volumeName: mysql-config
namespace: {{ .Release.Namespace }}
reRenderResourceTypes:
- vscale
{{- include "kblib.syncer.policyRules" . | nindent 2 }}
runtime:
initContainers:
Expand Down
3 changes: 0 additions & 3 deletions addons/mysql/templates/cmpd-mysql57.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,8 @@ spec:
configs:
- name: mysql-replication-config
templateRef: mysql-5.7-config-template
constraintRef: mysql-5.7-config-constraints
volumeName: mysql-config
namespace: {{ .Release.Namespace }}
reRenderResourceTypes:
- vscale
{{- include "kblib.syncer.policyRules" . | nindent 2 }}
runtime:
initContainers:
Expand Down
3 changes: 0 additions & 3 deletions addons/mysql/templates/cmpd-mysql80-mgr.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,8 @@ spec:
configs:
- name: mysql-replication-config
templateRef: mysql-8.0-mgr-config-template
constraintRef: mysql-8.0-config-constraints
volumeName: mysql-config
namespace: {{ .Release.Namespace }}
reRenderResourceTypes:
- vscale
{{- include "kblib.syncer.policyRules" . | nindent 2 }}
runtime:
initContainers:
Expand Down
3 changes: 0 additions & 3 deletions addons/mysql/templates/cmpd-mysql80-orc.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,11 +15,8 @@ spec:
configs:
- name: mysql-replication-config
templateRef: mysql-8.0-config-template
constraintRef: mysql-8.0-config-constraints
volumeName: mysql-config
namespace: {{ .Release.Namespace }}
reRenderResourceTypes:
- vscale
{{- include "kblib.syncer.policyRules" . | nindent 2 }}
runtime:
initContainers:
Expand Down
3 changes: 0 additions & 3 deletions addons/mysql/templates/cmpd-mysql80.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,8 @@ spec:
configs:
- name: mysql-replication-config
templateRef: mysql-8.0-config-template
constraintRef: mysql-8.0-config-constraints
volumeName: mysql-config
namespace: {{ .Release.Namespace }}
reRenderResourceTypes:
- vscale
{{- include "kblib.syncer.policyRules" . | nindent 2 }}
runtime:
initContainers:
Expand Down
3 changes: 0 additions & 3 deletions addons/mysql/templates/cmpd-mysql84-mgr.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,8 @@ spec:
configs:
- name: mysql-replication-config
templateRef: mysql-8.0-mgr-config-template
constraintRef: mysql-8.0-config-constraints
volumeName: mysql-config
namespace: {{ .Release.Namespace }}
reRenderResourceTypes:
- vscale
{{- include "kblib.syncer.policyRules" . | nindent 2 }}
runtime:
initContainers:
Expand Down
3 changes: 0 additions & 3 deletions addons/mysql/templates/cmpd-mysql84.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,8 @@ spec:
configs:
- name: mysql-replication-config
templateRef: mysql-8.0-config-template
constraintRef: mysql-8.0-config-constraints
volumeName: mysql-config
namespace: {{ .Release.Namespace }}
reRenderResourceTypes:
- vscale
{{- include "kblib.syncer.policyRules" . | nindent 2 }}
runtime:
initContainers:
Expand Down
2 changes: 0 additions & 2 deletions addons/mysql/templates/cmpd-proxysql.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,6 @@ spec:
templateRef: proxysql-config
namespace: {{ .Release.Namespace }}
volumeName: proxy-config
reRenderResourceTypes:
- hscale
scripts:
- name: proxysql-scripts
templateRef: proxysql-scripts
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
{{- $cc := .Files.Get "config/mysql5.7-config-effect-scope.yaml" | fromYaml }}
apiVersion: apps.kubeblocks.io/v1beta1
kind: ConfigConstraint
{{- $pd := .Files.Get "config/mysql5.7-config-effect-scope.yaml" | fromYaml }}
apiVersion: parameters.kubeblocks.io/v1alpha1
kind: ParametersDefinition
metadata:
name: mysql-5.7-config-constraints
name: {{ include "mysql.paramsDefName57" . }}
labels:
{{- include "mysql.labels" . | nindent 4 }}
spec:
Expand All @@ -16,6 +16,7 @@ spec:
namespace: {{ .Release.Namespace }}


fileName: my.cnf
# ConfigurationSchema that impose restrictions on engine parameter's rule
parametersSchema:
# top level mysql configuration type
Expand All @@ -27,35 +28,28 @@ spec:
{{- .Files.Get "config/mysql5.7-config-constraint.cue" | nindent 6 }}
## define static parameter list
{{- if hasKey $cc "staticParameters" }}
{{- if hasKey $pd "staticParameters" }}
staticParameters:
{{- $params := get $cc "staticParameters" }}
{{- $params := get $pd "staticParameters" }}
{{- range $params }}
- {{ . }}
{{- end }}
{{- end}}

## define dynamic parameter list
{{- if hasKey $cc "dynamicParameters" }}
{{- if hasKey $pd "dynamicParameters" }}
dynamicParameters:
{{- $params := get $cc "dynamicParameters" }}
{{- $params := get $pd "dynamicParameters" }}
{{- range $params }}
- {{ . }}
{{- end }}
{{- end}}

## define immutable parameter list, this feature is not currently supported.
{{- if hasKey $cc "immutableParameters" }}
{{- if hasKey $pd "immutableParameters" }}
immutableParameters:
{{- $params := get $cc "immutableParameters" }}
{{- $params := get $pd "immutableParameters" }}
{{- range $params }}
- {{ . }}
{{- end }}
{{- end}}


# mysql configuration file format
fileFormatConfig:
format: ini
iniConfig:
sectionName: mysqld
{{- end}}
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
{{- $cc := .Files.Get "config/mysql8-config-effect-scope.yaml" | fromYaml }}
apiVersion: apps.kubeblocks.io/v1beta1
kind: ConfigConstraint
{{- $pd := .Files.Get "config/mysql8-config-effect-scope.yaml" | fromYaml }}
apiVersion: parameters.kubeblocks.io/v1alpha1
kind: ParametersDefinition
metadata:
name: mysql-8.0-config-constraints
name: {{ include "mysql.paramsDefName80" . }}
labels:
{{- include "mysql.labels" . | nindent 4 }}
spec:
Expand All @@ -15,6 +15,7 @@ spec:
namespace: {{ .Release.Namespace }}


fileName: my.cnf
# ConfigurationSchema that impose restrictions on engine parameter's rule
parametersSchema:
# top level mysql configuration type
Expand All @@ -26,35 +27,28 @@ spec:
{{- .Files.Get "config/mysql8-config-constraint.cue" | nindent 6 }}
## define static parameter list
{{- if hasKey $cc "staticParameters" }}
{{- if hasKey $pd "staticParameters" }}
staticParameters:
{{- $params := get $cc "staticParameters" }}
{{- $params := get $pd "staticParameters" }}
{{- range $params }}
- {{ . }}
{{- end }}
{{- end}}

## define dynamic parameter list
{{- if hasKey $cc "dynamicParameters" }}
## define dynamic parameter list
{{- if hasKey $pd "dynamicParameters" }}
dynamicParameters:
{{- $params := get $cc "dynamicParameters" }}
{{- $params := get $pd "dynamicParameters" }}
{{- range $params }}
- {{ . }}
{{- end }}
{{- end}}

## define immutable parameter list, this feature is not currently supported.
{{- if hasKey $cc "immutableParameters" }}
## define immutable parameter list, this feature is not currently supported.
{{- if hasKey $pd "immutableParameters" }}
immutableParameters:
{{- $params := get $cc "immutableParameters" }}
{{- $params := get $pd "immutableParameters" }}
{{- range $params }}
- {{ . }}
{{- end }}
{{- end}}


# mysql configuration file format
fileFormatConfig:
format: ini
iniConfig:
sectionName: mysqld
{{- end}}
19 changes: 19 additions & 0 deletions addons/mysql/templates/pcr-57-orc.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
apiVersion: parameters.kubeblocks.io/v1alpha1
kind: ParamConfigRenderer
metadata:
name: {{ include "mysql.prcNameOrc57" . }}
labels:
{{- include "mysql.labels" . | nindent 4 }}
spec:
componentDef: {{ include "mysql.componentDefNameOrc57" . }}
parametersDefs:
- {{ include "mysql.paramsDefName57" . }}

configs:
- name: my.cnf
fileFormatConfig:
format: ini
iniConfig:
sectionName: mysqld
reRenderResourceTypes:
- vscale
19 changes: 19 additions & 0 deletions addons/mysql/templates/pcr-57.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
apiVersion: parameters.kubeblocks.io/v1alpha1
kind: ParamConfigRenderer
metadata:
name: {{ include "mysql.prcName57" . }}
labels:
{{- include "mysql.labels" . | nindent 4 }}
spec:
componentDef: {{ include "mysql.componentDefName57" . }}
parametersDefs:
- {{ include "mysql.paramsDefName57" . }}

configs:
- name: my.cnf
fileFormatConfig:
format: ini
iniConfig:
sectionName: mysqld
reRenderResourceTypes:
- vscale
19 changes: 19 additions & 0 deletions addons/mysql/templates/pcr-80-mgr.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
apiVersion: parameters.kubeblocks.io/v1alpha1
kind: ParamConfigRenderer
metadata:
name: {{ include "mysql.prcNameMgr80" . }}
labels:
{{- include "mysql.labels" . | nindent 4 }}
spec:
componentDef: {{ include "mysql.componentDefNameMGR80" . }}
parametersDefs:
- {{ include "mysql.paramsDefName80" . }}

configs:
- name: my.cnf
fileFormatConfig:
format: ini
iniConfig:
sectionName: mysqld
reRenderResourceTypes:
- vscale
19 changes: 19 additions & 0 deletions addons/mysql/templates/pcr-80-orc.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
apiVersion: parameters.kubeblocks.io/v1alpha1
kind: ParamConfigRenderer
metadata:
name: {{ include "mysql.prcNameOrc80" . }}
labels:
{{- include "mysql.labels" . | nindent 4 }}
spec:
componentDef: {{ include "mysql.componentDefNameOrc80" . }}
parametersDefs:
- {{ include "mysql.paramsDefName80" . }}

configs:
- name: my.cnf
fileFormatConfig:
format: ini
iniConfig:
sectionName: mysqld
reRenderResourceTypes:
- vscale
19 changes: 19 additions & 0 deletions addons/mysql/templates/pcr-80.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
apiVersion: parameters.kubeblocks.io/v1alpha1
kind: ParamConfigRenderer
metadata:
name: {{ include "mysql.prcName80" . }}
labels:
{{- include "mysql.labels" . | nindent 4 }}
spec:
componentDef: {{ include "mysql.componentDefName80" . }}
parametersDefs:
- {{ include "mysql.paramsDefName80" . }}

configs:
- name: my.cnf
fileFormatConfig:
format: ini
iniConfig:
sectionName: mysqld
reRenderResourceTypes:
- vscale
Loading

0 comments on commit f8343a7

Please sign in to comment.