EMJIJAYA / INFRASTRUCTURE
VPS Alert Bridge
Terima alert dari server lain tanpa memasang atau login WhatsApp di server tersebut. Hermes di server utama meneruskan alert ke WhatsApp Channel EMJIJAYA.
HTTP webhook · direct delivery · tanpa LLMAlur pengiriman
Server lainwatchdog / monitoring
→
HTTP POSTemjijaya.tech/webhooks/vps-alert
→
Hermesvalidasi HMAC-SHA256
→
WhatsApp ChannelEMJIJAYA
Endpoint
POST http://emjijaya.tech/webhooks/vps-alert
Content-Type: application/json
X-Hub-Signature-256: sha256=<HMAC>
X-GitHub-Event: vps.alertRequest memakai event vps.alert. Endpoint menerima JSON maksimal seperlunya dan hanya meneruskan pesan setelah signature valid.
Format payload
{
"event_type": "vps.alert",
"host": "server-2",
"severity": "critical",
"message": "Disk usage 92%",
"metric": "disk",
"value": 92
}Contoh pengiriman dari server
SECRET='isi secret webhook di server sumber'
BODY='{"event_type":"vps.alert","host":"server-2","severity":"critical","message":"Disk usage 92%","metric":"disk","value":92}'
SIGNATURE=$(printf '%s' "$BODY" | openssl dgst -sha256 -hmac "$SECRET" | awk '{print "sha256="$2}')
curl -X POST http://emjijaya.tech/webhooks/vps-alert \
-H 'Content-Type: application/json' \
-H "X-Hub-Signature-256: $SIGNATURE" \
-H 'X-GitHub-Event: vps.alert' \
--data "$BODY"Field wajib
event_type: harusvps.alerthost: nama server sumberseverity: info, warning, atau criticalmessage: isi alert
Respons
200 OK
{"ok":true}Signature salah menghasilkan 401. Kegagalan pengiriman ke WhatsApp menghasilkan 502, sehingga watchdog dapat melakukan retry.
Catatan keamanan: HTTP tidak mengenkripsi payload. Jangan kirim password, API key, atau data sensitif. Secret webhook harus disimpan di environment atau file permission
600. HTTPS dapat diaktifkan kemudian tanpa mengubah format request.