diff --git a/helm/dating-app/values.yaml b/helm/dating-app/values.yaml index e01f8be..f0d703a 100644 --- a/helm/dating-app/values.yaml +++ b/helm/dating-app/values.yaml @@ -1,136 +1,127 @@ # Default values for dating-app Helm chart -# This structure mirrors the my-recipes chart for consistency +# Global settings global: - namespace: dating-app - imagePullSecrets: [] - -# Backend configuration -backend: - name: backend - replicaCount: 1 - image: - repository: harbor.dvirlabs.com/dating-app/dating-app-backend - pullPolicy: Always - tag: develop-latest - service: - type: ClusterIP - port: 8000 - targetPort: 8000 - resources: - requests: - cpu: 100m - memory: 256Mi - limits: - cpu: 500m - memory: 512Mi - env: - PYTHONUNBUFFERED: "1" - JWT_SECRET: "your-secret-key-change-in-production" - JWT_EXPIRES_MINUTES: "1440" - MEDIA_DIR: "/app/media" - CORS_ORIGINS: "http://localhost:5173,http://localhost:3000,http://localhost,https://dateme.dvirlabs.com" - ingress: - enabled: true - className: "traefik" - annotations: - traefik.ingress.kubernetes.io/router.entrypoints: websecure - traefik.ingress.kubernetes.io/router.tls: "true" - cert-manager.io/cluster-issuer: "letsencrypt-prod" - hosts: - - host: api-dateme.dvirlabs.com - paths: - - path: / - pathType: Prefix - tls: - - secretName: api-dateme-tls - hosts: - - api-dateme.dvirlabs.com - persistence: - enabled: true - storageClass: "nfs-client" - size: 5Gi - mountPath: /app/media - -# Frontend configuration -frontend: - name: frontend - replicaCount: 1 - image: - repository: harbor.dvirlabs.com/dating-app/dating-app-frontend - pullPolicy: Always - tag: develop-latest - service: - type: ClusterIP - port: 80 - targetPort: 80 - env: - VITE_API_URL: "https://api-dateme.dvirlabs.com" - resources: - requests: - cpu: 50m - memory: 128Mi - limits: - cpu: 200m - memory: 256Mi - ingress: - enabled: true - className: "traefik" - annotations: - traefik.ingress.kubernetes.io/router.entrypoints: websecure - traefik.ingress.kubernetes.io/router.tls: "true" - cert-manager.io/cluster-issuer: "letsencrypt-prod" - hosts: - - host: dateme.dvirlabs.com - paths: - - path: / - pathType: Prefix - tls: - - secretName: dateme-tls - hosts: - - dateme.dvirlabs.com - externalUrl: "https://dateme.dvirlabs.com" + domain: example.com # PostgreSQL configuration postgres: - name: db - image: - repository: postgres - tag: "16" - pullPolicy: IfNotPresent - user: dating_user - password: dating_password # POC only – later use Secret/ExternalSecret - database: dating_app - port: 5432 - service: - type: ClusterIP - port: 5432 - targetPort: 5432 - persistence: - enabled: true - accessMode: ReadWriteOnce - storageClass: "nfs-client" - size: 10Gi + enabled: true + image: postgres:15-alpine + replicas: 1 resources: requests: - cpu: 100m - memory: 256Mi + memory: "256Mi" + cpu: "100m" limits: - cpu: 500m - memory: 512Mi + memory: "512Mi" + cpu: "500m" + persistence: + enabled: true + size: 10Gi + storageClass: "" + credentials: + username: dating_app_user + password: Aa123456 + database: dating_app + service: + port: 5432 -# Ingress (top-level, disabled - use component-specific ingress instead) +# Backend configuration +backend: + image: + repository: dating-app-backend + tag: latest + pullPolicy: IfNotPresent + replicas: 2 + resources: + requests: + memory: "256Mi" + cpu: "100m" + limits: + memory: "512Mi" + cpu: "500m" + service: + port: 8000 + targetPort: 8000 + type: ClusterIP + ingress: + enabled: true + className: nginx + host: api-dateme.dvirlabs.com + path: / + pathType: Prefix + environment: + JWT_SECRET: your-secret-key-change-in-production + JWT_EXPIRES_MINUTES: "1440" + MEDIA_DIR: /app/media + CORS_ORIGINS: "http://localhost:5173,http://localhost:3000,http://localhost,https://dateme.dvirlabs.com" + persistence: + enabled: true + size: 5Gi + storageClass: "" + mountPath: /app/media + probes: + readiness: + enabled: true + path: /health + initialDelaySeconds: 10 + periodSeconds: 10 + liveness: + enabled: true + path: /health + initialDelaySeconds: 30 + periodSeconds: 30 + +# Frontend configuration +frontend: + image: + repository: dating-app-frontend + tag: latest + pullPolicy: IfNotPresent + replicas: 2 + resources: + requests: + memory: "128Mi" + cpu: "50m" + limits: + memory: "256Mi" + cpu: "200m" + service: + port: 80 + targetPort: 80 + type: ClusterIP + ingress: + enabled: true + className: nginx + host: dateme.dvirlabs.com + path: / + pathType: Prefix + environment: + VITE_API_URL: "https://api-dateme.dvirlabs.com" + probes: + readiness: + enabled: true + path: /health + initialDelaySeconds: 5 + periodSeconds: 10 + liveness: + enabled: true + path: /health + initialDelaySeconds: 15 + periodSeconds: 30 + +# Ingress configuration ingress: - enabled: false - className: "traefik" + enabled: true + className: nginx annotations: cert-manager.io/cluster-issuer: "letsencrypt-prod" - hosts: - - host: dateme.dvirlabs.com - paths: - - path: / - pathType: Prefix - tls: - - secretName: dateme-tls - hosts: - - dateme.dvirlabs.com + +# ConfigMap for shared configuration +configmap: + enabled: true + +# Secret for sensitive data (use external secrets in production) +secrets: + enabled: true