Altyapı
Platform, Kubernetes üzerinde konteyner tabanlı olarak çalışır. Her bileşen bağımsız olarak ölçeklenebilir ve yönetilebilir.
Altyapı Mimarisi
Üç katmanlı mimari: Yük Dengeleme, Uygulama ve Veri katmanları. Yük dengeleme Ingress Controller üzerinden yapılır.
Konteyner Yapısı
| Konteyner | Temel İmaj | Port |
|---|---|---|
| digital-id | node:18-alpine | 3000 |
| Issuer-agent | bcgovimages/aries-cloudagent:py3.9-1.1.1 | 8020/8021 |
| Holder-agent | bcgovimages/aries-cloudagent:py3.9-1.1.1 | 8030/8031 |
| mediator | bcgovimages/aries-cloudagent:py3.9-1.1.1 | 3000/3001 |
| tails-server | bcgovimages/tails-server | 6543 |
| postgresql | postgres:14-alpine | 5432 |
Kubernetes Kaynakları
| Kaynak | Açıklama | Adet |
|---|---|---|
| Namespace | identity-platform izolasyonu | 1 |
| Deployments | API, Issuer, Holder, Mediator | 4 |
| Services | ClusterIP + LoadBalancer | 5 |
| Ingress | Dış trafik yönlendirme | 1 |
| ConfigMaps | Agent yapılandırması | 4 |
| Secrets | Cüzdan anahtarları, DB şifreleri | 3 |
| PVC | PostgreSQL, Cüzdan depolama | 2 |
Örnek Dağıtım Yapısı
apiVersion: apps/v1
kind: Deployment
metadata:
name: digital-id-api
namespace: identity-platform
spec:
replicas: 2
selector:
matchLabels:
app: digital-id-api
Kaynak Gereksinimleri
| Servis | CPU İsteği | Bellek İsteği | Replikalar |
|---|---|---|---|
| API | 250m | 512Mi | 2-10 |
| Issuer Agent | 500m | 1Gi | 2-5 |
| Holder Agent | 500m | 1Gi | 2-5 |
| PostgreSQL | 1000m | 2Gi | 1 (HA: 3) |
Hızlı Başlangıç
Yerel geliştirme için Docker Compose kullanabilirsiniz:
docker-compose.yml
services:
api:
image: digital-id:latest
ports:
- "3000:3000"
environment:
- DATABASE_URL=postgresql://user:pass@db:5432/identity
Issuer-agent:
image: bcgovimages/aries-cloudagent:py3.9-1.1.1
ports:
- "8020:8020"
- "8021:8021"
Kaynak Optimizasyonu
Başlangıç için minimum gereksinimleri kullanın, HPA yük altında otomatik ölçekleme yapacaktır. Kaynakları gereksiz yere fazla ayırmayın.