main
SatuSehat K3s - Kustomize + Env Tanpa Secret
Template ini dibuat dari paket service-satusehat-main.zip dan worker-satusehat-main.zip, dengan pola yang mengikuti referensi QRIS dan SiLARAS:
base/berisi manifest generik.overlays/prod/berisi konfigurasi production.- Environment dimasukkan melalui
configMapGeneratordari file.env.*.prod. - Tidak ada resource Kubernetes
Secret. - Service API dibuka lewat Traefik
IngressRoute. - Worker dibuat internal-only, tanpa ingress.
- Redis disediakan di dalam namespace yang sama karena aplikasi membaca
CACHE_REDIS_HOSTdanREDIS_PASSWORD.
Struktur
satusehat-k3s/
├── base/
│ ├── satusehat-service-deployment.yaml
│ ├── satusehat-service-service.yaml
│ ├── satusehat-service-resources.yaml
│ ├── satusehat-service-probes.yaml
│ ├── satusehat-worker-deployment.yaml
│ ├── satusehat-worker-service.yaml
│ ├── satusehat-worker-resources.yaml
│ ├── satusehat-worker-probes.yaml
│ ├── redis-deployment.yaml
│ ├── redis-service.yaml
│ ├── redis-pvc.yaml
│ └── kustomization.yaml
├── overlays/
│ └── prod/
│ ├── .env.service.prod
│ ├── .env.worker.prod
│ ├── .env.redis.prod
│ ├── ingress-route.yaml
│ ├── certificate.yaml
│ ├── hpa-service.yaml
│ ├── hpa-worker.yaml
│ └── kustomization.yaml
├── fleet.yaml
└── kustomization.yaml
Deploy
kubectl apply -k overlays/prod
Atau dari root repo:
kubectl apply -k .
Cek hasil deploy
kubectl get pods -n rssa-apps-prod -l app.kubernetes.io/part-of=satusehat
kubectl get svc -n rssa-apps-prod | grep satusehat
kubectl logs -n rssa-apps-prod deploy/satusehat-service-prod -f
kubectl logs -n rssa-apps-prod deploy/satusehat-worker-prod -f
Endpoint internal
Service API dari worker diarahkan ke:
http://satusehat-service-prod/api/v1/
Nilai ini ada di:
overlays/prod/.env.worker.prod
Catatan penting
- File
.env.service.proddan.env.worker.prodsudah dibersihkan agar valid untukconfigMapGenerator. Baris komentar gaya//dan baris bebas sepertiuntuk vclaimtidak boleh dipakai di env Kustomize. - Worker Dockerfile yang baru mengekspos
8080. Karena itu manifest worker memakaiSERVER_REST_PORT=8080dan probe ke port8080. - Service utama tetap memakai port REST
8196dan gRPC8197, mengikuti.env.prodservice. - Jika registry
git.rssa.top/stim/...memakai private auth, karena template ini sengaja tanpa Secret, pastikan node K3s sudah bisa pull image dari registry tersebut melalui konfigurasi containerd/node-level login. - Jika domain bukan
satusehat-service.rssa.id, ubahingress-route.yaml,certificate.yaml, danSWAGGER_HOST. - Jika storage class
nas-rx300tidak tersedia, ubahbase/redis-pvc.yamlatau ganti volume Redis menjadiemptyDir.
Languages
Markdown
100%