commit bf9ff16865185a86a9131da1930b555f1d3f7188
parent 4a04e40729a806fa0d5bedca686e102764398561
Author: MTRNord <MTRNord@users.noreply.github.com>
Date: Sat, 18 Apr 2026 19:28:33 +0200
deploy db cluster
Signed-off-by: MTRNord <MTRNord@users.noreply.github.com>
Diffstat:
7 files changed, 88 insertions(+), 1 deletion(-)
diff --git a/apps/talos_cluster/mediawiki/deployment.yaml b/apps/talos_cluster/mediawiki/deployment.yaml
@@ -4,7 +4,7 @@ metadata:
name: mediawiki
namespace: mediawiki
spec:
- replicas: 1
+ replicas: 0
selector:
matchLabels:
app: mediawiki
diff --git a/apps/talos_cluster/mediawiki/mariadb.yaml b/apps/talos_cluster/mediawiki/mariadb.yaml
@@ -130,3 +130,42 @@ spec:
- protocol: TCP
port: 3306
targetPort: 3306
+---
+apiVersion: k8s.mariadb.com/v1alpha1
+kind: MariaDB
+metadata:
+ name: mediawiki-db
+ namespace: mediawiki
+spec:
+ rootPasswordSecretKeyRef:
+ name: mediawiki-cred
+ key: admin-password
+ database: mediawiki
+ username: mediawiki
+ passwordSecretKeyRef:
+ name: mediawiki-cred
+ key: password
+ image:
+ repository: docker.io/library/mariadb
+ tag: "12.2"
+ replicas: 3
+ galera:
+ enabled: true
+ storage:
+ size: 2Gi
+ storageClassName: longhorn
+ myCnf: |
+ [mysqld]
+ innodb_buffer_pool_size = 256M
+ max_allowed_packet = 64M
+ max_connections = 50
+ skip_name_resolve = ON
+ slow_query_log = ON
+ long_query_time = 1
+ resources:
+ requests:
+ memory: 256Mi
+ cpu: 100m
+ limits:
+ memory: 512Mi
+ cpu: 400m
diff --git a/infrastructure_talos/controllers/kustomization.yaml b/infrastructure_talos/controllers/kustomization.yaml
@@ -5,6 +5,7 @@ resources:
- descheduler.yaml
- capacitor.yaml
- ./cloudnative-pg-operator
+ - ./mariadb-operator
- cert-manager.yaml
- longhorn.yaml
- ./velero
diff --git a/infrastructure_talos/controllers/mariadb-operator/kustomization.yaml b/infrastructure_talos/controllers/mariadb-operator/kustomization.yaml
@@ -0,0 +1,7 @@
+apiVersion: kustomize.config.k8s.io/v1beta1
+kind: Kustomization
+namespace: mariadb-operator
+resources:
+ - namespace.yaml
+ - repository.yaml
+ - operator.yaml
diff --git a/infrastructure_talos/controllers/mariadb-operator/namespace.yaml b/infrastructure_talos/controllers/mariadb-operator/namespace.yaml
@@ -0,0 +1,4 @@
+apiVersion: v1
+kind: Namespace
+metadata:
+ name: mariadb-operator
diff --git a/infrastructure_talos/controllers/mariadb-operator/operator.yaml b/infrastructure_talos/controllers/mariadb-operator/operator.yaml
@@ -0,0 +1,28 @@
+apiVersion: helm.toolkit.fluxcd.io/v2
+kind: HelmRelease
+metadata:
+ name: mariadb-operator
+ namespace: mariadb-operator
+spec:
+ releaseName: mariadb-operator
+ chart:
+ spec:
+ chart: mariadb-operator
+ sourceRef:
+ kind: HelmRepository
+ name: mariadb-operator
+ interval: 60m
+ timeout: 5m
+ install:
+ timeout: 5m
+ remediation:
+ retries: 3
+ crds: Create
+ upgrade:
+ crds: CreateReplace
+ force: true
+ values:
+ metrics:
+ enabled: true
+ serviceMonitor:
+ enabled: true
diff --git a/infrastructure_talos/controllers/mariadb-operator/repository.yaml b/infrastructure_talos/controllers/mariadb-operator/repository.yaml
@@ -0,0 +1,8 @@
+apiVersion: source.toolkit.fluxcd.io/v1
+kind: HelmRepository
+metadata:
+ name: mariadb-operator
+ namespace: mariadb-operator
+spec:
+ interval: 60m
+ url: https://mariadb-operator.github.io/mariadb-operator