171 lines
3.1 KiB
YAML
171 lines
3.1 KiB
YAML
global:
|
|
namespace: my-apps
|
|
imagePullSecrets: []
|
|
|
|
# Backend configuration
|
|
backend:
|
|
name: backend
|
|
replicaCount: 1
|
|
image:
|
|
repository: harbor.dvirlabs.com/my-apps/invy-backend
|
|
pullPolicy: IfNotPresent
|
|
tag: "latest"
|
|
|
|
service:
|
|
type: ClusterIP
|
|
port: 8000
|
|
targetPort: 8000
|
|
|
|
resources:
|
|
requests:
|
|
cpu: 100m
|
|
memory: 128Mi
|
|
limits:
|
|
cpu: 500m
|
|
memory: 512Mi
|
|
|
|
env:
|
|
PYTHONUNBUFFERED: "1"
|
|
|
|
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-invy.dvirlabs.com
|
|
paths:
|
|
- path: /
|
|
pathType: Prefix
|
|
tls:
|
|
- secretName: api-invy-tls
|
|
hosts:
|
|
- api-invy.dvirlabs.com
|
|
|
|
# Frontend configuration
|
|
frontend:
|
|
name: frontend
|
|
replicaCount: 1
|
|
image:
|
|
repository: harbor.dvirlabs.com/my-apps/invy-frontend
|
|
pullPolicy: IfNotPresent
|
|
tag: "latest"
|
|
|
|
service:
|
|
type: ClusterIP
|
|
port: 80
|
|
targetPort: 80
|
|
|
|
env:
|
|
VITE_API_URL: "https://api-invy.dvirlabs.com"
|
|
|
|
resources:
|
|
requests:
|
|
cpu: 50m
|
|
memory: 64Mi
|
|
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: invy.dvirlabs.com
|
|
paths:
|
|
- path: /
|
|
pathType: Prefix
|
|
tls:
|
|
- secretName: invy-tls
|
|
hosts:
|
|
- invy.dvirlabs.com
|
|
|
|
# PostgreSQL configuration
|
|
postgres:
|
|
name: db
|
|
image:
|
|
repository: postgres
|
|
tag: "16-alpine"
|
|
pullPolicy: IfNotPresent
|
|
|
|
user: invy_user
|
|
password: invy_password
|
|
database: invy_db
|
|
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: 1000m
|
|
memory: 1Gi
|
|
|
|
# Ingress configuration
|
|
ingress:
|
|
enabled: false # Individual frontend/backend ingress resources handle routing instead
|
|
className: "traefik"
|
|
annotations:
|
|
cert-manager.io/cluster-issuer: "letsencrypt-prod"
|
|
hosts:
|
|
- host: invy.dvirlabs.com
|
|
paths:
|
|
- path: /
|
|
pathType: Prefix
|
|
backend: frontend
|
|
tls:
|
|
- secretName: invy-tls
|
|
hosts:
|
|
- invy.dvirlabs.com
|
|
|
|
# Service Account
|
|
serviceAccount:
|
|
create: true
|
|
annotations: {}
|
|
name: ""
|
|
|
|
# Pod annotations
|
|
podAnnotations: {}
|
|
|
|
# Pod security context
|
|
podSecurityContext: {}
|
|
# fsGroup: 2000
|
|
|
|
# Container security context
|
|
securityContext: {}
|
|
# capabilities:
|
|
# drop:
|
|
# - ALL
|
|
# readOnlyRootFilesystem: true
|
|
# runAsNonRoot: true
|
|
# runAsUser: 1000
|
|
|
|
# Node selector
|
|
nodeSelector: {}
|
|
|
|
# Tolerations
|
|
tolerations: []
|
|
|
|
# Affinity
|
|
affinity: {}
|
|
|
|
# Replica count (default for both frontend and backend if not specified)
|
|
replicaCount: 1
|