🎯 New Structure: - landing/ (root) - Only Makefile, .gitignore, .woodpecker.yml - helm/ - Kubernetes deployment (with argocd inside chart) - docker/ - Docker build configs - peikarband/ - All source code (src, tests, assets, config, tools, docs) ✅ Changes: - Moved Docker files: build/docker/ → docker/ - Moved Helm charts: deploy/helm/ → helm/ - Moved ArgoCD: deploy/argocd/ → helm/peikarband/argocd/ - Moved all source code to peikarband/ - Removed duplicate files (7 files) - Removed old empty directories 🐳 Docker Fixes: - Added npm retry configuration (fetch-retry-mintimeout, etc.) - Added 3-attempt retry mechanism for reflex export - Fixed ECONNREFUSED errors - Updated paths for new structure 📦 Config Updates: - Makefile: Updated all paths (docker/, helm/, peikarband/) - .woodpecker.yml: Updated dockerfile and context paths - .gitignore: Updated data/ path 🧪 Tests: - ✓ Helm lint passes - ✓ All paths validated - ✓ Structure verified 📊 Result: - Before: 20+ files in root, scattered structure - After: 3 files + 3 directories, clean and organized - Production-ready ✨
2.2 KiB
2.2 KiB
Quick Start - Deploy در 5 دقیقه
راهنمای سریع برای deploy کردن Peikarband روی Kubernetes.
پیشنیاز
- Kubernetes cluster (v1.24+)
- Helm 3 نصب شده
- kubectl پیکربندی شده
- دسترسی به یک Container Registry
مراحل
1. Clone Repository
git clone https://github.com/peikarband/landing.git
cd landing
2. Build Docker Image
# تغییر REGISTRY به registry خودتون
export REGISTRY=registry.example.com
export IMAGE_NAME=peikarband/landing
export VERSION=0.1.0
docker build -t ${REGISTRY}/${IMAGE_NAME}:${VERSION} .
docker push ${REGISTRY}/${IMAGE_NAME}:${VERSION}
3. ساخت Secrets
kubectl create namespace production
kubectl create secret generic peikarband-secrets \
--from-literal=db-username=peikarband \
--from-literal=db-password=YOUR_STRONG_PASSWORD \
--from-literal=redis-password=YOUR_REDIS_PASSWORD \
-n production
4. Deploy با Helm
helm upgrade --install peikarband ./helm/peikarband \
--namespace production \
--set image.repository=${REGISTRY}/${IMAGE_NAME} \
--set image.tag=${VERSION} \
--set ingress.hosts[0].host=yourdomain.com \
--wait
5. چک کردن وضعیت
# Pods
kubectl get pods -n production
# Service
kubectl get svc -n production
# Ingress
kubectl get ingress -n production
6. دسترسی به Application
# Port forward برای تست
kubectl port-forward svc/peikarband 3000:3000 -n production
# باز کردن در browser
open http://localhost:3000
پیکربندی Production
برای production از values-production.yaml استفاده کنید:
helm upgrade --install peikarband ./helm/peikarband \
--namespace production \
--set image.repository=${REGISTRY}/${IMAGE_NAME} \
--set image.tag=${VERSION} \
--values helm/peikarband/values-production.yaml \
--wait
Uninstall
helm uninstall peikarband -n production
kubectl delete namespace production