2026-06-24 09:44:24 +07:00
2026-06-24 09:44:24 +07:00
2026-06-24 09:44:24 +07:00
2026-06-24 09:44:24 +07:00
2026-06-24 09:44:24 +07:00
2026-06-24 09:44:24 +07:00
2026-06-24 09:44:24 +07:00

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

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

  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.
S
Description
No description provided
Readme
39 KiB
Languages
Markdown 100%