Home/Docs/OTA Update & Canary Rollout

OTA Update & Canary Rollout

Update agent tanpa intervensi manual, staged rollout.

Alur OTA Update

| Step | Aksi | Detail | |------|------|--------| | 1 | Agent Poll Version | GET /api/agent/version | | 2 | Bandingkan SHA256 | Current vs available | | 3 | Download Binary | /dl/agent-linux-amd64 | | 4 | Verify ELF + SHA256 | Reject jika tidak match | | 5 | Rename & unix.Exec | Atomic swap, same PID |

Update menggunakan unix.Exec() — tidak ada proses baru dibuat, PID tetap sama, systemd tidak perlu restart. Agent berjalan dengan binary baru secara transparan.

Canary Rollout System

Test versi baru di sebagian server sebelum rollout penuh:

  1. Upload rawonguard-agent-linux-amd64.canary
  2. Set server ke channel canary di panel
  3. Agent tersebut auto-update ke canary binary
  4. Monitor — jika aman, klik Promote di Settings
  5. Semua canary server reset ke stable channel

ELF Arch Validation

Sebelum binary baru dieksekusi, verifyELFArch() membaca bytes 18-19 dari ELF header (e_machine field) dan bandingkan dengan runtime.GOARCH dari agent yang sedang jalan.

Mencegah:

  • Download binary amd64 ke server arm64
  • Binary rusak/terkorupsi