cncf / sandbox

Applications for Sandbox go here! โณ๐Ÿ“ฆ๐Ÿงช
Apache License 2.0
136 stars 22 forks source link

[Sandbox] Kuasar #56

Closed Burning1020 closed 11 months ago

Burning1020 commented 1 year ago

Application contact emails

Maintainers

burning9699@gmail.com, fshb1988@gmail.com, luohl364218@gmail.com

Champions

wangzefeng@huawei.com, michael@secondstate.io

Project Summary

Kuasar(Quasar in Kubernetes) is a low-level container runtime that provides multiple sandbox container solutions.

Project Description

Isolation technologies are being integrated into containers world, including microVM, WebAssembly, application kernel, unikernel, and confidential computing. These technologies create an isolated environment for running containers. That is referred to as a "sandbox".

However, the concept of a sandbox is not well-defined in container runtimes like containerd. Its semantics are unclear and imitated by "pause container", and its management is mixed into container management . We believe it's time to introduce the concept of "sandboxer" that is for handling the sandbox lifecycle and resource management independently. Thus, Kuasar was born.

Kuasar is a low-level container runtime that provides multiple sandbox container solutions. It offers several "sandboxer" implementations for microVM, WebAssembly runtime, application kernel sandbox and even runC container. Kuasar consists of two main modules: one, called "sandboxer", handles sandbox lifecycle management, while the other, named "task", manages all containers lifecycle within a sandbox.

Kuasar features:

Org repo URL (provide if all repos under the org are in scope of the application)

https://github.com/kuasar-io

Project repo URL in scope of application

https://github.com/kuasar-io/kuasar

Additional repos in scope of the application

https://github.com/kuasar-io/containerd, https://github.com/kuasar-io/rust-extensions, https://github.com/kuasar-io/web

Website URL

https://kuasar.io/

Roadmap

https://github.com/kuasar-io/kuasar/blob/main/ROADMAP.md

Roadmap context

Kuasar is actively inviting additional sandbox technologies to join its ecosystem so these sandbox are planned in roadmap. In addition, kuasar has interests in the following features:

Contributing Guide

https://github.com/kuasar-io/kuasar/blob/main/CONTRIBUTING.md

Code of Conduct (CoC)

https://github.com/kuasar-io/kuasar/blob/main/CODE_OF_CONDUCT.md

Adopters

https://github.com/kuasar-io/kuasar/blob/main/ADOPTERS.md

Contributing or Sponsoring Org

Contributing or Sponsoring Org
Huawei
Agricultural Bank of China
WasmEdge
openEuler
QuarkContainer

Maintainers file

https://github.com/kuasar-io/kuasar/blob/main/MAINTAINERS.md

IP Policy

Trademark and accounts

Why CNCF?

To expand the range of sandbox runtime solutions, Kuasar maintains an open and neutral attitude towards sandbox technologies. This aligns seamlessly with CNCF's mission to foster and sustain an ecosystem of open source and vendor-neutral projects. Given CNCF's extensive user base, leveraging CNCF's platform will enable Kuasar to benefit more and more organizations and companies.

Benefit to the Landscape

Given the diversity of cloud native scenarios and user requirements, many sandbox container runtime solutions have been proposed. Supporting the simultaneous execution of these various runtimes increases the complexity of operation and maintenance. Additionally, smoothly embracing to new sandbox technologies can also be challenging.

The beneift could be:

  1. Kuasar allows users to customize sandbox container runtime solutions according to their specific needs. Its unified sandbox abstraction simplifies operation maintenance and solves the problem of integrating of new sandbox technologies.
  2. Kuasar's emergence promotes a tighter integration of sandbox isolation technologies with Kubernetes, fostering further development in both domains.
  3. The participation of Kuasar also enriches the container runtime of CNCF landscape, attracting a more extensive community of developers and users.

Cloud Native 'Fit'

Landscape: Runtime - Container Runtime Kuasar, as a low level container runtime on cloud computing node, will handle the specific lifecycle management of kubernetes pod, creating the sandbox environment and running containers. So it fits in "Runtime" and "Container Runtime".

TAGs: TAG Runtime The participation of Kuasar in tag-runtime group will raise discussions about the integration of sandboxes within Kubernetes, particularly in conjunction with containerd. These discussions present an opportunity to enhance the Kubernetes ecosystem, especially the WebAssembly sandbox.

Cloud Native 'Integration'

