Sparround

İzolyasiya: konteyner və uzaq backend-lər

Təsdiq axını səhvləri tutur, izolyasiya isə səhvin nəticəsini məhdudlaşdırır. İkisi bir-birini əvəz etmir. Backend seçimi bir konfiqurasiya sətridir, amma nəticə tamamilə fərqlidir:

  • `local` — izolyasiya yoxdur; təhlükəli əmr yoxlaması işləyir
  • `ssh` — ayrı maşın; təhlükəli əmr yoxlaması işləyir; agent öz kodunu dəyişə bilmir
  • `docker` — konteyner sərhəddir; təhlükəli əmr yoxlaması atlanır
  • `singularity` — HPC mühitləri üçün konteyner
  • `modal`, `daytona`, `vercel_sandbox` — bulud sandbox-ları

Docker backend-i hazır sərtləşdirmə ilə gəlir — sənədlərə görə hər konteyner bu bayraqlarla işə düşür: bütün Linux qabiliyyətləri atılır (--cap-drop ALL), yalnız zəruriləri geri əlavə olunur, imtiyaz artımı bloklanır (--security-opt no-new-privileges), proses sayı limitlənir (--pids-limit), /tmp/var/tmp ölçü limitli tmpfs kimi bağlanır.

Fayl sistemi iki rejimdə ola bilər: davamlı (host-dakı sandbox qovluğuna bağlanır) və efemer (tmpfs — təmizləndikdə itir).

BackendİzolyasiyaTəhlükəli əmr yoxlamasıUyğundur
`local`YoxdurBəliEtibarlı developer maşını
`ssh`Uzaq maşınBəliAyrıca işçi server
`docker`KonteynerXeyr (sərhəd konteynerdir)İstehsalda gateway
`modal` / `daytona` / `vercel_sandbox`Bulud sandbox-uXeyrMiqyaslanan və ya birdəfəlik mühitlər

Fayl yazma qorumaları ayrıca təbəqədir: ~/.ssh/, ~/.aws/, ~/.kube/, /etc/sudoers, ~/.netrc, Hermes-in öz kimlik faylları (auth.json, .env, pairing/) və istənilən yerdəki .env, .env.local, .env.production faylları yazma üçün bloklanır.

Amma sənədlərin öz xəbərdarlığını qeyd etmək lazımdır: bu qorumalar write_filepatch alətlərinə aiddir. `terminal` aləti eyni OS istifadəçisi ilə işləyir və shell vasitəsilə həmin yollara yaza bilər. Yəni əsl sərhəd konteyner və ya ayrı maşındır, fayl siyahısı deyil.

Praktika. Docker backend-ini qur və konteynerin daxilindən host fayl sistemini oxumağa cəhd et. Sonra container_persistent: false ilə eyni sınağı təkrarla və nəticələri müqayisə et. Hazır sayılır: agentin yazdığı faylın hansı halda host-da qaldığını, hansı halda itdiyini göstərə bilirsən.

📚 Mənbələr və sənədlər