695e05f948
Introduce product types for managed PostgreSQL, Redis, and RabbitMQ with a dedicated dashboard, Helm-only deploy pipeline, external access, snapshots with progress, and prorated resource or storage upgrades matching application billing rules. PVCs use an expandable StorageClass with automatic migration when legacy disks cannot resize in place. Co-authored-by: Cursor <cursoragent@cursor.com>
97 lines
3.7 KiB
YAML
97 lines
3.7 KiB
YAML
# ────────────────────────────────────────────────────────────
|
|
# CloudHost Application — default Helm values
|
|
# These are overridden per-app at install/upgrade time.
|
|
# ────────────────────────────────────────────────────────────
|
|
|
|
# ── Cluster storage (PVC resize) ─────────────────────────
|
|
global:
|
|
storageClass: ""
|
|
createStorageClass: false
|
|
storageProvisioner: "rancher.io/local-path"
|
|
|
|
# ── Application ──────────────────────────────────────────
|
|
app:
|
|
enabled: true # false for managed database/redis/rabbitmq-only stacks
|
|
name: my-app
|
|
namespace: user-default
|
|
runtime: nodejs # nodejs | laravel | wordpress | go | php | python | django | dotnet
|
|
image: "" # e.g. registry.example.com/my-app:v1
|
|
port: 3000
|
|
replicas: 1
|
|
storageSize: "2Gi" # PVC size for app files (uploads, media, data)
|
|
|
|
# ── Resources ────────────────────────────────────────────
|
|
resources:
|
|
cpuRequest: "100m"
|
|
cpuLimit: "500m"
|
|
memoryRequest: "128Mi"
|
|
memoryLimit: "512Mi"
|
|
|
|
# ── Environment variables (injected via Secret) ─────────
|
|
envVars: {}
|
|
# KEY: value
|
|
|
|
# ── Ingress ──────────────────────────────────────────────
|
|
ingress:
|
|
enabled: true
|
|
subdomain: "" # <subdomain>.<domain>
|
|
domain: "apps.cloudhost.ir"
|
|
clusterIssuer: letsencrypt-prod
|
|
customDomain: "" # Optional custom domain (e.g. "www.example.com")
|
|
|
|
# ── Database (MySQL or PostgreSQL) ───────────────────────
|
|
database:
|
|
enabled: false
|
|
type: postgresql # mysql | postgresql
|
|
version: "16" # postgres version or mysql version
|
|
image: "" # auto-computed if empty
|
|
port: 5432 # 5432 for pg, 3306 for mysql
|
|
username: appuser
|
|
password: ""
|
|
storageSize: "1Gi"
|
|
resources:
|
|
cpuRequest: "100m"
|
|
cpuLimit: "500m"
|
|
memoryRequest: "256Mi"
|
|
memoryLimit: "512Mi"
|
|
|
|
# ── WordPress-specific ───────────────────────────────────
|
|
wordpress:
|
|
enabled: false
|
|
|
|
# ── Redis ──────────────────────────────────────────────
|
|
redis:
|
|
enabled: false
|
|
version: "7.2"
|
|
storageSize: "1Gi"
|
|
resources:
|
|
cpuRequest: "50m"
|
|
cpuLimit: "200m"
|
|
memoryRequest: "64Mi"
|
|
memoryLimit: "256Mi"
|
|
|
|
# ── RabbitMQ ──────────────────────────────────────────
|
|
rabbitmq:
|
|
enabled: false
|
|
version: "3.13"
|
|
storageSize: "2Gi"
|
|
resources:
|
|
cpuRequest: "100m"
|
|
cpuLimit: "500m"
|
|
memoryRequest: "256Mi"
|
|
memoryLimit: "512Mi"
|
|
|
|
# ── Elasticsearch (Fluent Bit sidecar for logging) ────
|
|
elasticsearch:
|
|
enabled: false
|
|
logPaths: []
|
|
ownerId: ""
|
|
applicationId: ""
|
|
|
|
# ── Change metadata ─────────────────────────────────────
|
|
changeCause: ""
|
|
|
|
# ── Registry (for imagePullSecret) ──────────────────────
|
|
registry:
|
|
url: "localhost:30500"
|