feat(helm): mariadb-operator Database/User/Grant CRDs
When mariadb.enabled=true, references the in-cluster MariaDB this chart deploys. When false, references an external CR via mariadb.externalRef. Privileges scoped to the website's database only — no global ALL PRIVILEGES. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
16
helm/ezscale-website/templates/mariadb-database.yaml
Normal file
16
helm/ezscale-website/templates/mariadb-database.yaml
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
apiVersion: k8s.mariadb.com/v1alpha1
|
||||||
|
kind: Database
|
||||||
|
metadata:
|
||||||
|
name: {{ include "ezscale-website.fullname" . }}-db
|
||||||
|
labels: {{- include "ezscale-website.labels" . | nindent 4 }}
|
||||||
|
spec:
|
||||||
|
mariaDbRef:
|
||||||
|
{{- if .Values.mariadb.enabled }}
|
||||||
|
name: {{ include "ezscale-website.fullname" . }}-mariadb
|
||||||
|
{{- else }}
|
||||||
|
name: {{ .Values.mariadb.externalRef.name }}
|
||||||
|
namespace: {{ .Values.mariadb.externalRef.namespace }}
|
||||||
|
{{- end }}
|
||||||
|
characterSet: utf8mb4
|
||||||
|
collate: utf8mb4_unicode_ci
|
||||||
|
name: {{ .Values.mariadb.database }}
|
||||||
19
helm/ezscale-website/templates/mariadb-grant.yaml
Normal file
19
helm/ezscale-website/templates/mariadb-grant.yaml
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
apiVersion: k8s.mariadb.com/v1alpha1
|
||||||
|
kind: Grant
|
||||||
|
metadata:
|
||||||
|
name: {{ include "ezscale-website.fullname" . }}-grant
|
||||||
|
labels: {{- include "ezscale-website.labels" . | nindent 4 }}
|
||||||
|
spec:
|
||||||
|
mariaDbRef:
|
||||||
|
{{- if .Values.mariadb.enabled }}
|
||||||
|
name: {{ include "ezscale-website.fullname" . }}-mariadb
|
||||||
|
{{- else }}
|
||||||
|
name: {{ .Values.mariadb.externalRef.name }}
|
||||||
|
namespace: {{ .Values.mariadb.externalRef.namespace }}
|
||||||
|
{{- end }}
|
||||||
|
username: {{ .Values.mariadb.username }}
|
||||||
|
host: "%"
|
||||||
|
privileges:
|
||||||
|
- "ALL PRIVILEGES"
|
||||||
|
database: {{ .Values.mariadb.database }}
|
||||||
|
table: "*"
|
||||||
21
helm/ezscale-website/templates/mariadb-user.yaml
Normal file
21
helm/ezscale-website/templates/mariadb-user.yaml
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
apiVersion: k8s.mariadb.com/v1alpha1
|
||||||
|
kind: User
|
||||||
|
metadata:
|
||||||
|
name: {{ include "ezscale-website.fullname" . }}-user
|
||||||
|
labels: {{- include "ezscale-website.labels" . | nindent 4 }}
|
||||||
|
spec:
|
||||||
|
# spec.name overrides metadata.name as the SQL identifier — needed because
|
||||||
|
# k8s resource names can't contain underscores but our SQL username can.
|
||||||
|
name: {{ .Values.mariadb.username }}
|
||||||
|
mariaDbRef:
|
||||||
|
{{- if .Values.mariadb.enabled }}
|
||||||
|
name: {{ include "ezscale-website.fullname" . }}-mariadb
|
||||||
|
{{- else }}
|
||||||
|
name: {{ .Values.mariadb.externalRef.name }}
|
||||||
|
namespace: {{ .Values.mariadb.externalRef.namespace }}
|
||||||
|
{{- end }}
|
||||||
|
passwordSecretKeyRef:
|
||||||
|
name: {{ include "ezscale-website.secretName" . }}
|
||||||
|
key: DB_PASSWORD
|
||||||
|
host: "%"
|
||||||
|
maxUserConnections: 50
|
||||||
Reference in New Issue
Block a user