🛠️ OTA Console

build → upload → approve → campaign WebCrypto: ? type: FOTA

1 · Kết nối

Local dùng password grant thẳng tới Keycloak. Secret in ra ở cuối ./scripts/setup-keycloak.sh. Nếu quên: ./scripts/get-token.sh admin password123 rồi dán token xuống ô dưới.
Endpoint KHÔNG có dấu / cuối. Token chỉ nằm trong bộ nhớ tab.

2 · Tạo firmware package

FOTA — binary .bin flash cho ECU. Entry trong zip: firmware.bin. ecuId = định danh ECU, version = version firmware.
Tham số nâng cao

📋 Firmware trên server

chưa tải.

3 · Tạo campaign

Log

⚠️ CORS: core-ota mặc định ota.cors.allowed-origin-patterns=* nên local chạy được. Keycloak client ccs-api cũng đang để webOrigins: ["*"].