--- app yaml summary --- file name repoURL path chart targetRevision namespace applications/apps.yaml apps https://github.com/GitMasterOne/ArgoCD applications main infra-argocd applications/hf-espocrm.yaml hf-espocrm https://github.com/GitMasterOne/ArgoCD.git espocrm main infra-argocd applications/suitecrm.yaml suitecrm 'https://github.com/GitMasterOne/ArgoCD.git' charts/suitecrm main infra-argocd applications/hf-mautic.yaml hf-mautic https://github.com/GitMasterOne/ArgoCD.git charts/mautic main # ggf. HEAD oder Branch/Tag infra-argocd applications/n8n.yaml n8n 8gears.container-registry.com library/n8n 2.0.1 infra-argocd --- structure classification --- area path kind README.md README.md plain applications applications/apps.yaml argocd-application applications applications/hf-espocrm.yaml argocd-application applications applications/hf-mautic.yaml argocd-application applications applications/n8n.yaml argocd-application applications applications/suitecrm.yaml argocd-application charts charts/mautic/Chart.lock plain charts charts/mautic/Chart.yaml helm-chart charts charts/mautic/charts/mariadb-22.0.0.tgz helm-template charts charts/mautic/charts/redis-18.19.0.tgz helm-template charts charts/mautic/templates/_helpers.tpl helm-template charts charts/mautic/templates/charts/mautic/templates/ingress.yaml plain charts charts/mautic/templates/charts/mautic/templates/mariadb.yaml helm-template charts charts/mautic/templates/cronjobs.yaml helm-template charts charts/mautic/templates/deployment.yaml helm-template charts charts/mautic/templates/service.yaml helm-template charts charts/mautic/values.yaml helm-values charts charts/suitecrm/Chart.yaml helm-chart charts charts/suitecrm/templates/_helpers.tpl helm-template charts charts/suitecrm/templates/deployment.yaml helm-template charts charts/suitecrm/templates/ingress.yaml helm-template charts charts/suitecrm/templates/pvc.yaml helm-template charts charts/suitecrm/templates/secret.yaml k8s-secret,helm-template charts charts/suitecrm/templates/service.yaml helm-template charts charts/suitecrm/values.yaml helm-values espocrm espocrm/Chart.yaml helm-chart espocrm espocrm/templates/deployment.yaml helm-template espocrm espocrm/templates/ingress.yaml plain espocrm espocrm/templates/service.yaml plain espocrm espocrm/values-mariadb.yaml helm-values espocrm espocrm/values.yaml helm-values --- key files masked excerpts --- ### applications/apps.yaml apiVersion: argoproj.io/v1alpha1 kind: Application metadata: name: apps namespace: infra-argocd spec: project: default source: repoURL: https://github.com/GitMasterOne/ArgoCD targetRevision: main path: applications destination: server: https://kubernetes.default.svc namespace: infra-argocd syncPolicy: automated: prune: true selfHeal: true ### applications/hf-espocrm.yaml apiVersion: argoproj.io/v1alpha1 kind: Application metadata: name: hf-espocrm namespace: infra-argocd spec: project: default source: repoURL: https://github.com/GitMasterOne/ArgoCD.git targetRevision: main path: espocrm helm: valueFiles: - values.yaml - values-mariadb.yaml destination: server: https://kubernetes.default.svc namespace: hf-espocrm syncPolicy: automated: prune: true selfHeal: true syncOptions: - CreateNamespace=true ### applications/hf-mautic.yaml apiVersion: argoproj.io/v1alpha1 kind: Application metadata: name: hf-mautic namespace: infra-argocd spec: project: default source: repoURL: https://github.com/GitMasterOne/ArgoCD.git targetRevision: main # ggf. HEAD oder Branch/Tag path: charts/mautic helm: releaseName: hf-mautic valuesObject: # --- App-Instanz --- replicaCount: 2 # --- Ingress im Cluster (Traefik), TLS NUR extern am NGINX --- ingress: enabled: true className: traefik hosts: - host: mautic.heckenfels.com paths: - path: / pathType: Prefix tls: [] # kein TLS im Cluster # --- Service (Passe an, falls deine Chart andere Keys nutzt) --- service: type: ClusterIP port: 80 # --- Subcharts: MariaDB & Redis (siehe Schritt 2) --- mariadb: auth: existingSecret: username: mautic database: mautic primary: persistence: enabled: true size: 10Gi redis: architecture: standalone auth: enabled: true existingSecret: existingSecretPasswordKey: redis-password master: persistence: enabled: true size: 5Gi # --- Mautic-ENV (mappe ggf. auf deine Chart-Keys: z.B. extraEnv/podEnv) --- env: - name: MAUTIC_DB_HOST value: "hf-mautic-mariadb" - name: MAUTIC_DB_NAME value: "mautic" - name: MAUTIC_DB_USER value: "mautic" - name: MAUTIC_DB_PASSWORD valueFrom: secretKeyRef: name: mautic-infra-secrets key: mariadb-password - name: MAUTIC_TRUSTED_PROXIES value: "0.0.0.0/0" - name: MAUTIC_SITE_URL value: "https://mautic.heckenfels.com" - name: MAUTIC_CACHE_HOST value: "hf-mautic-redis-master" - name: MAUTIC_CACHE_PORT value: "6379" - name: MAUTIC_REDIS_PASSWORD valueFrom: secretKeyRef: name: mautic-infra-secrets key: redis-password destination: server: https://kubernetes.default.svc namespace: hf-mautic syncPolicy: automated: prune: true selfHeal: true syncOptions: - CreateNamespace=true ### applications/n8n.yaml apiVersion: argoproj.io/v1alpha1 kind: Application metadata: name: n8n namespace: infra-argocd spec: project: default source: repoURL: 8gears.container-registry.com chart: library/n8n targetRevision: 2.0.1 sourceType: Helm helm: values: | main: enabled: true ports: http: 5678 config: n8n: basic_auth: active: true persistence: enabled: true type: dynamic storageClass: longhorn accessModes: - ReadWriteOnce size: 5Gi extraEnv: - name: N8N_BASIC_AUTH_USER valueFrom: secretKeyRef: name: n8n-secret key: BASIC_AUTH_USER - name: N8N_BASIC_AUTH_PASSWORD valueFrom: secretKeyRef: name: n8n-secret key: BASIC_AUTH_PASSWORD - name: N8N_ENCRYPTION_KEY valueFrom: secretKeyRef: name: n8n-secret key: ENCRYPTION_KEY - name: N8N_HOST value: "n8n.heckenfels.com" - name: N8N_PROTOCOL value: "https" - name: N8N_PORT value: "5678" - name: WEBHOOK_URL value: "https://n8n.heckenfels.com" ingress: enabled: true className: traefik hosts: - host: n8n.heckenfels.com paths: - path: / pathType: Prefix tls: [] service: type: ClusterIP port: 80 destination: server: https://kubernetes.default.svc namespace: hf-n8n syncPolicy: automated: prune: true selfHeal: true syncOptions: - CreateNamespace=true ### applications/suitecrm.yaml apiVersion: argoproj.io/v1alpha1 kind: Application metadata: name: suitecrm namespace: infra-argocd spec: project: default source: repoURL: 'https://github.com/GitMasterOne/ArgoCD.git' path: charts/suitecrm targetRevision: main helm: valueFiles: - values.yaml destination: server: 'https://kubernetes.default.svc' namespace: hf-suitecrm syncPolicy: automated: prune: true selfHeal: true syncOptions: - CreateNamespace=true ### espocrm/values-mariadb.yaml mariadb: auth: rootPassword: username: espocrm password: database: espocrm primary: persistence: enabled: true size: 8Gi storageClass: standard resources: requests: cpu: 500m memory: 512Mi limits: cpu: 1 memory: 1Gi livenessProbe: enabled: true initialDelaySeconds: 120 readinessProbe: enabled: true initialDelaySeconds: 30 ### espocrm/values.yaml image: repository: espocrm/espocrm tag: "latest" pullPolicy: IfNotPresent service: type: ClusterIP port: 80 ingress: enabled: false persistence: enabled: false database: host: hf-espocrm-mariadb name: my_database user: espocrm password: ### charts/suitecrm/values.yaml # —————————————————————————— # Allgemein # —————————————————————————— replicaCount: 1 image: repository: bitnami/suitecrm # Laut Bitnami existieren v8.x Tags (z. B. 8.6.0). Du kannst hier auch "latest" setzen. tag: "8.8.1" # falls nicht vorhanden, auf "8.6.0" oder "latest" wechseln pullPolicy: IfNotPresent nameOverride: "" fullnameOverride: "" podSecurityContext: fsGroup: 1001 securityContext: runAsUser: 1001 runAsNonRoot: true service: type: ClusterIP port: 8080 targetPort: 8080 ingress: enabled: true className: "traefik" annotations: traefik.ingress.kubernetes.io/router.entrypoints: "web" hosts: - host: suitecrm.heckenfels.com paths: - path: / pathType: Prefix tls: [] # TLS handled externally (NGINX Reverse Proxy) persistence: enabled: true existingClaim: "" # leer lassen: Chart erstellt PVC storageClass: "" # ggf. deine StorageClass eintragen size: 10Gi # —————————————————————————— # SuiteCRM Konfiguration # —————————————————————————— suitecrm: # Wird im Installer und für generierte Links verwendet siteURL: "http://suitecrm.heckenfels.com" adminUser: "admin" adminPassword: adminEmail: "admin@pidoka.de" httpsEnabled: false waitForDatabase: true # Warten auf Datenbank smtp: enabled: false host: "" port: 587 user: "" password: protocol: "tls" scheduler: enabled: true # Intervall: alle 60s (Sidecar führt bin/console schedulers:run aus) intervalSeconds: 60 # —————————————————————————— # Datenbank (Subchart Bitnami MariaDB) # —————————————————————————— mariadb: enabled: true architecture: standalone image: tag: 10.6 # Kompatibel mit SuiteCRM 8.7/8.8 Matrix auth: rootPassword: username: "bn_suitecrm" password: database: "bitnami_suitecrm" primary: persistence: enabled: true size: 10Gi ### charts/mautic/values.yaml replicaCount: 2 image: repository: mautic/mautic tag: latest pullPolicy: IfNotPresent database: host: hf-mautic-mariadb user: mautic name: mautic mariadb: auth: existingSecret: username: mautic database: mautic passwordKey: mariadb-password rootPasswordKey: mariadb-root-password primary: persistence: enabled: true size: 10Gi service: type: ClusterIP port: 80 ingress: enabled: true host: mautic.heckenfels.com redis: architecture: standalone auth: enabled: true existingSecret: existingSecretPasswordKey: redis-password master: persistence: enabled: true size: 5Gi