Use in-cluster registry for builds and deploys; improve logging and cluster ops.

Remove external registry Ingress (repo.3fase.ir) and route Kaniko push and app pulls through the internal ClusterIP registry. Add RegistryService, ensure StorageClass and pull secrets on deploy, make Elasticsearch install/repair more resilient, and add per-cluster Deploy Elastic controls in admin UI.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
keyhan
2026-05-26 19:15:06 +03:30
parent 1ade52825c
commit d7594df9a0
20 changed files with 547 additions and 237 deletions
+6 -5
View File
@@ -2,6 +2,7 @@
NODE_ENV=development
PORT=4000
# Database
DB_HOST=localhost
DB_PORT=5432
@@ -19,12 +20,9 @@ JWT_REFRESH_EXPIRES_IN=7d
REDIS_HOST=localhost
REDIS_PORT=6379
# Container Registry (same Docker Registry v2, two hostnames)
# Internal — Kaniko/build pods push here (ClusterIP, HTTP, fast)
# In-cluster Docker Registry (Kaniko push + app image pull — same URL)
REGISTRY_URL=registry.cloudhost-builds.svc.cluster.local:5000
# External — kubelet pulls app images; also use for manual "docker push" (Ingress or NodePort)
REGISTRY_PULL_URL=repo.3fase.ir
# REGISTRY_PULL_URL=10.0.0.50:30500
# REGISTRY_PULL_URL=registry.cloudhost-builds.svc.cluster.local:5000
REGISTRY_USERNAME=admin
REGISTRY_PASSWORD=registry_secret
@@ -47,6 +45,9 @@ BUILD_SERVICE_ACCOUNT=kaniko-builder
PLATFORM_DOMAIN=apps.cloudhost.local
UPLOAD_DIR=./uploads
# PVC resize: use a dynamic StorageClass with allowVolumeExpansion (k3s: rancher.io/local-path)
# k3s: use local-path and skip creating a custom class (set CREATE=false)
# PLATFORM_STORAGE_CLASS=local-path
# PLATFORM_CREATE_STORAGE_CLASS=false
PLATFORM_STORAGE_CLASS=cloudhost-expandable
PLATFORM_CREATE_STORAGE_CLASS=true
PLATFORM_STORAGE_PROVISIONER=rancher.io/local-path