global: namespace: my-apps imagePullSecrets: [] # Backend configuration backend: name: backend replicaCount: 1 image: repository: harbor.dvirlabs.com/my-apps/my-recipes-backend pullPolicy: IfNotPresent tag: "master-35e1584" service: type: ClusterIP port: 8000 targetPort: 8000 resources: requests: cpu: 100m memory: 128Mi limits: cpu: 500m memory: 512Mi env: PYTHONUNBUFFERED: "1" tag: master-e0b0ec9 # Frontend configuration frontend: name: frontend replicaCount: 1 image: repository: harbor.dvirlabs.com/my-apps/my-recipes-frontend pullPolicy: IfNotPresent tag: "master-56d00c2" service: type: ClusterIP port: 3000 targetPort: 3000 env: API_BASE: "https://my-recipes.dvirlabs.com/api" resources: requests: cpu: 50m memory: 64Mi limits: cpu: 200m memory: 256Mi tag: master-e0b0ec9 # PostgreSQL configuration postgres: name: db image: repository: postgres tag: "16" pullPolicy: IfNotPresent user: recipes_user password: recipes_password # POC only – later use Secret/ExternalSecret database: recipes_db port: 5432 service: type: ClusterIP port: 5432 targetPort: 5432 persistence: enabled: true accessMode: ReadWriteOnce storageClass: "nfs-client" size: 8Gi resources: requests: cpu: 100m memory: 256Mi limits: cpu: 1000m memory: 1Gi # Ingress (top-level, maps frontend/backend paths) 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: null hosts: - host: my-recipes.dvirlabs.com paths: - path: / pathType: Prefix backend: frontend - path: /api pathType: Prefix backend: backend tls: - secretName: recipes-tls hosts: - my-recipes.dvirlabs.com