bf9e827f85
Deploy backend, frontend, PostgreSQL, and Redis on Kubernetes with optional Ingress/TLS, SQL migration hooks, and public registry exposure at repo.3fase.ir. Co-authored-by: Cursor <cursoragent@cursor.com>
94 lines
2.2 KiB
YAML
94 lines
2.2 KiB
YAML
# ────────────────────────────────────────────────────────────
|
|
# CloudHost Platform — Helm values
|
|
# Deploy: helm upgrade --install cloudhost ./backend/helm/cloudhost-platform -n cloudhost --create-namespace
|
|
# ────────────────────────────────────────────────────────────
|
|
|
|
nameOverride: ""
|
|
fullnameOverride: ""
|
|
|
|
namespace: cloudhost
|
|
createNamespace: true
|
|
|
|
global:
|
|
storageClass: ""
|
|
|
|
images:
|
|
postgres: postgres:16-alpine
|
|
redis: redis:7-alpine
|
|
busybox: busybox:1.36
|
|
backend:
|
|
repository: cloudhost-backend
|
|
tag: "1.0.0"
|
|
pullPolicy: IfNotPresent
|
|
frontend:
|
|
repository: cloudhost-frontend
|
|
tag: "1.0.0"
|
|
pullPolicy: IfNotPresent
|
|
|
|
postgres:
|
|
enabled: true
|
|
database: cloudhost
|
|
username: cloudhost
|
|
# Leave empty to auto-generate on first install (stored in Secret)
|
|
password: ""
|
|
storage: 10Gi
|
|
resources: {}
|
|
|
|
redis:
|
|
enabled: true
|
|
storage: 1Gi
|
|
resources: {}
|
|
|
|
backend:
|
|
enabled: true
|
|
replicas: 1
|
|
uploads:
|
|
size: 20Gi
|
|
resources: {}
|
|
extraEnv: {}
|
|
env:
|
|
NODE_ENV: production
|
|
PORT: "4000"
|
|
JWT_EXPIRES_IN: 15m
|
|
JWT_REFRESH_EXPIRES_IN: 7d
|
|
PLATFORM_DOMAIN: apps.cloudhost.local
|
|
REGISTRY_URL: registry.cloudhost-builds.svc.cluster.local:5000
|
|
REGISTRY_PULL_URL: localhost:30500
|
|
BUILD_NAMESPACE: cloudhost-builds
|
|
BUILD_SERVICE_ACCOUNT: kaniko-builder
|
|
UPLOAD_DIR: /app/uploads
|
|
PLATFORM_CREATE_STORAGE_CLASS: "true"
|
|
PLATFORM_STORAGE_CLASS: cloudhost-expandable
|
|
PLATFORM_STORAGE_PROVISIONER: rancher.io/local-path
|
|
|
|
frontend:
|
|
enabled: true
|
|
replicas: 1
|
|
resources: {}
|
|
|
|
# JWT secrets — set in production (values-production.example.yaml)
|
|
secrets:
|
|
jwtSecret: ""
|
|
jwtRefreshSecret: ""
|
|
|
|
ingress:
|
|
enabled: true
|
|
className: nginx
|
|
frontend:
|
|
host: platform.cloudhost.local
|
|
api:
|
|
host: api.cloudhost.local
|
|
singleHost:
|
|
enabled: false
|
|
host: platform.cloudhost.local
|
|
apiPath: /api
|
|
annotations: {}
|
|
tls:
|
|
enabled: true
|
|
clusterIssuer: letsencrypt-prod
|
|
secretName: ""
|
|
|
|
migrations:
|
|
enabled: true
|
|
image: postgres:16-alpine
|