Commit Graph

269 Commits

Author SHA1 Message Date
Bryant Biggs 5e1b7760a1 chore: Standardize Cargo.toml files, enable more workspace dependencies 2023-09-21 13:04:22 -04:00
Bryant Biggs d3088c42ee fix: Use `rfind` to slice string up to last `/` 2023-09-21 16:27:28 +00:00
Bryant Biggs 3489707748 feat: Replace use of regex crate 2023-09-21 16:27:28 +00:00
Bryant Biggs 2c98dae3f1 refactor: Simplify longest common prefix logic 2023-09-21 16:27:28 +00:00
Bryant Biggs 0a5bf7d816 deps: Replace `regex` with the lighter weight `regex-lite` 2023-09-21 16:27:28 +00:00
Bryant Biggs 125ad82a43 fix: Remove runtime protos and add streaming and transfer services into build.rs 2023-09-18 21:31:53 +00:00
Bryant Biggs 273b527bd2 fix: Replace tabs with spaces to pass CI 2023-09-18 21:31:53 +00:00
Bryant Biggs 3143c26bd2 feat: Update proto files to latest and remove gogo use 2023-09-18 21:31:53 +00:00
Maksym Pavlenko c3999253a1 Fix CI
Signed-off-by: Maksym Pavlenko <pavlenko.maksym@gmail.com>
2023-09-05 10:39:25 -07:00
James Sturtevant fd1b235913 Bump the version for shim protos and containerd-shim
Signed-off-by: James Sturtevant <jstur@microsoft.com>
2023-08-24 16:40:16 +00:00
jiaxiao zhou deea90ff83
feat(runc-shim): add a version flag
Signed-off-by: jiaxiao zhou <jiazho@microsoft.com>
2023-08-21 21:45:01 +00:00
Maksym Pavlenko 8590ef8d12
Merge pull request #177 from jsturtevant/fix-update-cgroup-taskupdate
Handle cgroup v1 or v2 to enable resource updates
2023-08-21 09:52:03 -07:00
James Sturtevant 3e7647d620 Handle cgroup v1 or v2 to enable resource updates
Signed-off-by: James Sturtevant <jstur@microsoft.com>
2023-08-21 16:19:34 +00:00
James Sturtevant 8fde77f1c8 Add Windows statistics protobuf pacakge
Signed-off-by: James Sturtevant <jstur@microsoft.com>
2023-08-21 16:18:44 +00:00
Maksym Pavlenko 0659a93663
Bump snapshots to 0.3.0
Signed-off-by: Maksym Pavlenko <pavlenko.maksym@gmail.com>
2023-08-10 15:09:05 -07:00
Maksym Pavlenko 13ae16577a
Bump client to 0.4.0
Signed-off-by: Maksym Pavlenko <pavlenko.maksym@gmail.com>
2023-08-10 12:58:06 -07:00
Maksym Pavlenko 32362ace1d
Merge pull request #171 from mxpv/client
Improve containerd client ergonomics
2023-08-09 15:32:32 -07:00
Maksym Pavlenko a65ec7f6df Improve containerd client ergonomics
Signed-off-by: Maksym Pavlenko <pavlenko.maksym@gmail.com>
2023-08-09 12:03:36 -07:00
dependabot[bot] 0f4812ca7a
build(deps): update page_size requirement from 0.5.0 to 0.6.0
Updates the requirements on [page_size](https://github.com/Elzair/page_size_rs) to permit the latest version.
- [Commits](https://github.com/Elzair/page_size_rs/commits)

---
updated-dependencies:
- dependency-name: page_size
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-09 18:18:51 +00:00
Maksym Pavlenko f1d2500c1f Fix docs link
Signed-off-by: Maksym Pavlenko <pavlenko.maksym@gmail.com>
2023-08-08 10:07:45 -07:00
Maksym Pavlenko 77a2b87c18 [runc-shim] Move async code to package root
Signed-off-by: Maksym Pavlenko <pavlenko.maksym@gmail.com>
2023-08-08 10:07:45 -07:00
Maksym Pavlenko 53cc80da4d Remove sync runc shim
Signed-off-by: Maksym Pavlenko <pavlenko.maksym@gmail.com>
2023-08-08 10:07:45 -07:00
jiaxiao zhou 4528cb8fca
Merge remote-tracking branch 'upstream/main' into fix-stats 2023-08-02 22:02:16 +00:00
Maksym Pavlenko 27a503a474 [shim] Bump version to 0.4
Signed-off-by: Maksym Pavlenko <pavlenko.maksym@gmail.com>
2023-08-02 12:37:35 -07:00
Maksym Pavlenko dea1da4474 [shim-protos] Bump version
Signed-off-by: Maksym Pavlenko <pavlenko.maksym@gmail.com>
2023-08-02 12:32:48 -07:00
jiaxiao zhou 39532a3c00
feat: add cgroup v2 support for metrics
This commits adds cgroup v2 support for collecting metrics in the shim.

Additionally, it uses CPU controller instead of the CPUAcct controller
for reporting CPU metrics back to containerd.

Signed-off-by: jiaxiao zhou <jiazho@microsoft.com>
2023-08-02 02:43:12 +00:00
jiaxiao zhou 5c55e352de
cargo clippy
Signed-off-by: jiaxiao zhou <jiazho@microsoft.com>
2023-08-02 02:43:05 +00:00
Tianyang Zhang 7817d7ef7b runc-shim: open read side of stdout/stderr fifo to avoid EPIPE
The "read" side of container stdout/stderr fifo has been opened
by containerd and on the other hand "write" side is opened by
container process, which is a little different with golang shim.
If containerd shutdown and closed the read fd, container process
will receive EPIPE when writing to stdout/stderr and then be
killed by SIGPIPE signal. In this commit, the "read" side is
opened again by shim so that at least there is one opened "read"
side all the time.

Signed-off-by: Tianyang Zhang <burning9699@gmail.com>
2023-07-21 17:12:16 +08:00
James Sturtevant 60558b7848 Pass all commandline arguments through
Because the second invocation of the shim doesn't have the containerd pipe passed to it, a shim that wants to communicate over the pipe needs to parse the arguments its own.  This makes it so the library pass all the arguments, which has already parsed the arguments allowing shims to use the containerd address.

Signed-off-by: James Sturtevant <jstur@microsoft.com>
2023-07-20 21:43:23 +00:00
Maksym Pavlenko ddf49a9a52 Fix dependencies
Signed-off-by: Maksym Pavlenko <pavlenko.maksym@gmail.com>
2023-07-11 10:47:24 -07:00
Jorge Prendes 4da0055413
Add missing condition to stop reaping child procs
Signed-off-by: Jorge Prendes <jorge.prendes@gmail.com>
2023-07-05 16:54:42 +01:00
James Sturtevant bdd17eb2a5
Update to use latest ttrpc library
Signed-off-by: James Sturtevant <jstur@microsoft.com>
2023-06-22 12:14:29 -07:00
James Sturtevant 38545a7d56
Use inline platform branches
Signed-off-by: James Sturtevant <jstur@microsoft.com>
2023-06-22 10:06:40 -07:00
James Sturtevant b97955944c
Clean up signal processing
Signed-off-by: James Sturtevant <jstur@microsoft.com>
2023-06-22 10:06:39 -07:00
James Sturtevant fa4a0045e6
Make one function that works for both platforms
Signed-off-by: James Sturtevant <jstur@microsoft.com>
2023-06-22 10:06:39 -07:00
James Sturtevant bceaf4aca3
Windows support for the synchronous shim
Signed-off-by: James Sturtevant <jsturtevant@gmail.com>
Signed-off-by: James Sturtevant <jstur@microsoft.com>
2023-06-22 10:06:39 -07:00
Maksym Pavlenko 35a97f17d5
Merge pull request #145 from wllenyj/sandbox
shim: add Sandbox API support
2023-05-16 13:25:35 -07:00
wanglei01 79d5d5afcf shim: add sandbox module
Added sandbox feature to enable sandbox support.

Signed-off-by: wanglei01 <wllenyj@linux.alibaba.com>
2023-05-17 01:41:23 +08:00
wanglei01 e8d11318e1 shim: add Sandbox API support
Added sandbox proto file.

Signed-off-by: wanglei01 <wllenyj@linux.alibaba.com>
2023-05-17 01:41:17 +08:00
Maksym Pavlenko 4f66aaffe7 Update tonic dependencies
Signed-off-by: Maksym Pavlenko <pavlenko.maksym@gmail.com>
2023-05-15 10:19:35 -07:00
Maksym Pavlenko f23659c392 [client] Bump version to 0.3.0 2023-05-05 10:44:55 -07:00
Chris Rice 660d4f886b add submodule for sandbox 2023-05-05 11:05:49 -06:00
Chris Rice c9fe55ef51 add containerd.services.sandbox.v1 2023-05-05 08:40:48 -06:00
Maksym Pavlenko c54a467f16
Merge pull request #137 from simon-mo/list-request-impl
Implement the input parameters for snapshotter::list
2023-04-23 19:28:03 +02:00
Maksym Pavlenko e3c2364587
Merge pull request #138 from Burning1020/ttyfd-close
runc-shim: fix tty fd multi close error
2023-04-23 19:25:59 +02:00
Simon Mo 9bf2db776b Implement `list` for snapshotter request
This PR follows up on @wedsonaf's #126 and pass the filters through the list input.
Note that this is not backward compatible but this is a step closer to the protocol
conformance.
2023-04-21 18:39:32 +00:00
Maksym Pavlenko 16e9695e80 Bump snapshots crate
Signed-off-by: Maksym Pavlenko <pavlenko.maksym@gmail.com>
2023-04-14 12:26:18 -07:00
Tim Zhang dc856c67bf containerd-shim: bump containerd-shim-protos to v0.3.0
Signed-off-by: Tim Zhang <tim@hyper.sh>
2023-04-14 16:02:48 +08:00
Tim Zhang 18609f2762 release containerd-shim-protos: v0.3.0
Bump containerd-shim-protos from 0.2.0 to 0.3.0 to
include changes made in #95.

Because the update in #95 is not compatible we need a major
version update.

Signed-off-by: Tim Zhang <tim@hyper.sh>
2023-04-14 15:43:13 +08:00
Zhang Tianyang ad90c998ef runc-shim: fix tty fd multi close error
use File::from_raw_fd() to create the tty io file, when the io copy
thread ends, it will drop the file object which will close the fd, but
as we made three file objects from the same fd, it will be closed
three times, if other opened files occupied this fd number, the
second or third drop of the file object may close the fds of other files.

Signed-off-by: Zhang Tianyang <burning9699@gmail.com>
2023-04-11 20:16:39 +08:00