cluster

Infrastructure files for Nordgedanken and Midnightthoughts.
git clone git://archive.git.mtrnord.blog/MTRNord/cluster.git
Log | Files | Refs | README

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:
Mapps/talos_cluster/mediawiki/deployment.yaml | 2+-
Mapps/talos_cluster/mediawiki/mariadb.yaml | 39+++++++++++++++++++++++++++++++++++++++
Minfrastructure_talos/controllers/kustomization.yaml | 1+
Ainfrastructure_talos/controllers/mariadb-operator/kustomization.yaml | 7+++++++
Ainfrastructure_talos/controllers/mariadb-operator/namespace.yaml | 4++++
Ainfrastructure_talos/controllers/mariadb-operator/operator.yaml | 28++++++++++++++++++++++++++++
Ainfrastructure_talos/controllers/mariadb-operator/repository.yaml | 8++++++++
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