Some checks failed
CD - Build & Deploy / build-and-push (push) Has been cancelled
CD - Build & Deploy / package-helm (push) Has been cancelled
CD - Build & Deploy / deploy-staging (push) Has been cancelled
CD - Build & Deploy / deploy-production (push) Has been cancelled
CD - Build & Deploy / release (push) Has been cancelled
CI / test (3.11) (push) Has been cancelled
CI / test (3.12) (push) Has been cancelled
CI / security (push) Has been cancelled
- Implemented Clean Architecture with Domain, Application, Infrastructure, Presentation layers - Added comprehensive project structure following SOLID principles - Created Kubernetes deployment with Helm charts (HPA, PDB, NetworkPolicy) - Configured ArgoCD for automated deployment (production + staging) - Implemented CI/CD pipeline with GitHub Actions - Added comprehensive documentation (handbook, architecture, coding standards) - Configured PostgreSQL, Redis, Celery for backend services - Created modern landing page with Persian fonts (Vazirmatn) - Added Docker multi-stage build for production - Configured development tools (pytest, black, flake8, mypy, isort) - Added pre-commit hooks for code quality - Implemented Makefile for common operations
3.4 KiB
3.4 KiB
Peikarband Helm Chart
Official Helm chart برای deploy کردن Peikarband Cloud Platform.
نصب
اضافه کردن Repository
helm repo add peikarband https://peikarband.github.io/charts
helm repo update
نصب Chart
helm install peikarband peikarband/peikarband \
--namespace production \
--create-namespace \
--set image.tag=0.1.0
پیکربندی
مهمترین Values
| Key | Type | Default | Description |
|---|---|---|---|
replicaCount |
int | 2 |
تعداد replicas |
image.repository |
string | registry.example.com/peikarband/landing |
Docker image repository |
image.tag |
string | latest |
Image tag |
image.pullPolicy |
string | IfNotPresent |
Image pull policy |
resources.limits.cpu |
string | 1000m |
CPU limit |
resources.limits.memory |
string | 1Gi |
Memory limit |
autoscaling.enabled |
bool | true |
فعال کردن HPA |
autoscaling.minReplicas |
int | 2 |
حداقل replicas |
autoscaling.maxReplicas |
int | 10 |
حداکثر replicas |
ingress.enabled |
bool | true |
فعال کردن Ingress |
ingress.hosts[0].host |
string | peikarband.ir |
Domain |
مثالهای استفاده
نصب با مقادیر سفارشی
helm install peikarband peikarband/peikarband \
--set image.tag=0.2.0 \
--set replicaCount=3 \
--set resources.limits.cpu=2000m \
--set ingress.hosts[0].host=example.com
استفاده از values file
helm install peikarband peikarband/peikarband \
-f my-values.yaml
Upgrade
helm upgrade peikarband peikarband/peikarband \
--set image.tag=0.3.0 \
--reuse-values
Requirements
- Kubernetes 1.24+
- Helm 3.10+
- PostgreSQL (external یا in-cluster)
- Redis (external یا in-cluster)
Values فایلها
این chart شامل چند values file است:
values.yaml- مقادیر پیشفرضvalues-production.yaml- تنظیمات production
Components
این Chart شامل موارد زیر است:
- Deployment: اجرای application
- Service: ClusterIP service برای internal access
- Ingress: External access با TLS
- ConfigMap: تنظیمات application
- ServiceAccount: Kubernetes service account
- HPA: Horizontal Pod Autoscaler
- PDB: Pod Disruption Budget
- NetworkPolicy: محدودیتهای network
پیشنیازها
ساخت Secrets
kubectl create secret generic peikarband-secrets \
--from-literal=db-username=USERNAME \
--from-literal=db-password=PASSWORD \
--from-literal=redis-password=REDIS_PASS \
-n production
cert-manager (برای TLS)
kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.13.0/cert-manager.yaml
Troubleshooting
مشاهده وضعیت
helm status peikarband -n production
kubectl get all -n production
kubectl get pods -l app.kubernetes.io/name=peikarband -n production
مشاهده Logs
kubectl logs -f deployment/peikarband -n production
Rollback
helm rollback peikarband -n production
توسعه
Lint
helm lint .
Template
helm template peikarband . --debug
Package
helm package .
لایسنس
MIT
پشتیبانی
- Email: support@peikarband.ir
- Website: https://peikarband.ir
- Docs: https://docs.peikarband.ir