diff --git a/argocd/apps/mattermost/mattermnost.yaml b/argocd/apps/mattermost/mattermnost.yaml index c975152..8e12eea 100644 --- a/argocd/apps/mattermost/mattermnost.yaml +++ b/argocd/apps/mattermost/mattermnost.yaml @@ -1,3 +1,27 @@ +# 1. Namespace erstellen +apiVersion: v1 +kind: Namespace +metadata: + name: mattermost + labels: + pod-security.kubernetes.io/enforce: "privileged" + +--- +# 2. Manuelles Secret mit KORREKTEM DSN (ohne mysql:// Prefix) +apiVersion: v1 +kind: Secret +metadata: + name: mattermost-mattermost-team-edition-mattermost-dbsecret + namespace: mattermost + annotations: + # Verhindert, dass ArgoCD dieses Secret überschreibt + argocd.argoproj.io/sync-options: "Prune=false" +type: Opaque +stringData: + mattermost.dbsecret: "mmdbuser:mmdbpwd@tcp(mattermost-mysql:3306)/mattermost?charset=utf8mb4,utf8&readTimeout=30s&writeTimeout=30s" + +--- +# 3. ArgoCD Application apiVersion: argoproj.io/v1alpha1 kind: Application metadata: @@ -24,7 +48,7 @@ spec: storageClass: "longhorn" accessMode: ReadWriteOnce - # MySQL SubChart AKTIVIERT (für die Datenbank) + # MySQL SubChart mysql: enabled: true mysqlRootPassword: "mmROOT12345" @@ -39,14 +63,6 @@ spec: accessMode: ReadWriteOnce size: 10Gi - # TRICK: externalDB aktivieren, damit das Chart NICHT das - # fehlerhafte MM_CONFIG Secret generiert! - # Wir zeigen auf die interne MySQL mit korrektem DSN Format - externalDB: - enabled: true - externalDriverType: "mysql" - externalConnectionString: "mmdbuser:mmdbpwd@tcp(mattermost-mysql:3306)/mattermost?charset=utf8mb4,utf8&readTimeout=30s&writeTimeout=30s" - # Ingress Konfiguration ingress: enabled: true @@ -65,11 +81,19 @@ spec: namespace: mattermost syncPolicy: - managedNamespaceMetadata: - labels: - pod-security.kubernetes.io/enforce: "privileged" automated: selfHeal: true prune: true syncOptions: - - CreateNamespace=true \ No newline at end of file + - CreateNamespace=false + # WICHTIG: Respektiere Ressourcen die nicht vom Chart kommen + - RespectIgnoreDifferences=true + + # Ignoriere Änderungen am manuell erstellten Secret + ignoreDifferences: + - group: "" + kind: Secret + name: mattermost-mattermost-team-edition-mattermost-dbsecret + jsonPointers: + - /data + - /stringData \ No newline at end of file