Пређи на главни садржај

0004 — CBotBuilder се покреће на веб домаћину у песничком контејнеру

Контекст​

Грађење cBot-а корисника значи покретање неповерљивог MSBuild-а — произвољног кода у време грађења (циљи, генератори извора, скрипте за復査). Мора имати Docker сокет да спини SDK контејнер. Чворови покрећу трговачке контејнере и не би требало да имају привилегије за грађење.

Одлука​

CBotBuilder се покреће на веб домаћину (који већ има Docker сокет), унутар прилично SDK контејнера са:

  • монтираним /work директоријумом (само градни улази/излази, не цео хост филесистем);
  • дељеном app-nuget-cache јачином за перформансе復査;
  • без приступа мрежи домаћина изван оног што復査 треба.

Тако неповерљив MSBuild не може достићи филесистем или мрежу домаћина. Покрени/тестирани контејнери, напротив, се покрећу на чворовима које бира NodeScheduler.

Последице​

  • Привилегија грађења (Docker сокет) је ограничена на веб домаћин; чворови само покрећу дозвољене трговачке слике.
  • Свака градња је изолована у одбацивом контејнеру — малициозна градња не може да остане или побегне.
  • Веб домаћин мора имати доступан Docker сокет; ово је захтев за развој, не опционално.