This commit is contained in:
dvirlabs 2025-12-17 06:44:06 +02:00
parent 7064d8f5bc
commit d36200f2d3

View File

@ -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
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: false
className: "traefik"
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: 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