diff --git a/helm/dating-app/values.yaml b/helm/dating-app/values.yaml index f0d703a..e01f8be 100644 --- a/helm/dating-app/values.yaml +++ b/helm/dating-app/values.yaml @@ -1,127 +1,136 @@ # Default values for dating-app Helm chart +# This structure mirrors the my-recipes chart for consistency -# Global settings global: - domain: example.com - -# PostgreSQL configuration -postgres: - enabled: true - image: postgres:15-alpine - replicas: 1 - resources: - requests: - memory: "256Mi" - cpu: "100m" - limits: - memory: "512Mi" - cpu: "500m" - persistence: - enabled: true - size: 10Gi - storageClass: "" - credentials: - username: dating_app_user - password: Aa123456 - database: dating_app - service: - port: 5432 + namespace: dating-app + imagePullSecrets: [] # Backend configuration backend: + name: backend + replicaCount: 1 image: - repository: dating-app-backend - tag: latest - pullPolicy: IfNotPresent - replicas: 2 - resources: - requests: - memory: "256Mi" - cpu: "100m" - limits: - memory: "512Mi" - cpu: "500m" + repository: harbor.dvirlabs.com/dating-app/dating-app-backend + pullPolicy: Always + tag: develop-latest service: + type: ClusterIP port: 8000 targetPort: 8000 - type: ClusterIP + 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: 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" + 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 - 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: + name: frontend + replicaCount: 1 image: - repository: dating-app-frontend - tag: latest - pullPolicy: IfNotPresent - replicas: 2 - resources: - requests: - memory: "128Mi" - cpu: "50m" - limits: - memory: "256Mi" - cpu: "200m" + repository: harbor.dvirlabs.com/dating-app/dating-app-frontend + pullPolicy: Always + tag: develop-latest service: + type: ClusterIP port: 80 targetPort: 80 - type: ClusterIP + env: + VITE_API_URL: "https://api-dateme.dvirlabs.com" + resources: + requests: + cpu: 50m + memory: 128Mi + limits: + cpu: 200m + memory: 256Mi 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 + 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" -# Ingress configuration +# 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 + resources: + requests: + cpu: 100m + memory: 256Mi + limits: + cpu: 500m + memory: 512Mi + +# Ingress (top-level, disabled - use component-specific ingress instead) ingress: - enabled: true - className: nginx + enabled: false + className: "traefik" annotations: cert-manager.io/cluster-issuer: "letsencrypt-prod" - -# ConfigMap for shared configuration -configmap: - enabled: true - -# Secret for sensitive data (use external secrets in production) -secrets: - enabled: true + hosts: + - host: dateme.dvirlabs.com + paths: + - path: / + pathType: Prefix + tls: + - secretName: dateme-tls + hosts: + - dateme.dvirlabs.com