Northbound: Kuasar will interact with the high-level container runtimes implementing CRI to manage a container. Complements the following project:

Southbound: Kuasar will create a sandbox instance and start container inside it. Depends on the following project:

Cloud Native Overlap

Not just runwasi, but also kata-shim, firecracker-containerd, and runsc have their own considerations when defining the sandbox. Consequently, their diverse implementations introduce challenges for operations and maintenance engineers to toggle runtimes and identify problems. To address this, Kuasar is introduced to simplifiy the management of different sandboxes and provide some implementations based on popular sandbox.

Similar projects

containerd/runwasi support integrate kubernetes with wasm workloads, kata-containers support integrate kubernetes with lightweight VMs, gVisor/runsc support integrate kubernetes with gVisor sandbox, firecracker-containerd support integrate kubernetes with Firecracker microVMs.

Landscape

https://landscape.cncf.io/?selected=kuasar

Business Product or Service to Project separation

N/A

Project presentations

CNCF TAG Runtime Presentation: https://docs.google.com/document/d/1k7VNetgbuDNyIs_87GLQRH2W5SLgjgOhB6pDyv89MYk/edit#heading=h.otyvkecgzybr Slide: https://docs.google.com/presentation/d/1SKMaCuwJI5jU2hGkB3ns14i5xLqOolDMJZfZBW70E7k/edit#slide=id.g23d32d0c81c_0_112

Project champions

@kevin-wangzefeng @juntao

Additional information

N/A

Burning1020 commented 1 year ago

Kuasar would present at the TAG Runtime meeting on Aug 24th. @nikhita

Burning1020 commented 1 year ago

Kuasar would present at the TAG Runtime meeting on Aug 24th. @nikhita

Already presented on CNCF TAG Runtime: docs.google.com/document/d/1k7VNetgbuDNyIs_87GLQRH2W5SLgjgOhB6pDyv89MYk/edit#heading=h.otyvkecgzybr Slide: docs.google.com/presentation/d/1SKMaCuwJI5jU2hGkB3ns14i5xLqOolDMJZfZBW70E7k/edit#slide=id.g23d32d0c81c_0_112

amye commented 11 months ago

/vote-sandbox

git-vote[bot] commented 11 months ago

Vote created

