Commit Graph

146 Commits

Author SHA1 Message Date
criyle
a10fd6892e main: log error when listening failed 2022-10-20 20:35:47 -07:00
criyle
8bd65f1e9c model: fix file leak for gRPC and websocket handler
fix #40
2022-10-18 20:55:16 -07:00
criyle
5b5924608c linuxcontainer: build on go1.19
log info for ws error

fix #38
fix #39
2022-10-01 19:08:08 -07:00
criyle
1cd461b1c5 linuxc: look up executable inside container using PATH environment variable 2022-08-13 01:24:18 -07:00
criyle
b248dd1747 grpc: wrap error with status code
resolves #37
2022-07-30 00:56:59 -07:00
criyle
ce07b7079a build: use goreleaser 2022-05-23 14:47:50 -07:00
criyle
aeafe49334 mac: ignore memory limit 2022-04-03 03:09:20 -07:00
criyle
105980bb73 *: bump to go1.18 2022-03-20 23:40:21 -07:00
criyle
a461f88d64 main: move metrics / debug to another endpoint 2022-02-21 23:28:55 -08:00
criyle
d00db1c7f7 metrics: adjust some metrics names 2022-02-20 01:34:43 -08:00
criyle
00fba25769 version: fix git action and docker version generation 2022-02-12 09:29:55 +00:00
criyle
414efbf597 envexec: performance improvements for content copyIn 2022-02-12 09:05:10 +00:00
criyle
5fd53e07ca filestore: use math/rand & reduce fileId to 40bit 2022-01-08 19:25:23 -08:00
criyle
dbcfc79614 worker: add ability to cancel task when queue is full 2021-11-19 14:34:00 -08:00
criyle
1c3681ba39 ws: add ability to cancel running task
- client is able to cancel task via close connection and cancel request

close #24
2021-11-14 19:17:07 -08:00
criyle
049d26a179 linuxc: limit open file count & add stdio devices 2021-11-12 01:35:47 -08:00
criyle
d8581a0c0c linuxcontainer: allow restrict usage of CPU and CPU set
- change cpuRate to int and 1000 means 1 CPU 100%
2021-10-30 23:25:30 -07:00
criyle
7f0b066258 linuxcontainer: do not change uid/gid by default 2021-09-27 23:57:46 -07:00
criyle
34e87660d8 fix build 2021-09-20 19:09:04 -07:00
criyle
1326a38b25 model: fix gRPC segv caused by mmap before encoding
- fix mount proc argument
2021-09-20 19:00:03 -07:00
criyle
915cbaccbb envexec: add detailed file error message 2021-09-20 00:43:05 -07:00
criyle
b54becc32d envexec: collect output through a file in container
- add `pipe` boolean to collector to indicate whether to use pipe or file as collector

close #21
2021-09-19 22:05:24 -07:00
criyle
78bb4d85de filestore: use /dev/shm instead of memory as file storage
- increase default tmpfs size to 128M
- add /config to get file store path
- remove memory only file store

