Files
cloud-host/backend/helm/cloudhost-platform/values.yaml
T
keyhan 95d0b162c5 feat(panel): serve authenticated app on dedicated panel subdomain
Separate the marketing landing site from the authenticated app by host.
Next.js middleware reads PANEL_HOST/LANDING_HOST at runtime and redirects
authenticated routes (/dashboard, /login, /register) from the landing host
to the panel host, and the landing root on the panel host to /dashboard.
Disabled (single-origin) when PANEL_HOST is unset, so local dev is unchanged.

Helm: add ingress.panel.host with a third ingress rule + TLS host routing to
the frontend service, pass LANDING_HOST/PANEL_HOST to the frontend, and append
the panel origin to the backend CORS list (frontend URL stays first so
PLATFORM_DOMAIN resolution is unaffected).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-16 17:33:19 +03:30

100 lines
2.5 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: registry.cloudhost-builds.svc.cluster.local:5000
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
ELASTICSEARCH_HOST: elasticsearch.logging.svc.cluster.local
ELASTICSEARCH_AUTO_PORT_FORWARD: "false"
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
# Optional dedicated host for the authenticated panel. Empty = disabled
# (single-origin, dev). Production (abrban): panel.abrban.com
panel:
host: ""
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