@amye has called for a vote on [Sandbox] Kuasar (#56).

The members of the following teams have binding votes: Team
@cncf/cncf-toc

Non-binding votes are also appreciated as a sign of support!

How to vote

You can cast your vote by reacting to this comment. The following reactions are supported:

In favor Against Abstain
๐Ÿ‘ ๐Ÿ‘Ž ๐Ÿ‘€

Please note that voting for multiple options is not allowed and those votes won't be counted.

The vote will be open for 7days. It will pass if at least 66% of the users with binding votes vote In favor ๐Ÿ‘. Once it's closed, results will be published here as a new comment.

amye commented 11 months ago

/check-vote

git-vote[bot] commented 11 months ago

Vote status

So far 18.18% of the users with binding vote are in favor (passing threshold: 66%).

Summary

In favor Against Abstain Not voted
2 0 0 9

Binding votes (2)

User Vote Timestamp
justincormack In favor 2023-12-13 15:55:55.0 +00:00:00
TheFoxAtWork In favor 2023-12-12 18:47:35.0 +00:00:00
@rochaporto Pending
@mattfarina Pending
@RichiH Pending
@mauilion Pending
@dzolotusky Pending
@cathyhongzhang Pending
@nikhita Pending
@kgamanji Pending
@erinaboyd Pending

Non-binding votes (5)

| User | Vote | Timestamp | | ---- | :---: | :-------: | | Burning1020 | In favor | 2023-12-13 1:34:09.0 +00:00:00 | | flyflypeng | In favor | 2023-12-13 6:49:47.0 +00:00:00 | | Vanient | In favor | 2023-12-13 6:49:47.0 +00:00:00 | | xietuo | In favor | 2023-12-13 6:50:49.0 +00:00:00 | | kevin-wangzefeng | In favor | 2023-12-13 7:25:15.0 +00:00:00 |
rajaskakodkar commented 11 months ago

Based on the presentation of Kuasar at TAG Runtime meeting, +1 NB from me!

Burning1020 commented 11 months ago

/check-vote

git-vote[bot] commented 11 months ago

Vote status

So far 72.73% of the users with binding vote are in favor (passing threshold: 66%).

Summary

In favor Against Abstain Not voted
8 0 0 3

Binding votes (8)

User Vote Timestamp
nikhita In favor 2023-12-18 6:04:24.0 +00:00:00
dzolotusky In favor 2023-12-15 14:59:23.0 +00:00:00
rochaporto In favor 2023-12-17 22:13:32.0 +00:00:00
justincormack In favor 2023-12-13 15:55:55.0 +00:00:00
mauilion In favor 2023-12-16 3:16:57.0 +00:00:00
cathyhongzhang In favor 2023-12-13 19:04:02.0 +00:00:00
kgamanji In favor 2023-12-17 13:15:04.0 +00:00:00
TheFoxAtWork In favor 2023-12-12 18:47:35.0 +00:00:00
@mattfarina Pending
@RichiH Pending
@erinaboyd Pending

Non-binding votes (9)

| User | Vote | Timestamp | | ---- | :---: | :-------: | | Burning1020 | In favor | 2023-12-13 1:34:09.0 +00:00:00 | | flyflypeng | In favor | 2023-12-13 6:49:47.0 +00:00:00 | | Vanient | In favor | 2023-12-13 6:49:47.0 +00:00:00 | | xietuo | In favor | 2023-12-13 6:50:49.0 +00:00:00 | | kevin-wangzefeng | In favor | 2023-12-13 7:25:15.0 +00:00:00 | | abel-von | In favor | 2023-12-14 1:33:50.0 +00:00:00 | | wackxu | In favor | 2023-12-14 3:16:41.0 +00:00:00 | | higx | In favor | 2023-12-14 3:19:23.0 +00:00:00 | | rajaskakodkar | In favor | 2023-12-18 5:59:00.0 +00:00:00 |
git-vote[bot] commented 11 months ago

Vote closed

The vote passed! ๐ŸŽ‰

72.73% of the users with binding vote were in favor (passing threshold: 66%).

Summary

In favor Against Abstain Not voted
8 0 0 3

Binding votes (8)

User Vote Timestamp
@justincormack In favor 2023-12-13 15:55:55.0 +00:00:00
@TheFoxAtWork In favor 2023-12-12 18:47:35.0 +00:00:00
@mauilion In favor 2023-12-16 3:16:57.0 +00:00:00
@rochaporto In favor 2023-12-17 22:13:32.0 +00:00:00
@kgamanji In favor 2023-12-17 13:15:04.0 +00:00:00
@nikhita In favor 2023-12-18 6:04:24.0 +00:00:00
@cathyhongzhang In favor 2023-12-13 19:04:02.0 +00:00:00
@dzolotusky In favor 2023-12-15 14:59:23.0 +00:00:00

Non-binding votes (10)

| User | Vote | Timestamp | | ---- | :---: | :-------: | | @Burning1020 | In favor | 2023-12-13 1:34:09.0 +00:00:00 | | @flyflypeng | In favor | 2023-12-13 6:49:47.0 +00:00:00 | | @Vanient | In favor | 2023-12-13 6:49:47.0 +00:00:00 | | @xietuo | In favor | 2023-12-13 6:50:49.0 +00:00:00 | | @kevin-wangzefeng | In favor | 2023-12-13 7:25:15.0 +00:00:00 | | @abel-von | In favor | 2023-12-14 1:33:50.0 +00:00:00 | | @wackxu | In favor | 2023-12-14 3:16:41.0 +00:00:00 | | @higx | In favor | 2023-12-14 3:19:23.0 +00:00:00 | | @rajaskakodkar | In favor | 2023-12-18 5:59:00.0 +00:00:00 | | @jingxiaolu | In favor | 2023-12-18 6:26:47.0 +00:00:00 |
Cmierly commented 11 months ago

Hi @Burning1020 ! Welcome aboard! We're very excited to get you onboarded as a CNCF sandbox project! Here's the link to your onboarding checklist: https://github.com/cncf/sandbox/issues/146

Here you can communicate any questions or concerns you might have. Please don't hesitate to reach out, I am always happy to help!

Burning1020 commented 11 months ago

Hi @Burning1020 ! Welcome aboard! We're very excited to get you onboarded as a CNCF sandbox project! Here's the link to your onboarding checklist: cncf/sandbox#146

Here you can communicate any questions or concerns you might have. Please don't hesitate to reach out, I am always happy to help!

Got it! Thanks for evertbody! We're checking it.