up to git
This commit is contained in:
No files matched your search
@@ -0,0 +1,86 @@
|
||||
# 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 `configMapGenerator` dari 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_HOST` dan `REDIS_PASSWORD`.
|
||||
|
||||
## Struktur
|
||||
|
||||
```text
|
||||
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
|
||||
|
||||
```bash
|
||||
kubectl apply -k overlays/prod
|
||||
```
|
||||
|
||||
Atau dari root repo:
|
||||
|
||||
```bash
|
||||
kubectl apply -k .
|
||||
```
|
||||
|
||||
## Cek hasil deploy
|
||||
|
||||
```bash
|
||||
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:
|
||||
|
||||
```text
|
||||
http://satusehat-service-prod/api/v1/
|
||||
```
|
||||
|
||||
Nilai ini ada di:
|
||||
|
||||
```text
|
||||
overlays/prod/.env.worker.prod
|
||||
```
|
||||
|
||||
## Catatan penting
|
||||
|
||||
1. File `.env.service.prod` dan `.env.worker.prod` sudah dibersihkan agar valid untuk `configMapGenerator`. Baris komentar gaya `//` dan baris bebas seperti `untuk vclaim` tidak boleh dipakai di env Kustomize.
|
||||
2. Worker Dockerfile yang baru mengekspos `8080`. Karena itu manifest worker memakai `SERVER_REST_PORT=8080` dan probe ke port `8080`.
|
||||
3. Service utama tetap memakai port REST `8196` dan gRPC `8197`, mengikuti `.env.prod` service.
|
||||
4. 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.
|
||||
5. Jika domain bukan `satusehat-service.rssa.id`, ubah `ingress-route.yaml`, `certificate.yaml`, dan `SWAGGER_HOST`.
|
||||
6. Jika storage class `nas-rx300` tidak tersedia, ubah `base/redis-pvc.yaml` atau ganti volume Redis menjadi `emptyDir`.
|
||||
Reference in New Issue
Block a user