close #20
2021-09-19 15:47:24 -07:00
criyle
55ffb52086 main: reduce memory allocation & force GC regularly 2021-06-24 20:27:43 -07:00
criyle
e99bcce3db version: add pipeProxy feature flag & udpate dependencies 2021-06-12 17:45:01 -07:00
criyle
0d09e88184 envexec: Add pipe proxy support 2021-06-12 17:33:53 -07:00
criyle
6195204dcc envexec: add optional flag for copyOut files
fix #14
2021-06-05 20:24:08 -07:00
criyle
64ba821390 metrics: add metrics for environment counts 2021-05-01 21:01:47 -07:00
leafor
1bc2df59ea feat(*): converting form string to model.Status 2021-04-25 19:28:46 +08:00
criyle
6a9a2c6a3b metrics: fix size map 2021-04-17 18:17:41 -07:00
criyle
ba8d3924d8 feat: add timeout support to filestore
resolve #11
2021-04-17 18:13:18 -07:00
criyle
9dec36d395 filestore: refactor uniqure id generator 2021-03-19 00:28:11 -07:00
criyle
2acca7d71c envexec: refactor to not use empty interface 2021-03-13 16:08:51 -08:00
criyle
4267ddee3c feat(*): deprecate ioutil & fix kernel version check 2021-02-24 00:16:35 -08:00
criyle
8d3bf1bf62 feat(sandbox): add strict memory limit
- remove rlimit data when cgroup enabled
- add `strictMemoryLimit` to request parameter to re-enable rlimit data limit
2021-02-06 12:46:39 -08:00
criyle
0db852c242 feat(worker): add default file copy out max 2021-01-09 00:22:51 -08:00
criyle
6055f165b5 Update naming: realCpuLimit -> clockLimit 2020-12-30 13:01:03 -08:00
criyle
d66889f475 Update metrics & fix grpc error 2020-12-28 16:48:40 -08:00
criyle
2df163126c Refactor executor server to multiple modules 2020-12-27 16:45:48 -08:00
criyle
8e096ed14b Update gRPC package versions 2020-12-26 19:43:56 -08:00
criyle
f5dff9ca57 Refactor package structure & debug outputs 2020-12-25 17:25:09 -08:00
criyle
04cfb36722 Add support to load a seccomp filter 2020-12-13 21:08:52 -08:00
criyle
4bf6f869f5 Add ability to limit cpu usage rate by CFS cgroup 2020-12-12 23:44:01 -08:00
criyle
ed5b820266 Add config to specifies credential start 2020-12-12 21:46:09 -08:00
criyle
e1f8c954e0 Add configuration to OutputLimit & CpuSet 2020-12-06 18:45:56 -08:00
criyle
5c61c1fca6 Add support to config extraMemoryLimit 2020-12-05 15:06:34 -08:00
criyle
a807a66176 Refactor config parsing 2020-11-29 09:00:12 -08:00
criyle
45fcf55ef9 Add Prefork & no 500 when copyin 2020-11-08 22:34:58 +00:00
criyle
d156258b6f FIX TYPO: parallism -> parallelism 2020-09-06 00:33:16 -07:00
criyle
716c2cdc4e add /version api 2020-07-23 22:43:36 -07:00
criyle
7535e5862f Add srcprefix command arg to restrice src copyin 2020-07-04 21:08:23 -07:00
criyle
9448892f61 Adapted to zap log 2020-06-16 21:04:23 -04:00
criyle
f4496d38f6 Add tty io 2020-06-16 16:44:12 -04:00
criyle
7c83b59b43 Add token-based authentication 2020-06-11 18:33:44 -04:00
criyle
140aeffcd9 Add environment variable controls 2020-06-11 15:16:46 -04:00
criyle
238ba879e1 Add stack limit settings to request 2020-06-08 15:36:11 -04:00
criyle
d06968e152 fix windows build 2020-06-05 00:58:32 -04:00
criyle
a439711540 Add runTime as wall clock time 2020-06-05 00:36:48 -04:00
criyle
15a9da6878 fix build 2020-06-04 00:19:06 -04:00
criyle
f61a319cd6 Handle cancellation 2020-06-04 00:11:48 -04:00
criyle
891ed8165b Add stdin / stdout streaming support 2020-06-02 19:43:18 -04:00
criyle
4168daa087 Add promethus metrics 2020-05-22 20:08:39 -04:00
criyle
acbfecb723 Add gRPC support 2020-05-21 18:49:31 -04:00
criyle
7a708c12c4 Prepare for protobuf & gRPC support 2020-05-20 19:49:57 -04:00
criyle
411d74a087 split ffi from executor server 2020-05-19 16:14:03 -04:00
criyle
84dc8cfe29 Re-organize files 2020-05-18 20:14:45 -04:00
criyle
5a9c31f119 Add file operations to ffi 2020-05-16 00:11:18 -04:00
criyle
9e127f669f Add MacOS support 2020-05-15 20:27:15 -04:00
criyle
5e5112a8ab Fix ffi & async call 2020-05-10 19:26:43 -04:00
criyle
4646ce7fdc Add windows support 2020-04-26 03:31:54 -04:00
criyle
f2f60ceb7c prepare windows platform support 2020-04-25 14:21:49 -04:00
criyle
35b0d100ab prepare for multi-platform support 2020-04-24 22:34:50 -04:00
criyle
a2a6c0f97b simplifies environment interface 2020-04-16 20:15:59 -04:00
criyle
e2e9c01189 Fix cinit build 2020-04-01 16:17:00 -04:00
criyle
e02735fa05 Add c interface to executor server 2020-04-01 01:03:16 -04:00
criyle
71d5dbe7bc Add WebSocket support 2020-03-27 21:29:37 -04:00
criyle
d7eba97492 Fix typos 2020-03-27 18:59:47 -04:00
criyle
c42b7c1cad Add configuration for container mount points 2020-03-27 18:14:57 -04:00
criyle
c75a6119aa Breaking Change: move syzoj client out 2020-03-22 18:55:31 -04:00
criyle
7f14db9a1e Fix incorrect copyOut when copyOutDir omitted 2020-03-21 01:33:52 -04:00
criyle
91c8c321c4 add ability to not unshare net 2020-03-20 19:05:10 -04:00
criyle
d114b6996a add silent mode 2020-03-18 01:12:36 -04:00
criyle
300b8a0da4 Fix ghc compile 2020-03-12 00:45:41 -04:00
criyle
a36ff086b2 Add ExitStatus 2020-03-08 01:49:11 -05:00
criyle
bb9c448601 Add copyOutDir to Cmd 2020-03-07 05:45:37 -05:00
criyle
51ad40a869 CPU limit s -> ns 2020-03-04 23:27:55 -05:00
criyle
8e8cc17123 Implements multiple command & update example 2020-03-04 17:27:27 -05:00
criyle
fa072e373f add loacl storeage driver for executor server 2020-03-04 16:41:52 -05:00
criyle
7951f37bd4 Implements the draft executor server
- Add new command executorserver as the draft executor server
- Move shared pool logic into /pkg/pool
2020-03-04 02:12:26 -05:00
criyle
1f86f25995 Refactor & Documentation
- pkg/runner -> pkg/envexec
- add idea about executor server
2020-03-03 02:32:59 -05:00
criyle
fd76377c51 bump sandbox version 2020-03-02 03:32:42 -05:00
criyle
5f7ec46cf5 Add cgroup pool & reduce memfile creation 2020-02-29 03:37:47 -05:00
criyle
19ab1bc1a6 only diff if run successed 2020-02-20 04:58:30 -05:00
criyle
42ab854d7c update with go-sandbox 2020-02-19 22:11:39 -05:00
criyle
629caca183 update documentations 2019-12-30 19:32:17 +08:00
criyle
907b7ea125 syzoj support demo.. 2019-12-25 21:54:55 +08:00