apiVersion: v1 kind: Pod metadata: name: addy.io spec: restartPolicy: Always containers: - name: addy-db image: mariadb:12 args: - "mariadbd" - "--character-set-server=utf8mb4" - "--collation-server=utf8mb4_unicode_ci" env: - name: MARIADB_RANDOM_ROOT_PASSWORD value: "yes" - name: MYSQL_DATABASE valueFrom: configMapKeyRef: name: addy.io-config-shared key: DATABASE_NAME - name: MYSQL_USER valueFrom: configMapKeyRef: name: addy.io-config-shared key: DATABASE_USER - name: MYSQL_PASSWORD valueFrom: secretKeyRef: name: addy.io-secrets key: db-password volumeMounts: - mountPath: /var/lib/mysql name: addy-db-volume # --- Redis Service --- - name: addy-redis image: redis:8-alpine # --- Addy Application --- - name: addy-app image: anonaddy/anonaddy:latest ports: - containerPort: 25 hostPort: 2525 protocol: TCP - containerPort: 8000 hostPort: 8000 protocol: TCP envFrom: - configMapRef: name: addy.io-config env: - name: DB_HOST value: "127.0.0.1" - name: REDIS_HOST value: "127.0.0.1" - name: APP_KEY valueFrom: secretKeyRef: name: addy.io-secrets key: app-key # Database Configuration - name: DB_DATABASE valueFrom: configMapKeyRef: name: addy.io-config-shared key: DATABASE_NAME - name: DB_USERNAME valueFrom: configMapKeyRef: name: addy.io-config-shared key: DATABASE_USER - name: DB_PASSWORD valueFrom: secretKeyRef: name: addy.io-secrets key: db-password volumeMounts: - mountPath: /data name: addy-data-volume # --- Volume Definitions --- volumes: - name: addy-db-volume persistentVolumeClaim: claimName: addy.io-db - name: addy-data-volume persistentVolumeClaim: claimName: addy.io-data