feat(helm): add cloudhost-app Helm chart for all runtimes

- deployment.yaml with imagePullSecrets, health probes, WordPress volumes
- db-deployment.yaml for PostgreSQL/MySQL with readiness/liveness probes
- ingress.yaml with cert-manager TLS
- registry-pull-secret.yaml for insecure registries
- PVCs and secrets with helm.sh/resource-policy: keep
- _helpers.tpl with shared template functions
- values.yaml with comprehensive defaults
This commit is contained in:
keyhan
2026-04-22 16:43:29 +03:30
parent 2dd882bf34
commit 1a0b04feec
13 changed files with 526 additions and 0 deletions
+59
View File
@@ -0,0 +1,59 @@
# ────────────────────────────────────────────────────────────
# CloudHost Application — default Helm values
# These are overridden per-app at install/upgrade time.
# ────────────────────────────────────────────────────────────
# ── Application ──────────────────────────────────────────
app:
name: my-app
namespace: user-default
runtime: nodejs # nodejs | laravel | wordpress
image: "" # e.g. registry.example.com/my-app:v1
port: 3000
replicas: 1
# ── 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
# ── 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
wpContentStorageSize: "2Gi"
# ── Change metadata ─────────────────────────────────────
changeCause: ""
# ── Registry (for imagePullSecret) ──────────────────────
registry:
url: "localhost:30500"