Liu Jiang
a2bfeed2ca
shim: introduce Shim::wait()
...
Introduce Shim::wait() to wait for a shim instance to exit, so the
`Shim` implementor could customize the way to manage exit event.
Signed-off-by: Liu Jiang <gerry@linux.alibaba.com>
2021-12-13 10:08:20 +08:00
Liu Jiang
fdd50661f3
shim: add interface Shim::get_task_service()
...
Currently Containerd shimv2 runtime only provides task service, but it
may provide more service in future. So add interface
Shim::get_task_service() to get the task service object instead of
"Shim: Task".
Signed-off-by: Liu Jiang <gerry@linux.alibaba.com>
2021-12-13 10:08:19 +08:00
Liu Jiang
7a8fa4413e
shim: implement ExitSignal with Condvar
...
Implement ExitSignal with Condvar instead of busy looping.
Signed-off-by: Liu Jiang <gerry@linux.alibaba.com>
2021-12-13 10:08:15 +08:00
Liu Jiang
04af4df73a
shim: pass environment variables to spawned process
...
Enhanace spawn() to pass envrionment variables to child process.
Signed-off-by: Liu Jiang <gerry@linux.alibaba.com>
2021-12-13 10:08:15 +08:00
Liu Jiang
1b106ee38d
shim: add unit test for start_listener()
...
Add unit test for start_listener().
Signed-off-by: Liu Jiang <gerry@linux.alibaba.com>
2021-12-13 10:08:14 +08:00
Liu Jiang
0c83d7c04c
shim: be more careful when removing stale socket files
...
The function start_listener() tries to remove stale socket files when
syscall::bind() retune EADDRINUSE, let's be more careful to only remove
existing sockets instead of other types of files.
Signed-off-by: Liu Jiang <gerry@linux.alibaba.com>
2021-12-13 10:08:13 +08:00
Liu Jiang
63f62b9c9c
shim: avoid raw fd leak in spawn()
...
The RawFd for the listener socket will get leaked in error handling
path in start_listener(). Use UnixListener to replace RawFd for clear
ownership and also simplify the code a bit.
Signed-off-by: Liu Jiang <gerry@linux.alibaba.com>
2021-12-13 10:08:12 +08:00
Maksym Pavlenko
87f97f462c
Add copyright headers
...
Signed-off-by: Maksym Pavlenko <pavlenko.maksym@gmail.com>
2021-12-10 15:14:48 -08:00
Maksym Pavlenko
e5fd8c76ae
Update docs
...
Signed-off-by: Maksym Pavlenko <pavlenko.maksym@gmail.com>
2021-12-10 15:06:55 -08:00
Maksym Pavlenko
11ad93017f
Allow custom error types in Shim trait
...
Signed-off-by: Maksym Pavlenko <pavlenko.maksym@gmail.com>
2021-11-19 16:11:49 -08:00
Maksym Pavlenko
7b0f47b1ba
Pass socket fd to child process
...
Signed-off-by: Maksym Pavlenko <pavlenko.maksym@gmail.com>
2021-11-17 12:14:57 -08:00
Maksym Pavlenko
70ae5e537a
Rename shim protos crate
...
Signed-off-by: Maksym Pavlenko <pavlenko.maksym@gmail.com>
2021-11-16 11:07:03 -08:00
Maksym Pavlenko
9629eac9ec
Add shim exit signal
...
Signed-off-by: Maksym Pavlenko <pavlenko.maksym@gmail.com>
2021-07-28 11:43:22 -07:00
Maksym Pavlenko
d3852a5fcd
Implement remote publisher
...
Signed-off-by: Maksym Pavlenko <pavlenko.maksym@gmail.com>
2021-07-26 16:59:21 -07:00
Maksym Pavlenko
3f41003493
Update shim README
...
Signed-off-by: Maksym Pavlenko <pavlenko.maksym@gmail.com>
2021-07-24 11:04:19 -07:00
Maksym Pavlenko
81a57058b6
Fix shim example
...
Signed-off-by: Maksym Pavlenko <pavlenko.maksym@gmail.com>
2021-07-22 12:39:08 -07:00
Maksym Pavlenko
bcdb1d950f
Rename crates
...
Signed-off-by: Maksym Pavlenko <pavlenko.maksym@gmail.com>
2021-07-22 12:29:58 -07:00
Maksym Pavlenko
26bfc6cbe7
Add default shim start implementation
...
Signed-off-by: Maksym Pavlenko <pavlenko.maksym@gmail.com>
2021-06-08 17:50:20 -07:00
Maksym Pavlenko
7624bc7608
Add reaper
...
Signed-off-by: Maksym Pavlenko <pavlenko.maksym@gmail.com>
2021-06-01 17:14:22 -07:00
Maksym Pavlenko
45c72c34a7
Implement FIFO logger
...
Signed-off-by: Maksym Pavlenko <pavlenko.maksym@gmail.com>
2021-06-01 16:59:45 -07:00
Maksym Pavlenko
f48d018c32
Add example skeleton
...
Signed-off-by: Maksym Pavlenko <pavlenko.maksym@gmail.com>
2021-06-01 16:46:52 -07:00
Maksym Pavlenko
e4b51a3b86
Initial shim bootstrapper implementation
...
Signed-off-by: Maksym Pavlenko <pavlenko.maksym@gmail.com>
2021-06-01 16:40:17 -07:00
Maksym Pavlenko
edf0975ba6
Add shim entry point
...
Signed-off-by: Maksym Pavlenko <pavlenko.maksym@gmail.com>
2021-06-01 16:02:19 -07:00
Maksym Pavlenko
544b5d26f5
Add empty shim crate
...
Signed-off-by: Maksym Pavlenko <pavlenko.maksym@gmail.com>
2021-06-01 12:07:51 -07:00