youki is an implementation of the OCI runtime-spec in Rust, similar to runc.

Overview

youki: A container runtime in Rust

Discord GitHub commit activity GitHub contributors Github CI codecov

youki is an implementation of the OCI runtime-spec in Rust, similar to runc.

About the name

youki is pronounced as /joʊki/ or yoh-key. youki is named after the Japanese word 'youki', which means 'a container'. In Japanese language, youki also means 'cheerful', 'merry', or 'hilarious'.

Motivation

Here is why we are writing a new container runtime in Rust.

  • Rust is one of the best languages to implement oci-runtime. Many container tools are written in Go. It's all very nice products. However, the container runtime requires the use of system calls, which requires a bit of special handling when implemented in Go. This is too tricky(e.g. namespaces(7), fork(2)); with Rust, it's not that tricky and you can use system calls. Also, unlike C, Rust provides the benefit of memory management. Rust is not yet a major player in the container field, and Rust has the potential to contribute more to this field. I hope to be one of the examples of how Rust can be used in this field.
  • youki has the potential to be faster and use less memory than runc. This means that it can work in environments with tight memory usage. I don't have any benchmarks, etc., as it is not yet fully operational, but I expect that it will probably perform better when implemented in Rust. In fact, crun, a container runtime implemented in C, is quite high performance. For example, it may be possible to experiment with asynchronous processing using async/await in some parts.
  • The development of railcar has been suspended. This project was very nice but is no longer being developed. This project is inspired by it.
  • I have fun implementing this. In fact, this may be the most important.

Related project

Status of youki

youki is not at the practical stage yet. However, it is getting closer to practical use, running with docker and passing all the default tests provided by opencontainers/runtime-tools. youki demo

Feature Description State
Docker Running via Docker
Podman Running via Podman It works, but cgroups isn't supported. WIP on #24
pivot_root Change the root directory
Mounts Mount files and directories to container
Namespaces Isolation of various resources
Capabilities Limiting root privileges
Cgroups v1 Resource limitations, etc
Cgroups v2 Improved version of v1 Support is complete except for devices. WIP on #78
Seccomp Filtering system calls
Hooks Add custom processing during container creation
Rootless Running a container without root privileges It works, but cgroups isn't supported. WIP on #77
OCI Compliance Compliance with OCI Runtime Spec 50 out of 50 test cases passing

Design and implementation of youki

sequence diagram of youki

More details are in the works #14

Getting Started

Local build is only supported on linux. For other platforms, please use Vagrantfile that we prepared.

Requires

Dependencies

Debian, Ubuntu and related distributions

$ sudo apt-get install   \
      pkg-config         \
      libsystemd-dev     \
      libdbus-glib-1-dev \
      build-essential    \
      libelf-dev \
      libseccomp-dev

Fedora, Centos, RHEL and related distributions

$ sudo dnf install   \
      pkg-config     \
      systemd-devel  \
      dbus-devel     \
      elfutils-libelf-devel \
      libseccomp-devel

Build

$ git clone [email protected]:containers/youki.git
$ cd youki
$ ./build.sh
$ ./youki -h # you can get information about youki command

Tutorial

Let's try to run a container that executes sleep 30 with youki. This tutorial may need root permission.

$ git clone [email protected]:containers/youki.git
$ cd youki
$ ./build.sh

$ mkdir -p tutorial/rootfs
$ cd tutorial
# use docker to export busybox into the rootfs directory
$ docker export $(docker create busybox) | tar -C rootfs -xvf -

Then, we need to prepare a configuration file. This file contains metadata and specs for a container, such as the process to run, environment variables to inject, sandboxing features to use, etc.

$ ../youki spec  # will generate a spec file named config.json

We can edit the config.json to add customized behaviors for container. Here, we modify the process field to run sleep 30.

  "process": {
    ...
    "args": [
      "sleep", "30"
    ],

  ...
  }

Then we can explore the lifecycle of a container:

$ cd ..                                                # go back to the repository root
$ sudo ./youki create -b tutorial tutorial_container   # create a container with name `tutorial_container`
$ sudo ./youki state tutorial_container                # you can see the state the container is `created`
$ sudo ./youki start tutorial_container                # start the container
$ sudo ./youki list                                    # will show the list of containers, the container is `running`
$ sudo ./youki delete tutorial_container               # delete the container

Change the command to be executed in config.json and try something other than sleep 30.

Usage

Starting the docker daemon.

$ dockerd --experimental --add-runtime="youki=$(pwd)/target/x86_64-unknown-linux-gnu/debug/youki"

In case you get an error like :

failed to start daemon: pid file found, ensure docker is not running or delete /var/run/docker.pid

That means your normal Docker daemon is running, and it needs to be stopped. For that, open a new shell in same directory and run :

$ systemctl stop docker # might need root permission

Now in the same shell run the first command, which should start the docker daemon.

You can use youki in a different terminal to start the container.

$ docker run -it --rm --runtime youki busybox

Afterwards, you can close the docker daemon process in other the other terminal. To restart normal docker daemon (if you had stopped it before), run :

$ systemctl start docker # might need root permission

Integration test

Go and node-tap are required to run integration test. See the opencontainers/runtime-tools README for details.

$ git submodule update --init --recursive
$ ./integration_test.sh
# run specific test_cases with pattern
$ ./integration_test.sh linux_*

Setting up Vagrant

You can try youki on platforms other than linux by using the Vagrantfile we have prepared. We have prepared two environments for vagrant, namely rootless mode and rootful mode

$ git clone [email protected]:containers/youki.git
$ cd youki

# If you want to develop in rootless mode, and this is the default mode
$ vagrant up
$ vagrant ssh

# or if you want to develop in rootful mode
$ VAGRANT_VAGRANTFILE=Vagrantfile.root vagrant up
$ VAGRANT_VAGRANTFILE=Vagrantfile.root vagrant ssh

# in virtual machine
$ cd youki
$ ./build.sh

Community

We also have an active Discord if you'd like to come and chat with us.

Contribution

This project welcomes your PR and issues. For example, refactoring, adding features, correcting English, etc. If you need any help, you can contact me on Twitter.

Thanks to all the people who already contributed!

Comments
  • [Tracking Issue] Support for cgroups v1

    [Tracking Issue] Support for cgroups v1

    This issue is for tracking the implementation of cgroups. Since devices of cgoups has already been implemented, you can implement it while referring to it. If you are interested, you can comment on this issue and I will assign it to you.

    • [x] devices
    • [x] network(assigned @tsturzl) The integration test is this: https://github.com/opencontainers/runtime-tools/tree/master/validation/linux_cgroups_network
    • [x] pids (assigned @0xdco) https://github.com/utam0k/youki/pull/26
    • [x] hugepageLimits(assigned @Furisto) https://github.com/utam0k/youki/pull/15
    • [x] memory (assigned @tsturzl) https://github.com/utam0k/youki/pull/16
    • [x] cpu(assigned @Furisto) https://github.com/containers/youki/pull/63 The integration test is this: https://github.com/opencontainers/runtime-tools/tree/master/validation/linux_cgroups_cpus
    • [x] blockIO(assigned @Furisto) https://github.com/utam0k/youki/pull/31
    • [x] cpuacct (assigned @yjuba) https://github.com/containers/youki/pull/92
    • [x] cpuset (assigned @Furisto) https://github.com/containers/youki/pull/63
    • [x] perf_event (assigned @fbrv) https://github.com/containers/youki/pull/166
    • [x] freezer (assigned @duduainankai ) https://github.com/containers/youki/pull/93

    Goal

    Each of them will be targeted to pass integration tests. If possible, it is good to have unit tests as well. It would be helpful to have a look at the GitHub Actions file to see how to run the integration tests.

    Reference

    • https://github.com/opencontainers/runtime-spec/blob/master/config-linux.md#control-groups
    • https://www.kernel.org/doc/html/latest/admin-guide/cgroup-v1/index.html
    good first issue 
    opened by utam0k 52
  • [Tracking Issue] Support for cgroups v2

    [Tracking Issue] Support for cgroups v2

    This issue is for tracking the implementation of cgroups v2. Since cpu and cpuset of cgoups has already been implemented, you can implement it while referring to it. If you are interested, you can comment on this issue and I will assign it to you.

    • [x] cpu https://github.com/containers/youki/pull/48
    • [x] cpuset https://github.com/containers/youki/pull/48
    • [x] memory(assigned @tsturzl ) https://github.com/containers/youki/pull/141
    • [x] huge tlb(@0xdco) https://github.com/containers/youki/pull/135
    • [x] pids(assigned @TinySong) https://github.com/containers/youki/pull/119
    • [x] freezer(assigned @duduainankai) https://github.com/containers/youki/pull/123
    • [x] io(assigned @TinySong) https://github.com/containers/youki/pull/128

    Devices are special and will be handled separately from this issue. https://github.com/containers/youki/issues/230

    Goal

    There isn't an integration test for cgv2, so please make sure that the results of the operation and unit tests are successful.

    Reference

    • https://www.kernel.org/doc/Documentation/cgroup-v2.txt
    • https://github.com/opencontainers/runc/tree/master/libcontainer/cgroups/fs2
    good first issue 
    opened by utam0k 46
  • impl: original integration test.

    impl: original integration test.

    Youki is currently using the integration tests from rutime-tools, but there are some areas where this isn't sufficient (e.g. cgv2), so we will implement our own.

    opened by utam0k 37
  • Create test framework and setup initial integration tests

    Create test framework and setup initial integration tests

    ref : #56 This is a work in progress PR for Creating test framework as well as implement initial integration tests. Once this is merged we can create a tracking issue for implementing rest of the integration tests

    opened by YJDoc2 31
  • Support for systemd cgroup driver

    Support for systemd cgroup driver

    I'm considering supporting podman, but I don't know the details of podman, so I'm looking for opinions. I don't know what features youki lacks to support podman yet. I'm also looking for people to support this issue.

    help wanted 
    opened by utam0k 31
  • rust checkpoint integration tests fail on kernel version 5.11

    rust checkpoint integration tests fail on kernel version 5.11

    In my system the checkpointing tests fail, even though those are passing in the CI. This might be due to kernel not compiled with support for checkpointing , or some other issues. If this is a support issue, then the tests should be put behind conditional tests, which will check the support. In any case the error message should be changed to include the file name which it is trying to read, so the error can be better uderstood when encountered.

    Update : Modify test to copy the log file in case of failure

    Error message :

    3 / 7 : checkpoint and leave running with --work-path /tmp : not ok
            Error :
    stdout :
    stderr : Error: failed to checkpoint container 558aea4b-ece9-a4a3-eada-40afee9f28ca
    
    Caused by:
        checkpointing container 558aea4b-ece9-a4a3-eada-40afee9f28ca failed with Os { code: 2, kind: NotFound, message: "No such file or directory" }. Please check CRIU logfile /tmp//dump.log
    
    4 / 7 : checkpoint and leave running : not ok
            Error :
    stdout :
    stderr : Error: failed to checkpoint container 558aea4b-ece9-a4a3-eada-40afee9f28ca
    
    Caused by:
        checkpointing container 558aea4b-ece9-a4a3-eada-40afee9f28ca failed with Os { code: 2, kind: NotFound, message: "No such file or directory" }. Please check CRIU logfile /tmp/fef46b54-651d-49b8-ef89-bca5dd998f8a/checkpoint/dump.log
    
    

    System info :

    Version           0.0.2
    Commit            f66d389
    Kernel-Release    5.11.0-49-generic
    Kernel-Version    #55-Ubuntu SMP Wed Jan 12 17:36:34 UTC 2022
    Architecture      x86_64
    Operating System  Ubuntu 21.04
    Cores             8
    Total Memory      7859
    Cgroup setup      hybrid
    Cgroup mounts
      blkio           /sys/fs/cgroup/blkio
      cpu             /sys/fs/cgroup/cpu,cpuacct
      cpuacct         /sys/fs/cgroup/cpu,cpuacct
      cpuset          /sys/fs/cgroup/cpuset
      devices         /sys/fs/cgroup/devices
      freezer         /sys/fs/cgroup/freezer
      hugetlb         /sys/fs/cgroup/hugetlb
      memory          /sys/fs/cgroup/memory
      net_cls         /sys/fs/cgroup/net_cls,net_prio
      net_prio        /sys/fs/cgroup/net_cls,net_prio
      perf_event      /sys/fs/cgroup/perf_event
      pids            /sys/fs/cgroup/pids
      unified         /sys/fs/cgroup/unified
    CGroup v2 controllers
      cpu             detached
      cpuset          detached
      hugetlb         detached
      io              detached
      memory          detached
      pids            detached
      device          attached
    Namespaces        enabled
      mount           enabled
      uts             enabled
      ipc             enabled
      user            enabled
      pid             enabled
      network         enabled
    
    opened by YJDoc2 25
  • Refactor the container creation to use `clone(2)` instead of fork.

    Refactor the container creation to use `clone(2)` instead of fork.

    Fix #87

    Use clone(2) instead of fork to create the container process. Using clone(2) allows us to create new namespaces in a single function call. As a result, we create one process instead of two processes. The code also ended up cleaner and easier to follow.

    Currently, the integration test on my local machine is breaking with errors in cgroups that are mentioned in other issues already. This PR didn't touch cgroup logic so unlikely this PR is causing it.

    @utam0k I didn't change the comments and the docs in this PR yet. I'd like to get feedback from you first on the change. I tried to keep the original code as much as possible, but it was difficult. I ended up re-write more parts of the code than I originally imagined. If anyone else is touching this area, it will sure create merge conflicts. Let me know what you think.

    opened by yihuaf 23
  • Support for rootless container

    Support for rootless container

    I don't know anything about rootless container yet. I'd like to use this issue to gather references and think about the design. I'm also looking for people to challenge this.

    References

    • https://github.com/opencontainers/runc/blob/master/rootless_linux.go
    • https://rootlesscontaine.rs/
    • https://docs.docker.com/engine/security/rootless/
    enhancement help wanted 
    opened by utam0k 23
  • [WIP] Async Cgroups v1, tokio_uring

    [WIP] Async Cgroups v1, tokio_uring

    This is what I have so far for the tokio uring implementation for async. I'd still like to measure performance, but I'm verifying the functionality first which is on going. The unit tests seem to be passing once I got things compiling, but I'd like to ensure this is actually the case and this might involve writing some new unit tests which account for some underlying differences with the IO paradigms that I've tried to abstract away the best I can. You can see the attempt to abstract away some of the differences in the common.rs, and hopefully we can get rid of these methods by adding these features to tokio_uring, they already have a pending PR for write_all_at which will basically replace the abstraction I created. Reading is a bit messy, given tokio_uring needs buffers which have a known size at compile time, so we cannot simply read a dynamically size String into memory without reading into a statically sized buffer and then concatenating that into a resulting string. There are probably efficiency gains to be had here, and I may take another pass at it, but I hope for these ugly bits to hopefully go away, and in creating a PR to the tokio_uring team in the future I hope to get their insight on how to best approach this.

    Take a look through, but I do plan on making changes to this still, and this may not currently work fully. I made this to get some immediate feedback while I work the remaining kinks out.

    opened by tsturzl 19
  • Upgrade oci-spec-rs to 0.4.0

    Upgrade oci-spec-rs to 0.4.0

    fix: #225

    Common

    • [x] Fix import path: use oci_spec::XXX -> use oci_spec::runtime::XXX

    Upgrade oci-spec-rs in cgroups

    • [x] Port FreezerState to cgroups crate
      • [x] Controller::apply() receive ContainerOpt instead of LinuxResources
    • ~~Remove A from LinuxDeviceType~~

    Upgrade oci-spec-rs in youki

    • [x] Fix capability type (Capability type change: Vec -> HashSet)
    • [x] Implement functions equivalent to LinuxDeviceType::to_sflag in youki.

    ~Upgrade oci-spec-rs to v0.5.1~

    • Apply builder pattern
      • https://github.com/containers/oci-spec-rs/pull/69
      • src/container/tenant_builder.rs rewrite
    opened by guni1192 19
  • Upgrade`oci-spec-rs`

    Upgrade`oci-spec-rs`

    We are now using oci-spec by directly specifying the commit hash and repository. https://github.com/containers/youki/blob/a14ce13bcd7e97787dc3c9bf7f85d78cf728d9c5/Cargo.toml#L32 However, this has already been pushed to crates.io so that you can use it the same way as the others. https://crates.io/crates/oci-spec

    However, there are a few disruptive changes, so it's not straightforward, but none of them are that difficult. https://github.com/containers/oci-spec-rs/compare/e0de21b89dc1e65f69a5f45a08bbe426787c7fa1...v0.3.0

    I am looking forward to your challenge.

    Goal

    Existing CI comes through using v0.3.0 of oci-spec.

    good first issue 
    opened by utam0k 19
  • chore(deps): bump file-per-thread-logger from 0.1.5 to 0.1.6

    chore(deps): bump file-per-thread-logger from 0.1.5 to 0.1.6

    Bumps file-per-thread-logger from 0.1.5 to 0.1.6.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
  • chore(deps): bump vergen from 7.4.2 to 7.5.0

    chore(deps): bump vergen from 7.4.2 to 7.5.0

    Bumps vergen from 7.4.2 to 7.5.0.

    Release notes

    Sourced from vergen's releases.

    v7.5.0

    • The MSRV supported by vergen has been bumped to 1.63.0.
    • The enum-iterator dependency has been updated to 1.2.0 (and as a result the 1.63 bump had to happen)

    v7.4.4

    • Dependency updates

    v7.4.3

    • Documentation update
    • Fix for sysinfo memory reporting for machine with large amounts of memory
    Commits
    • 5b66fe5 Updated to 7.5.0 to reflect MSRV change
    • 3bbbcf4 Bump MSRV to 1.63
    • cd35b76 version bump for next release
    • 528a8af Bump `enum-iterator' to 1.2.0. Cleanup some
    • fbdd186 More information on the 'git 0.15' update
    • ced5f22 Update README.md
    • 3c1ffca version bump for next release
    • 235dcc1 Bump libgit2 dependency to latest upstream (#145)
    • 4367de6 Update serial_test requirement from 0.9.0 to 0.10.0 (#144)
    • 79679b1 Update sysinfo requirement from 0.26.0 to 0.27.0 (#143)
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Note: Dependabot was ignoring updates to this dependency, but since you've updated it yourself we've started tracking it for you again. 🤖

    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
  • chore(deps): bump libc from 0.2.138 to 0.2.139

    chore(deps): bump libc from 0.2.138 to 0.2.139

    Bumps libc from 0.2.138 to 0.2.139.

    Release notes

    Sourced from libc's releases.

    0.2.139

    What's Changed

    New Contributors

    Full Changelog: https://github.com/rust-lang/libc/compare/0.2.138...0.2.139

    Commits
    • f4bc851 Auto merge of #3042 - flba-eb:release_0.2.139, r=JohnTitor
    • dc3d43c Prepare 0.2.139 release
    • c59ca73 Auto merge of #3041 - devnexen:linux_kernel_version, r=JohnTitor
    • 88d6a1f adding KERNEL_VERSION macro for linux.
    • 45b431a Auto merge of #2758 - fkm3:master, r=JohnTitor
    • 572e11b Add misc constants and functions for android
    • 318dccc Auto merge of #3038 - gh-tr:rebased/20221216, r=JohnTitor
    • 07636f6 Auto merge of #3036 - LegionMammal978:iso-c-funcs, r=JohnTitor
    • 720151f Add support for QNX/Neutrino 7.1
    • 6a58758 Add ISO C functions atof, atol, atoll, strtoll, strtoull
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 2
  • Added recursive mount attr test

    Added recursive mount attr test

    Added test of rro mount option that implemented in #1398. /tmp/ is used as the bind mount path used for testing.

    Now, this PR implement rro option test only. And if this test is correct, add other option test(rrw, rnosuid...).

    • [x] rro
    • [ ] rrw
    • [x] rnosuid
    • [ ] rsuid
    • [ ] rnodev
    • [ ] rdev
    • [x] rnoexec
    • [ ] rexec
    • [ ] rnodiratime
    • [ ] rdiratime
    • [ ] rrelatime
    • [ ] rnorelatime
    • [ ] rnoatime
    • [ ] ratime
    • [ ] rstrictatime
    • [ ] rnostrictatime
    • [ ] rnosymfollow
    • [ ] rsymfollow

    Signed-off-by: higuruchi [email protected]

    opened by higuruchi 1
  • Support of nested containers, like Sysbox runtime

    Support of nested containers, like Sysbox runtime

    It would be amazing to be able to run nested containers without privileged mode, like Sysbox allows with Docker.

    Good testcase is:

    FROM ubuntu:20.04
    
    # Non-interactive installation requirements
    ARG DEBIAN_FRONTEND=noninteractive
    
    # Set installation options
    RUN echo 'debconf debconf/frontend select Noninteractive' > /debconf-seed.txt && \
        echo 'tzdata tzdata/Areas select Etc' >> /debconf-seed.txt && \
        echo 'tzdata tzdata/Zones/Etc select UTC' >> /debconf-seed.txt && \
        echo 'locales locales/locales_to_be_generated multiselect en_US.UTF-8 UTF-8' >> /debconf-seed.txt && \
        echo 'locales locales/default_environment_locale select en_US.UTF-8' >> /debconf-seed.txt && \
        debconf-set-selections /debconf-seed.txt
    
    RUN apt-get update -qq && apt-get install -y docker.io
    
    COPY inside.sh /inside.sh
    RUN /inside.sh
    

    where inside.sh is this script:

    #!/bin/sh
    
    # Start Docker daemon (only works with Sysbox runtime)
    nohup dockerd 2>&1 | tee "dockerd.log" &
    sleep 15
    cat "dockerd.log"
    docker info
    
    docker run alpine:3.16 cat /etc/os-release
    

    Then run it with docker build . It can be either Docker or Podman, both cases should be fine.

    opened by XVilka 1
Releases(v0.0.3)
  • v0.0.3(Apr 3, 2022)

    ✨ Big New Feature

    • Suppport executing wasm workloads with wasmer by @Furisto in https://github.com/containers/youki/pull/548 https://containers.github.io/youki/user/webassembly.html

    https://user-images.githubusercontent.com/13010913/161427432-1227daa6-698b-43f6-a1c9-b94f40402bba.mp4

    • Initial checkpoint support by @adrianreber in https://github.com/containers/youki/pull/641
    • Register youki's crates to crates.io.
      • https://crates.io/crates/libcgroups
      • https://crates.io/crates/liboci-cli
      • libcontainers(coming soon)

    💪 Improvements

    • Add gitpod as development option by @Furisto in https://github.com/containers/youki/pull/576
    • Support umask by @Furisto in https://github.com/containers/youki/pull/642
    • adding HOME into envs when init containers by @mitnk in https://github.com/containers/youki/pull/681
    • Use buffered io for reading state file by @Furisto in https://github.com/containers/youki/pull/683
    • Refactor Directory structure by @YJDoc2 in https://github.com/containers/youki/pull/694
    • Add tests to crates/libcgroups/src/v2/devices/controller.rs by @cr0ax in https://github.com/containers/youki/pull/706
    • Add a description to 'create daemon.json' in Basic Usage in docs by @TomoroKobori in https://github.com/containers/youki/pull/707
    • Adds more mocked tests by @cr0ax in https://github.com/containers/youki/pull/711
    • add the rust-analyzer for gitpod. by @utam0k in https://github.com/containers/youki/pull/717
    • Use cgroup.kill file if available by @Furisto in https://github.com/containers/youki/pull/722
    • Add support for seccomp filter flags by @saschagrunert in https://github.com/containers/youki/pull/733
    • Use the libseccomp-rs/libseccomp-rs crate instead of youki original libseccomp-rs. by @utam0k in https://github.com/containers/youki/pull/741
    • Update oci-spec-rs to v0.5.5 by @saschagrunert in https://github.com/containers/youki/pull/744
    • Add the metadates for publishing a crate by @utam0k in https://github.com/containers/youki/pull/732
    • Support rust 1.59.0 by @utam0k in https://github.com/containers/youki/pull/745
    • Use close_range where possible by @Furisto in https://github.com/containers/youki/pull/758
    • Bump anyhow from 1.0.55 to 1.0.56 and fix warnings by @Furisto in https://github.com/containers/youki/pull/767
    • Introduce the root Makefile. by @utam0k in https://github.com/containers/youki/pull/774
    • Organize the workflows to adapt Makefile. by @utam0k in https://github.com/containers/youki/pull/780
    • Resolve deprecation warnings from clap by @YJDoc2 in https://github.com/containers/youki/pull/798
    • Release v0.0.3 by @utam0k in https://github.com/containers/youki/pull/816

    🐛 Bug Fixes

    • Use /dev/null inside of the container by @adrianreber in https://github.com/containers/youki/pull/630
    • Fix some typos and align formatting by @Szymongib in https://github.com/containers/youki/pull/631
    • Always call setsid by @Furisto in https://github.com/containers/youki/pull/632
    • ready for integration test for the exec command. by @utam0k in https://github.com/containers/youki/pull/622
    • Ensure namespaces are entered in correct order by @Furisto in https://github.com/containers/youki/pull/674
    • Remove duplication from commands execution in Integration tests by @Szymongib in https://github.com/containers/youki/pull/673
    • make sure test_make_parent_mount_private() passes even when root is not a slave. by @utam0k in https://github.com/containers/youki/pull/682
    • make the rootless code testable by @utam0k in https://github.com/containers/youki/pull/634
    • Add tests to libcgroups/src/v2/devices/emulator.rs by @cr0ax in https://github.com/containers/youki/pull/704
    • remove cargo config by @Junnplus in https://github.com/containers/youki/pull/712
    • Always use the same permissions for youki dir by @Szymongib in https://github.com/containers/youki/pull/705
    • Remove caching of OCI tests in CI by @YJDoc2 in https://github.com/containers/youki/pull/727
    • Fix Cargo.lock file that gets generated after build by @harche in https://github.com/containers/youki/pull/734
    • Bring back architecture diagrams to README. by @utam0k in https://github.com/containers/youki/pull/739
    • Handle relative paths by @Szymongib in https://github.com/containers/youki/pull/740
    • Create the pid file with integration test by @utam0k in https://github.com/containers/youki/pull/762
    • Fix a comment explaining that seccom_rule_add requires multiple args to be broken into multiple rules. by @yihuaf in https://github.com/containers/youki/pull/775
    • introduce the timeout for github actions by @utam0k in https://github.com/containers/youki/pull/777
    • fix log control env val not passing properly. by @utam0k in https://github.com/containers/youki/pull/778
    • update README.md for makefile. by @utam1k in https://github.com/containers/youki/pull/779
    • fix the release workflow. by @utam0k in https://github.com/containers/youki/pull/781
    • make dependabot work again. by @utam0k in https://github.com/containers/youki/pull/782

    🤝 New Contributors

    • @Szymongib made their first contribution in https://github.com/containers/youki/pull/631
    • @mitnk made their first contribution in https://github.com/containers/youki/pull/681
    • @TomoroKobori made their first contribution in https://github.com/containers/youki/pull/707
    • @Junnplus made their first contribution in https://github.com/containers/youki/pull/712
    • @harche made their first contribution in https://github.com/containers/youki/pull/734

    Full Changelog: https://github.com/containers/youki/compare/v0.0.2...v0.0.3

    Source code(tar.gz)
    Source code(zip)
    youki_0_0_3_linux.tar.gz(2.10 MB)
  • v0.0.2(Jan 22, 2022)

    ⚠ Notes

    • Add minimum rust version requirement to libcgroups and libcontainers by @YJDoc2 in https://github.com/containers/youki/pull/626 Due to CVE-2022-21658 found in Rust standard library, 1.58.1 will be the minimum supported version.

    💪 Improvements

    • Resolved needs_to_handle TODO's by @SarthakSingh31 in https://github.com/containers/youki/pull/568
    • Add option to list test groups by @Furisto in https://github.com/containers/youki/pull/573
    • Add commit id to info cmd by @Furisto in https://github.com/containers/youki/pull/593
    • Readonly paths by @YJDoc2 in https://github.com/containers/youki/pull/582
    • clean up the shell script for youki integration test. by @utam0k in https://github.com/containers/youki/pull/600
    • Pin nightly version in CI as temporary fix to coverage issue by @YJDoc2 in https://github.com/containers/youki/pull/619
      • Nightly was sometimes broken
    • make the runtime-tools directory one level deeper. by @utam0k in https://github.com/containers/youki/pull/614
    • integration test: move config.json to the code. by @utam0k in https://github.com/containers/youki/pull/621

    🐛 Bug Fixes

    • Interpret a cpu quota of zero as default value by @Furisto in https://github.com/containers/youki/pull/569
    • Use correct hugetlb interface file name by @Furisto in https://github.com/containers/youki/pull/579
    • Improve cgroup path handling for rootless containers by @Furisto in https://github.com/containers/youki/pull/597
    • Ensure youki runs under podman by @Furisto in https://github.com/containers/youki/pull/613
    • Ensure exec command can find config.json by @Furisto in https://github.com/containers/youki/pull/616
    • Create device as 0666 and not 066 by @adrianreber in https://github.com/containers/youki/pull/627

    🤝 New Contributors

    • @SarthakSingh31 made their first contribution in https://github.com/containers/youki/pull/568
    • @inductor made their first contribution in https://github.com/containers/youki/pull/572
    • @em- made their first contribution in https://github.com/containers/youki/pull/580
    • @adrianreber made their first contribution in https://github.com/containers/youki/pull/627

    Full Changelog: https://github.com/containers/youki/compare/v0.0.1...v0.0.2

    Source code(tar.gz)
    Source code(zip)
    youki_0_0_2_linux.tar.gz(1.83 MB)
  • v0.0.1(Dec 26, 2021)

    https://www.utam0k.jp/en/blog/2021/12/27/youki_first_release/

    What's Changed * Add for local to README by @succie in https://github.com/containers/youki/pull/1 * Update README.md by @aoki in https://github.com/containers/youki/pull/3 * traial implementation of async/await. by @utam0k in https://github.com/containers/youki/pull/4 * introduce ci for checkinng codes by github actions. by @utam0k in https://github.com/containers/youki/pull/5 * implementation the controller of devices in cgroups. by @utam0k in https://github.com/containers/youki/pull/6 * Improvement to make easier to write tests by @utam0k in https://github.com/containers/youki/pull/7 * organize and add to the list of features. by @utam0k in https://github.com/containers/youki/pull/18 * add information about the pronunciation and the etymology of youki by @yuchiki in https://github.com/containers/youki/pull/19 * Support hugetlb cgroup by @Furisto in https://github.com/containers/youki/pull/15 * refactor a code of github actions. by @utam0k in https://github.com/containers/youki/pull/22 * add pids cgroup controller by @0xdco in https://github.com/containers/youki/pull/26 * Change logo by @cr0ax in https://github.com/containers/youki/pull/29 * add memory cgroup controller by @tsturzl in https://github.com/containers/youki/pull/16 * adjust the size of the logo. by @utam0k in https://github.com/containers/youki/pull/30 * Blkio cgroup support by @Furisto in https://github.com/containers/youki/pull/31 * Fix typo in README.md regarding opencontainers/runtime-tools by @akluth in https://github.com/containers/youki/pull/35 * cgroup v1 networking by @tsturzl in https://github.com/containers/youki/pull/34 * fix a memory subsystem by @utam0k in https://github.com/containers/youki/pull/36 * Add comments to main.rs by @YJDoc2 in https://github.com/containers/youki/pull/38 * Update Rust-Analyzer in Dockerfile by @nalpine in https://github.com/containers/youki/pull/40 * get oci_spec in seperate crate by @ferrell-code in https://github.com/containers/youki/pull/42 * extract the integration tests writen in the ci file as a script file. by @utam0k in https://github.com/containers/youki/pull/37 * revert asynchronous devices mounting. by @utam0k in https://github.com/containers/youki/pull/41 * organize the logger. by @utam0k in https://github.com/containers/youki/pull/47 * add default handling when there isn't cgroup path in config.json. by @utam0k in https://github.com/containers/youki/pull/45 * add the tutorial on using youki. by @utam0k in https://github.com/containers/youki/pull/49 * update README. by @utam0k in https://github.com/containers/youki/pull/50 * Initial support for cgroups v2 by @Furisto in https://github.com/containers/youki/pull/48 * make log level debug to get more information when ci failed. 4b260b0 by @utam0k in https://github.com/containers/youki/pull/53 * cargo clippy. by @utam0k in https://github.com/containers/youki/pull/52 * Align cgroup controller implementations by @Furisto in https://github.com/containers/youki/pull/54 * Consolidate cgroup test methods by @Furisto in https://github.com/containers/youki/pull/57 * Add 'Community' section to README.md by @nimrodshn in https://github.com/containers/youki/pull/59 * Update README.md by @aoki in https://github.com/containers/youki/pull/58 * Add comments to create.rs by @YJDoc2 in https://github.com/containers/youki/pull/43 * utam0k -> containers by @smorimoto in https://github.com/containers/youki/pull/61 * Support for cgroup v1 cpu and cpuset subsystem by @Furisto in https://github.com/containers/youki/pull/63 * Add comments to process module and minor refactoring by @YJDoc2 in https://github.com/containers/youki/pull/64 * Added install command for prerequisite in README by @PeterYordanov in https://github.com/containers/youki/pull/66 * Fixed spelling mistake in src/rootfs.rs by @PeterYordanov in https://github.com/containers/youki/pull/67 * add handling of WouldBlock error. by @utam0k in https://github.com/containers/youki/pull/68 * Change execution path and fix CI by @minakawa-daiki in https://github.com/containers/youki/pull/73 * Fix issues with cgroup v1 and v2 by @Furisto in https://github.com/containers/youki/pull/69 * Added Integration test template by @minakawa-daiki in https://github.com/containers/youki/pull/71 * Added doc comments modules by @PeterYordanov in https://github.com/containers/youki/pull/70 * add some widgets to README.md by @utam0k in https://github.com/containers/youki/pull/76 * Handle relative cgroup paths by @Furisto in https://github.com/containers/youki/pull/74 * Improved testing, property testing, device tests by @tsturzl in https://github.com/containers/youki/pull/75 * Document Container and Command modules by @YJDoc2 in https://github.com/containers/youki/pull/79 * Fix badges in README by @tsturzl in https://github.com/containers/youki/pull/80 * add create kill delete state in integration test by @duduainankai in https://github.com/containers/youki/pull/81 * Provide better error messages by @Furisto in https://github.com/containers/youki/pull/84 * Clean up use of unsafe by @tsturzl in https://github.com/containers/youki/pull/85 * Add info command by @Furisto in https://github.com/containers/youki/pull/83 * Fix README link typo by @sasurau4 in https://github.com/containers/youki/pull/88 * Add CODE-OF-CONDUCT.md and SECURITY.md by @utam0k in https://github.com/containers/youki/pull/86 * clean up around the tty. by @utam0k in https://github.com/containers/youki/pull/89 * Rename Cond to Pipe by @YJDoc2 in https://github.com/containers/youki/pull/90 * make sure to log any unimplemented controllers. by @utam0k in https://github.com/containers/youki/pull/91 * [WIP] Add support for cpuacct in cgroup v1. by @yjuba in https://github.com/containers/youki/pull/92 * use bail! insted of anyhow by @utam0k in https://github.com/containers/youki/pull/94 * Add a test for applying CpuAcct. by @yjuba in https://github.com/containers/youki/pull/96 * Add cgroup v1 freezer controller by @duduainankai in https://github.com/containers/youki/pull/93 * Experimental support for rootless containers by @Furisto in https://github.com/containers/youki/pull/98 * Add unit tests for tty module by @constreference in https://github.com/containers/youki/pull/102 * Extend info cmd with version and os by @Furisto in https://github.com/containers/youki/pull/101 * Use `assert!` instead of `assert_eq!` when comparing a boolean. by @utam0k in https://github.com/containers/youki/pull/104 * Add support for systemd managed cgroups by @nimrodshn in https://github.com/containers/youki/pull/46 * update README.md by @utam0k in https://github.com/containers/youki/pull/105 * Fix README.md Fedora & Centos instructions by @nimrodshn in https://github.com/containers/youki/pull/107 * Add list command by @Furisto in https://github.com/containers/youki/pull/108 * improve build time in CI by @utam0k in https://github.com/containers/youki/pull/97 * split the subcommands into their own files. by @utam0k in https://github.com/containers/youki/pull/110 * Update README.md by @bkochendorfer in https://github.com/containers/youki/pull/112 * Seperate adding tasks to cgroups and applying resource restrictions by @Furisto in https://github.com/containers/youki/pull/111 * Require only requested cgroups to be present by @Furisto in https://github.com/containers/youki/pull/114 * force delete container if it is running or created by @TinySong in https://github.com/containers/youki/pull/115 * add comments in intergration_test.sh about test case that runc no paas by @TinySong in https://github.com/containers/youki/pull/116 * remove unnecessary clone() in create.rs by @utam0k in https://github.com/containers/youki/pull/117 * add cgroup v2 pids controller by @TinySong in https://github.com/containers/youki/pull/119 * make String to signal conversion more simplify by using a Trait. by @utam0k in https://github.com/containers/youki/pull/122 * Reduce size of binary by @Furisto in https://github.com/containers/youki/pull/124 * Add cgroup v2 freezer controller by @duduainankai in https://github.com/containers/youki/pull/123 * Modularize container creation by @Furisto in https://github.com/containers/youki/pull/121 * Cgroupv2 io controller by @TinySong in https://github.com/containers/youki/pull/128 * fix the warnings shown by cargo clippy by @utam0k in https://github.com/containers/youki/pull/127 * Add format check ci by @duduainankai in https://github.com/containers/youki/pull/129 * Fix spec path in delete by @duduainankai in https://github.com/containers/youki/pull/130 * Fix same tmp dir in freezer v2 tests by @duduainankai in https://github.com/containers/youki/pull/133 * Document capabilities rs and refactor its drop_privileges function by @YJDoc2 in https://github.com/containers/youki/pull/131 * Document Info module by @YJDoc2 in https://github.com/containers/youki/pull/136 * cgroupsv2 hugetlb by @0xdco in https://github.com/containers/youki/pull/135 * Document list and logger modules by @YJDoc2 in https://github.com/containers/youki/pull/137 * Implement exec command by @Furisto in https://github.com/containers/youki/pull/138 * Add pause and resume command by @duduainankai in https://github.com/containers/youki/pull/139 * Adds spec cli command by @ferrell-code in https://github.com/containers/youki/pull/55 * memory cgv2 subsystem implemented by @tsturzl in https://github.com/containers/youki/pull/141 * add serde_support to caps by @ferrell-code in https://github.com/containers/youki/pull/151 * Correctly handle the rootfs path with bundle by @yihuaf in https://github.com/containers/youki/pull/153 * Refactor the container creation to use `clone(2)` instead of fork. by @yihuaf in https://github.com/containers/youki/pull/143 * prepare Vagrant instead of devcontainer for platforms other than linux. by @utam0k in https://github.com/containers/youki/pull/100 * Document namespace.rs by @YJDoc2 in https://github.com/containers/youki/pull/154 * Move commands into dedicated module by @Furisto in https://github.com/containers/youki/pull/155 * Fix alignment of cgroups info by @Furisto in https://github.com/containers/youki/pull/157 * Document Pause and Resume by @YJDoc2 in https://github.com/containers/youki/pull/156 * Converted linux in spec from Option to Linux by @YJDoc2 in https://github.com/containers/youki/pull/158 * add implementation of run command by @zidoshare in https://github.com/containers/youki/pull/160 * Cleanup state file path construction by @saschagrunert in https://github.com/containers/youki/pull/161 * bump up to nix-0.22.0 by @utam0k in https://github.com/containers/youki/pull/164 * Add integration tests for life cycle by @minakawa-daiki in https://github.com/containers/youki/pull/113 * Use `remove_dir` instead of `remove_dir_all` because youki doesn't have permission to delete contents in cgroup directory. by @utam0k in https://github.com/containers/youki/pull/165 * add perf_event to cgroups v1 by @fbrv in https://github.com/containers/youki/pull/166 * Refactor clone(2) child stack creation. by @yihuaf in https://github.com/containers/youki/pull/167 * make the builder pattern more flowing and code readable. by @utam0k in https://github.com/containers/youki/pull/169 * Generalize OCI spec root by @saschagrunert in https://github.com/containers/youki/pull/174 * Fix how closure is transferred to the clone call. by @yihuaf in https://github.com/containers/youki/pull/173 * ci with release build by @utam0k in https://github.com/containers/youki/pull/175 * Implement events command for cgroup v1 stats by @Furisto in https://github.com/containers/youki/pull/171 * Implementation of ps commmand by @zidoshare in https://github.com/containers/youki/pull/172 * Implement --preserve-fds flag by @yihuaf in https://github.com/containers/youki/pull/177 * Add `Hooks` to OCI spec by @saschagrunert in https://github.com/containers/youki/pull/178 * implemented LISTEN_FDS by @yihuaf in https://github.com/containers/youki/pull/180 * Add Windows, VM and Solaris types by @saschagrunert in https://github.com/containers/youki/pull/181 * make ci fail even with clippy warning level. by @utam0k in https://github.com/containers/youki/pull/176 * Update README to reflect completion of features by @tsturzl in https://github.com/containers/youki/pull/190 * Implement events command for cgroup v2 stats by @Furisto in https://github.com/containers/youki/pull/191 * adjust author and version to current status. by @utam0k in https://github.com/containers/youki/pull/192 * Improve looking up the root directory by @Furisto in https://github.com/containers/youki/pull/193 * reduce the number of clones by introducing lifetime to rootless. by @utam0k in https://github.com/containers/youki/pull/194 * delete the original FileDescriptor. by @utam0k in https://github.com/containers/youki/pull/195 * Make optional types optional by @saschagrunert in https://github.com/containers/youki/pull/183 * support readonly path by @duduainankai in https://github.com/containers/youki/pull/196 * reduce the number of clones by introducing lifetime to namespaces. by @utam0k in https://github.com/containers/youki/pull/197 * Move cgroups into own crate by @Furisto in https://github.com/containers/youki/pull/198 * Support sysctl by @Furisto in https://github.com/containers/youki/pull/199 * Change the license from MIT to Apache 2.0 by @utam0k in https://github.com/containers/youki/pull/200 * Implemented hooks by @yihuaf in https://github.com/containers/youki/pull/187 * Reflected that oci_spec has been moved to a separate repository by @utam0k in https://github.com/containers/youki/pull/202 * Support unified resource section by @Furisto in https://github.com/containers/youki/pull/203 * Organize integration tests and add current status to README by @utam0k in https://github.com/containers/youki/pull/204 * make sure integration tests complete in ubuntu 20.04 enviroment. by @utam0k in https://github.com/containers/youki/pull/206 * Fail fast to create a container if bundle path is illegal by @tiqwab in https://github.com/containers/youki/pull/210 * ensure theat read only paths work properly. by @utam0k in https://github.com/containers/youki/pull/212 * fork: use 8MB stack if rlimit returns unlimited by @MoZhonghua in https://github.com/containers/youki/pull/214 * Chdir to process.cwd before starting container to pass integration test by @guni1192 in https://github.com/containers/youki/pull/215 * increment as we pass the `process` case. by @utam0k in https://github.com/containers/youki/pull/216 * Add necessary libraries to build youki in Vagrant provision by @tiqwab in https://github.com/containers/youki/pull/219 * Fix clone(2) with double fork by @yihuaf in https://github.com/containers/youki/pull/217 * Fix integration_test script for go env by @chenyukang in https://github.com/containers/youki/pull/222 * Show error log only when error happens by @chenyukang in https://github.com/containers/youki/pull/223 * exclude blkio test case in runtime-tools bacause it doesn't support linux kernel 5.0 or later. by @utam0k in https://github.com/containers/youki/pull/211 * Fix #209, pass root-readonly by @chenyukang in https://github.com/containers/youki/pull/224 * Tweak document by @chenyukang in https://github.com/containers/youki/pull/220 * introduction to sequence diagrams using vscode's draw.io by @utam0k in https://github.com/containers/youki/pull/231 * Fix user namespace for integration tests by @yihuaf in https://github.com/containers/youki/pull/233 * Fix tutorial in readme by @chenyukang in https://github.com/containers/youki/pull/229 * Fix graceful shutdown when intermediate or init process errors or panic by @yihuaf in https://github.com/containers/youki/pull/238 * [WIP] cgroups v2: PoC of devices controller by @MoZhonghua in https://github.com/containers/youki/pull/208 * Pass misc props test by @Furisto in https://github.com/containers/youki/pull/245 * Use chroot when not entering into mount namespace by @yihuaf in https://github.com/containers/youki/pull/242 * [Trivial] Include 3 more passed integration test by @yihuaf in https://github.com/containers/youki/pull/247 * distinguish channels more clearly between each process by @utam0k in https://github.com/containers/youki/pull/244 * [Trivial] Fix a typo where gid should be uid. by @yihuaf in https://github.com/containers/youki/pull/253 * enable oom_score_adj test by @yihuaf in https://github.com/containers/youki/pull/251 * Add codecov by @chenyukang in https://github.com/containers/youki/pull/232 * Pass process user integration test by @Furisto in https://github.com/containers/youki/pull/243 * Minor improvements to Container Struct by @utam0k in https://github.com/containers/youki/pull/257 * Add namespace information to info command by @Furisto in https://github.com/containers/youki/pull/258 * add tests of ContainerStatus. by @utam0k in https://github.com/containers/youki/pull/264 * The `.grcov.yml` moves under the `.github/` because `.github/workflows` is recognized as GitHub actions files. by @utam0k in https://github.com/containers/youki/pull/263 * Print logfile when test case crash by @chenyukang in https://github.com/containers/youki/pull/265 * Create test framework and setup initial integration tests by @YJDoc2 in https://github.com/containers/youki/pull/186 * fix unstable the channel tests. by @utam0k in https://github.com/containers/youki/pull/267 * fix a failure because it is running before checkout. by @utam0k in https://github.com/containers/youki/pull/270 * disable the code coverage because of unstable. by @utam0k in https://github.com/containers/youki/pull/272 * Rework cgroup detection by @Furisto in https://github.com/containers/youki/pull/269 * Pass mounts/mounts in testing by @chenyukang in https://github.com/containers/youki/pull/268 * bump clap and use crate_version macro by @humancalico in https://github.com/containers/youki/pull/259 * CI Code Coverage Fix by @YJDoc2 in https://github.com/containers/youki/pull/273 * Bump procfs by @Furisto in https://github.com/containers/youki/pull/274 * Pass linux_masked_paths by @chenyukang in https://github.com/containers/youki/pull/276 * Fixing and stabilizing github actions by @utam0k in https://github.com/containers/youki/pull/275 * Stablize cargo test by @yihuaf in https://github.com/containers/youki/pull/277 * Change cache action from default to Swatinem/rust-cache@v1 by @YJDoc2 in https://github.com/containers/youki/pull/278 * cache runtime-tools. by @utam0k in https://github.com/containers/youki/pull/280 * fix cargo clippy warning in cgroups. by @utam0k in https://github.com/containers/youki/pull/281 * fix: Mismatch of PWD in tutorial by @kenoss in https://github.com/containers/youki/pull/283 * Convert memory swap values by @Furisto in https://github.com/containers/youki/pull/285 * add Rust 1.55.0 by @utam0k in https://github.com/containers/youki/pull/288 * fix cargo clippy warning in cgroups by @utam0k in https://github.com/containers/youki/pull/291 * check if commands used in the unit test exists. by @utam0k in https://github.com/containers/youki/pull/290 * Pass uid_mapping test by @tommady in https://github.com/containers/youki/pull/289 * fix a failure when dirs is empty at changes job. by @utam0k in https://github.com/containers/youki/pull/294 * Upgrade oci-spec-rs to 0.4.0 by @guni1192 in https://github.com/containers/youki/pull/266 * update oci compliance in README. by @utam0k in https://github.com/containers/youki/pull/293 * 279 increate the code coverage of src capabilities by @tommady in https://github.com/containers/youki/pull/296 * Extend info cmd with status of cgroup controllers by @Furisto in https://github.com/containers/youki/pull/286 * sipliy split init.rs into several files. by @utam0k in https://github.com/containers/youki/pull/297 * Introduce a workspace to enable execution of commands in bulk. by @utam0k in https://github.com/containers/youki/pull/287 * Don't skip the hook timeout test, to incease coverage by @yihuaf in https://github.com/containers/youki/pull/298 * Implemented seccomp and pass the integration test by @yihuaf in https://github.com/containers/youki/pull/292 * update the README about seccomp. by @utam0k in https://github.com/containers/youki/pull/301 * fix doc comment of with_preserved_fds by @shorii in https://github.com/containers/youki/pull/302 * Forbid empty string values for container id in commands by @YJDoc2 in https://github.com/containers/youki/pull/305 * Fix Changes Job in CI by @YJDoc2 in https://github.com/containers/youki/pull/306 * prepare to use system call mocks in unit tests by @utam0k in https://github.com/containers/youki/pull/304 * handle name as a str instead of a String. by @utam0k in https://github.com/containers/youki/pull/308 * Add `new` method to instantiate Delete command by @alfonsoros88 in https://github.com/containers/youki/pull/262 * Support 'shared' and 'unbindable' rootfs propagations by @tiqwab in https://github.com/containers/youki/pull/309 * Add integration test utils necessary for implementing rest integration tests by @YJDoc2 in https://github.com/containers/youki/pull/310 * Implement apparmor support by @Furisto in https://github.com/containers/youki/pull/312 * add unit tests for gid and uid mapping in `builder_impl()` by @utam0k in https://github.com/containers/youki/pull/311 * Fix error message(`LinuixIdMapping` to `uid_mappings`) by @shorii in https://github.com/containers/youki/pull/318 * style: Fix indentation by @kenoss in https://github.com/containers/youki/pull/319 * avoid cloning LinuxResources because it is a large structure. by @utam0k in https://github.com/containers/youki/pull/320 * fix vagrant errors #321 by @zidoshare in https://github.com/containers/youki/pull/322 * fix build error in vagrant by @zidoshare in https://github.com/containers/youki/pull/323 * rootful mode for vagrant by @zidoshare in https://github.com/containers/youki/pull/324 * fix flaky unit tests by @utam0k in https://github.com/containers/youki/pull/326 * Make container commands more suitable for use as a library by @Furisto in https://github.com/containers/youki/pull/314 * add a unit test for applying cgroup in builder_impl(). by @utam0k in https://github.com/containers/youki/pull/325 * Complete command help information by @Furisto in https://github.com/containers/youki/pull/334 * Improve readme and docs by @Furisto in https://github.com/containers/youki/pull/335 * Adds a note why `pidfile` integration test doesn't work by @yihuaf in https://github.com/containers/youki/pull/315 * add to README that all runtime_tools tests have been covered. by @utam0k in https://github.com/containers/youki/pull/336 * Updated oci-spec-rs to 0.5.1 or later by @guni1192 in https://github.com/containers/youki/pull/303 * Ensure cgroup error behavior is consistent with runc by @Furisto in https://github.com/containers/youki/pull/333 * fix inaccessiblity of private field. by @utam0k in https://github.com/containers/youki/pull/338 * Add various refactorings by @tranzystorek-io in https://github.com/containers/youki/pull/341 * Implement seccomp notify by @yihuaf in https://github.com/containers/youki/pull/330 * Add HugeTLB tests by @YJDoc2 in https://github.com/containers/youki/pull/339 * README edits for clarity and correctness by @lincolnauster in https://github.com/containers/youki/pull/348 * Implemented util function to test in child process by @yihuaf in https://github.com/containers/youki/pull/345 * Seal /proc/self/exe to protect against CVE-2019-5736 by @oblique in https://github.com/containers/youki/pull/343 * remove dead code in src/utils.rs by @hle0 in https://github.com/containers/youki/pull/352 * Support cgroup namespaces for cgroup v1 by @Furisto in https://github.com/containers/youki/pull/349 * Add pid to newuidmap/newgidmap as argument by @shorii in https://github.com/containers/youki/pull/353 * Add cgroup namespace to info command by @Furisto in https://github.com/containers/youki/pull/355 * Add rootless option for spec by @chenyukang in https://github.com/containers/youki/pull/350 * part of PR 340 - adding syscalls by @tommady in https://github.com/containers/youki/pull/356 * part of PR 340 moving syscalls into structure by @tommady in https://github.com/containers/youki/pull/357 * part of PR 340 adding two testcases test_to_sflag and test_parse_mount by @tommady in https://github.com/containers/youki/pull/358 * part of PR 340 adding test_setup_ptmx and test_setup_default_symlinks by @tommady in https://github.com/containers/youki/pull/359 * Implement secure_join for path by @Ian-Yy in https://github.com/containers/youki/pull/354 * part of PR 340 adding test_bind_dev,test_mknod_dev and test_create_devices by @tommady in https://github.com/containers/youki/pull/362 * use the console for code blocks. by @utam0k in https://github.com/containers/youki/pull/368 * Check libseccomp is available at correct version on build by @tsturzl in https://github.com/containers/youki/pull/367 * Use generic for signal argument in container_kill by @alfonsoros88 in https://github.com/containers/youki/pull/363 * Combine test_framework and add README and guide for integration tests by @YJDoc2 in https://github.com/containers/youki/pull/360 * Update Youki with latest oci-spec-rs by @yihuaf in https://github.com/containers/youki/pull/364 * remove a unnecessary clone method. by @utam0k in https://github.com/containers/youki/pull/370 * part of PR 340 adding test_mount_to_container and separate rootfs file by @tommady in https://github.com/containers/youki/pull/365 * Restructure the channel code once again by @yihuaf in https://github.com/containers/youki/pull/372 * organize the process around the namespace in init by @utam0k in https://github.com/containers/youki/pull/371 * Add integration tests validation workflow by @YJDoc2 in https://github.com/containers/youki/pull/375 * part of PR 340 adding test_make_parent_mount_private by @tommady in https://github.com/containers/youki/pull/374 * Support systemd named hierarchy and emulate cgroup namespaces for v1 control cgroups by @Furisto in https://github.com/containers/youki/pull/373 * Improve integration test readme by @Furisto in https://github.com/containers/youki/pull/377 * 279 increate the code coverage of src container by @tommady in https://github.com/containers/youki/pull/376 * Support cgroup v2 mounts by @Furisto in https://github.com/containers/youki/pull/378 * Add pidfile test by @YJDoc2 in https://github.com/containers/youki/pull/379 * remove a GitHub commit activeity. by @utam0k in https://github.com/containers/youki/pull/383 * Fix multi mapping for rootless containers by @Furisto in https://github.com/containers/youki/pull/381 * Update procfs by @Furisto in https://github.com/containers/youki/pull/387 * Fix path issues by @Furisto in https://github.com/containers/youki/pull/386 * fix running unit tests multiple times will cause a rare failed by @tommady in https://github.com/containers/youki/pull/380 * Refactor process and channel code by @yihuaf in https://github.com/containers/youki/pull/388 * remove a unnecessary calls to clone() by limiting the lifetime. by @utam0k in https://github.com/containers/youki/pull/390 * implement seccomp notify by @yihuaf in https://github.com/containers/youki/pull/384 * turning the sequnce diagram. by @utam0k in https://github.com/containers/youki/pull/394 * add a unit test for mounting cgroup v1 by @utam0k in https://github.com/containers/youki/pull/392 * Add readme for rootless by @chenyukang in https://github.com/containers/youki/pull/395 * Cgroup v1 pid integration tests by @Furisto in https://github.com/containers/youki/pull/391 * small improvement by @utam0k in https://github.com/containers/youki/pull/399 * Add ns_itype test by @YJDoc2 in https://github.com/containers/youki/pull/389 * add a unit test for fork. by @utam0k in https://github.com/containers/youki/pull/401 * add a unit test for the failed case of fork. by @utam0k in https://github.com/containers/youki/pull/402 * Make youki a library crate by @Furisto in https://github.com/containers/youki/pull/403 * [Trivial] minor fixes by @yihuaf in https://github.com/containers/youki/pull/406 * increate the code coverage of src process part1 by @tommady in https://github.com/containers/youki/pull/397 * add a config about the dependabot. by @utam0k in https://github.com/containers/youki/pull/407 * Bump instant from 0.1.10 to 0.1.12 by @dependabot in https://github.com/containers/youki/pull/408 * Bump syn from 1.0.76 to 1.0.80 by @dependabot in https://github.com/containers/youki/pull/409 * Bump smallvec from 1.6.1 to 1.7.0 by @dependabot in https://github.com/containers/youki/pull/412 * Bump cstr-argument from 0.1.1 to 0.1.2 by @dependabot in https://github.com/containers/youki/pull/414 * Bump anyhow from 1.0.43 to 1.0.44 by @dependabot in https://github.com/containers/youki/pull/417 * Bump dbus from 0.9.3 to 0.9.5 by @dependabot in https://github.com/containers/youki/pull/410 * Bump libc from 0.2.101 to 0.2.105 by @dependabot in https://github.com/containers/youki/pull/419 * Bump serde_json from 1.0.67 to 1.0.68 by @dependabot in https://github.com/containers/youki/pull/418 * Bump thiserror from 1.0.29 to 1.0.30 by @dependabot in https://github.com/containers/youki/pull/421 * Bump unicode-width from 0.1.8 to 0.1.9 by @dependabot in https://github.com/containers/youki/pull/420 * Bump cc from 1.0.70 to 1.0.71 by @dependabot in https://github.com/containers/youki/pull/422 * Bump pkg-config from 0.3.20 to 0.3.21 by @dependabot in https://github.com/containers/youki/pull/413 * Bump libbpf-sys from 0.4.0-2 to 0.5.0-1 by @dependabot in https://github.com/containers/youki/pull/411 * Bump nix from 0.22.1 to 0.23.0 by @dependabot in https://github.com/containers/youki/pull/425 * Bump proc-macro2 from 1.0.29 to 1.0.30 by @dependabot in https://github.com/containers/youki/pull/426 * Bump systemd from 0.8.2 to 0.9.0 by @dependabot in https://github.com/containers/youki/pull/429 * Bump slab from 0.4.4 to 0.4.5 by @dependabot in https://github.com/containers/youki/pull/427 * Bump mio from 0.7.13 to 0.7.14 by @dependabot in https://github.com/containers/youki/pull/424 * Bump errno-dragonfly from 0.1.1 to 0.1.2 by @dependabot in https://github.com/containers/youki/pull/433 * Bump ppv-lite86 from 0.2.14 to 0.2.15 by @dependabot in https://github.com/containers/youki/pull/432 * Bump quote from 1.0.9 to 1.0.10 by @dependabot in https://github.com/containers/youki/pull/430 * Bump pkg-config from 0.3.21 to 0.3.22 by @dependabot in https://github.com/containers/youki/pull/428 * Bump flate2 from 1.0.21 to 1.0.22 by @dependabot in https://github.com/containers/youki/pull/431 * implemented seccomp notify integration tests by @yihuaf in https://github.com/containers/youki/pull/435 * make the table of features in README more accurate. by @utam0k in https://github.com/containers/youki/pull/434 * Bump proc-macro2 from 1.0.30 to 1.0.32 by @dependabot in https://github.com/containers/youki/pull/437 * Update caps and clap by @YJDoc2 in https://github.com/containers/youki/pull/438 * Bump errno from 0.2.7 to 0.2.8 by @dependabot in https://github.com/containers/youki/pull/439 * Bump nix from 0.22.0 to 0.23.0 by @dependabot in https://github.com/containers/youki/pull/440 * add support for missing executable file. by @utam0k in https://github.com/containers/youki/pull/441 * increate the code coverage of src process part2 by @tommady in https://github.com/containers/youki/pull/436 * refactoring the syscall test by @tommady in https://github.com/containers/youki/pull/445 * Bump libc from 0.2.105 to 0.2.106 by @dependabot in https://github.com/containers/youki/pull/446 * Implement json log format by @yihuaf in https://github.com/containers/youki/pull/448 * Bump libbpf-sys from 0.5.0-1 to 0.5.0-2 by @dependabot in https://github.com/containers/youki/pull/449 * Bump anyhow from 1.0.44 to 1.0.45 by @dependabot in https://github.com/containers/youki/pull/450 * adding test_sync_seccomp for process/container_main_process by @tommady in https://github.com/containers/youki/pull/452 * Support resource control via systemd by @Furisto in https://github.com/containers/youki/pull/451 * Move to 2021 by @chenyukang in https://github.com/containers/youki/pull/405 * clearly state the feedback address in the README. by @utam0k in https://github.com/containers/youki/pull/456 * Integration test linux cgroups cpus by @tsturzl in https://github.com/containers/youki/pull/462 * Bump serde_json from 1.0.68 to 1.0.69 by @dependabot in https://github.com/containers/youki/pull/459 * Bump libc from 0.2.106 to 0.2.107 by @dependabot in https://github.com/containers/youki/pull/460 * `cgroup` should not be capitalized. by @utam0k in https://github.com/containers/youki/pull/463 * Bump cc from 1.0.71 to 1.0.72 by @dependabot in https://github.com/containers/youki/pull/466 * add a ci for the first release. by @utam0k in https://github.com/containers/youki/pull/458 * enable default error code for seccomp by @yihuaf in https://github.com/containers/youki/pull/470 * cgroups v1 memory integration test by @tsturzl in https://github.com/containers/youki/pull/473 * Fix test_make_parent_mount_private by @tsturzl in https://github.com/containers/youki/pull/472 * Bump mio from 0.7.14 to 0.8.0 by @dependabot in https://github.com/containers/youki/pull/477 * Bump serde_json from 1.0.69 to 1.0.70 by @dependabot in https://github.com/containers/youki/pull/476 * style: adjusting the position of parameters and flag declarations by @unknowndevQwQ in https://github.com/containers/youki/pull/474 * adding benchmark execution time github action by @tommady in https://github.com/containers/youki/pull/478 * Add debug flag by @unknowndevQwQ in https://github.com/containers/youki/pull/465 * Bump serde_json from 1.0.70 to 1.0.71 by @dependabot in https://github.com/containers/youki/pull/480 * youki original config by @utam0k in https://github.com/containers/youki/pull/447 * Systemd support for memory and unified restrictions by @Furisto in https://github.com/containers/youki/pull/479 * use a command instead of label to run benchmark. by @utam0k in https://github.com/containers/youki/pull/483 * Bump anyhow from 1.0.45 to 1.0.47 by @dependabot in https://github.com/containers/youki/pull/485 * Bump libc from 0.2.107 to 0.2.108 by @dependabot in https://github.com/containers/youki/pull/484 * Bump anyhow from 1.0.47 to 1.0.48 by @dependabot in https://github.com/containers/youki/pull/486 * Create a subdirectory under XDG_RUNTIME_DIR by @dgibson in https://github.com/containers/youki/pull/488 * Bump futures-io from 0.3.17 to 0.3.18 by @dependabot in https://github.com/containers/youki/pull/489 * Bump futures-core from 0.3.17 to 0.3.18 by @dependabot in https://github.com/containers/youki/pull/490 * Bump futures-channel from 0.3.17 to 0.3.18 by @dependabot in https://github.com/containers/youki/pull/493 * Bump crc32fast from 1.2.1 to 1.2.2 by @dependabot in https://github.com/containers/youki/pull/491 * Bump futures from 0.3.17 to 0.3.18 by @dependabot in https://github.com/containers/youki/pull/495 * Bump futures-task from 0.3.17 to 0.3.18 by @dependabot in https://github.com/containers/youki/pull/492 * Use /tmp/youki- rather than /tmp/youki/ in determine_root_path by @dgibson in https://github.com/containers/youki/pull/497 * Bump syn from 1.0.81 to 1.0.82 by @dependabot in https://github.com/containers/youki/pull/501 * Bump serde_json from 1.0.71 to 1.0.72 by @dependabot in https://github.com/containers/youki/pull/500 * make complex loglevel decision easy to understand. by @utam0k in https://github.com/containers/youki/pull/482 * Support resource restrictions for rootless containers by @Furisto in https://github.com/containers/youki/pull/499 * Bump procfs from 0.11.0 to 0.11.1 by @dependabot in https://github.com/containers/youki/pull/505 * Bump ryu from 1.0.5 to 1.0.6 by @dependabot in https://github.com/containers/youki/pull/503 * Bump anyhow from 1.0.48 to 1.0.50 by @dependabot in https://github.com/containers/youki/pull/502 * Bump getset from 0.1.1 to 0.1.2 by @dependabot in https://github.com/containers/youki/pull/504 * Bump anyhow from 1.0.50 to 1.0.51 by @dependabot in https://github.com/containers/youki/pull/507 * Bump crc32fast from 1.2.2 to 1.3.0 by @dependabot in https://github.com/containers/youki/pull/510 * Fix log files and remove env_logger by @yihuaf in https://github.com/containers/youki/pull/511 * Split CLI parsing front end into a separate crate by @dgibson in https://github.com/containers/youki/pull/509 * Improvements to cgroup support by @Furisto in https://github.com/containers/youki/pull/513 * ignore integration test crate for code coverage by @tsturzl in https://github.com/containers/youki/pull/517 * Add shell completion by @creepinson in https://github.com/containers/youki/pull/515 * Bump memoffset from 0.6.4 to 0.6.5 by @dependabot in https://github.com/containers/youki/pull/522 * Bump libbpf-sys from 0.5.0-2 to 0.6.0-1 by @dependabot in https://github.com/containers/youki/pull/521 * Bump libc from 0.2.108 to 0.2.109 by @dependabot in https://github.com/containers/youki/pull/520 * Bump proc-macro2 from 1.0.32 to 1.0.33 by @dependabot in https://github.com/containers/youki/pull/519 * Bump pkg-config from 0.3.22 to 0.3.23 by @dependabot in https://github.com/containers/youki/pull/523 * Integration test: cgroup v1 network tests, fix to memory tests by @tsturzl in https://github.com/containers/youki/pull/516 * bump rust from 1.56.1 to 1.57.0 by @utam0k in https://github.com/containers/youki/pull/524 * Bump hermit-abi from 0.1.19 to 0.1.20 by @dependabot in https://github.com/containers/youki/pull/526 * remove unneede `impl Default` by @utam0k in https://github.com/containers/youki/pull/527 * Bump ryu from 1.0.6 to 1.0.9 by @dependabot in https://github.com/containers/youki/pull/535 * Bump libc from 0.2.109 to 0.2.111 by @dependabot in https://github.com/containers/youki/pull/533 * Bump pkg-config from 0.3.23 to 0.3.24 by @dependabot in https://github.com/containers/youki/pull/532 * Bump serde_json from 1.0.72 to 1.0.73 by @dependabot in https://github.com/containers/youki/pull/539 * Update version for runc compatibility for Moby by @jhult in https://github.com/containers/youki/pull/530 * Implement integration tests for cgroup v2 cpu by @Furisto in https://github.com/containers/youki/pull/528 * Bump libc from 0.2.111 to 0.2.112 by @dependabot in https://github.com/containers/youki/pull/538 * Bump procfs from 0.11.1 to 0.12.0 by @dependabot in https://github.com/containers/youki/pull/534 * Bump proc-macro2 from 1.0.33 to 1.0.34 by @dependabot in https://github.com/containers/youki/pull/542 * Bump tar from 0.4.37 to 0.4.38 by @dependabot in https://github.com/containers/youki/pull/541 * Bump once_cell from 1.8.0 to 1.9.0 by @dependabot in https://github.com/containers/youki/pull/540 * implement the update subcommand(partially) by @knight42 in https://github.com/containers/youki/pull/536 * add the benchmark result to README. by @utam0k in https://github.com/containers/youki/pull/544 * Bump serde from 1.0.131 to 1.0.132 by @dependabot in https://github.com/containers/youki/pull/545 * fix(libcgroup): make cgroup manager be able to set blkio weight by @knight42 in https://github.com/containers/youki/pull/543 * Add Cgroup V1 block IO integration test by @YJDoc2 in https://github.com/containers/youki/pull/537 * feat: add --resource option to update subcommand by @knight42 in https://github.com/containers/youki/pull/546 * Bump futures from 0.3.18 to 0.3.19 by @dependabot in https://github.com/containers/youki/pull/556 * Bump futures-io from 0.3.18 to 0.3.19 by @dependabot in https://github.com/containers/youki/pull/558 * Bump nix from 0.23.0 to 0.23.1 by @dependabot in https://github.com/containers/youki/pull/551 * Bump fastrand from 1.5.0 to 1.6.0 by @dependabot in https://github.com/containers/youki/pull/555 * Bump num_cpus from 1.13.0 to 1.13.1 by @dependabot in https://github.com/containers/youki/pull/559 * update README.md about the table of features. by @utam0k in https://github.com/containers/youki/pull/547 * Bump syn from 1.0.82 to 1.0.83 by @dependabot in https://github.com/containers/youki/pull/561 * Bump anyhow from 1.0.51 to 1.0.52 by @dependabot in https://github.com/containers/youki/pull/563 * Log value that is written to cgroup file by @Furisto in https://github.com/containers/youki/pull/562 * Add Mdbook documentation by @YJDoc2 in https://github.com/containers/youki/pull/560 * Update mdbook docs and Add doc link in the Readme by @YJDoc2 in https://github.com/containers/youki/pull/565 * The release tag generally begins with v by @utam0k in https://github.com/containers/youki/pull/564

    New Contributors

    • @succie made their first contribution in https://github.com/containers/youki/pull/1
    • @aoki made their first contribution in https://github.com/containers/youki/pull/3
    • @utam0k made their first contribution in https://github.com/containers/youki/pull/4
    • @yuchiki made their first contribution in https://github.com/containers/youki/pull/19
    • @Furisto made their first contribution in https://github.com/containers/youki/pull/15
    • @0xdco made their first contribution in https://github.com/containers/youki/pull/26
    • @cr0ax made their first contribution in https://github.com/containers/youki/pull/29
    • @tsturzl made their first contribution in https://github.com/containers/youki/pull/16
    • @akluth made their first contribution in https://github.com/containers/youki/pull/35
    • @YJDoc2 made their first contribution in https://github.com/containers/youki/pull/38
    • @nalpine made their first contribution in https://github.com/containers/youki/pull/40
    • @ferrell-code made their first contribution in https://github.com/containers/youki/pull/42
    • @nimrodshn made their first contribution in https://github.com/containers/youki/pull/59
    • @smorimoto made their first contribution in https://github.com/containers/youki/pull/61
    • @PeterYordanov made their first contribution in https://github.com/containers/youki/pull/66
    • @minakawa-daiki made their first contribution in https://github.com/containers/youki/pull/73
    • @duduainankai made their first contribution in https://github.com/containers/youki/pull/81
    • @sasurau4 made their first contribution in https://github.com/containers/youki/pull/88
    • @yjuba made their first contribution in https://github.com/containers/youki/pull/92
    • @constreference made their first contribution in https://github.com/containers/youki/pull/102
    • @bkochendorfer made their first contribution in https://github.com/containers/youki/pull/112
    • @TinySong made their first contribution in https://github.com/containers/youki/pull/115
    • @yihuaf made their first contribution in https://github.com/containers/youki/pull/153
    • @zidoshare made their first contribution in https://github.com/containers/youki/pull/160
    • @saschagrunert made their first contribution in https://github.com/containers/youki/pull/161
    • @fbrv made their first contribution in https://github.com/containers/youki/pull/166
    • @tiqwab made their first contribution in https://github.com/containers/youki/pull/210
    • @MoZhonghua made their first contribution in https://github.com/containers/youki/pull/214
    • @guni1192 made their first contribution in https://github.com/containers/youki/pull/215
    • @chenyukang made their first contribution in https://github.com/containers/youki/pull/222
    • @humancalico made their first contribution in https://github.com/containers/youki/pull/259
    • @kenoss made their first contribution in https://github.com/containers/youki/pull/283
    • @tommady made their first contribution in https://github.com/containers/youki/pull/289
    • @shorii made their first contribution in https://github.com/containers/youki/pull/302
    • @alfonsoros88 made their first contribution in https://github.com/containers/youki/pull/262
    • @tranzystorek-io made their first contribution in https://github.com/containers/youki/pull/341
    • @lincolnauster made their first contribution in https://github.com/containers/youki/pull/348
    • @oblique made their first contribution in https://github.com/containers/youki/pull/343
    • @hle0 made their first contribution in https://github.com/containers/youki/pull/352
    • @Ian-Yy made their first contribution in https://github.com/containers/youki/pull/354
    • @dependabot made their first contribution in https://github.com/containers/youki/pull/408
    • @unknowndevQwQ made their first contribution in https://github.com/containers/youki/pull/474
    • @dgibson made their first contribution in https://github.com/containers/youki/pull/488
    • @creepinson made their first contribution in https://github.com/containers/youki/pull/515
    • @jhult made their first contribution in https://github.com/containers/youki/pull/530
    • @knight42 made their first contribution in https://github.com/containers/youki/pull/536

    Full Changelog: https://github.com/containers/youki/commits/v0.0.1

    Source code(tar.gz)
    Source code(zip)
    youki_v0_0_1_linux.tar.gz(1.82 MB)
Owner
Containers
Open Repository for Container Tools
Containers
Runc - CLI tool for spawning and running containers according to the OCI specification

runc Introduction runc is a CLI tool for spawning and running containers on Linux according to the OCI specification. Releases You can find official r

Open Container Initiative 9.9k Jan 5, 2023
Experimental implementation of the oci-runtime in Rust

youki Experimental implementation of the oci-runtime in Rust Overview youki is an implementation of runtime-spec in Rust, referring to runc. This proj

utam0k 12 Sep 23, 2022
Easy to use, extendable, OCI-compliant container runtime written in pure Rust

PURA - Lightweight & OCI-compliant container runtime Pura is an experimental Linux container runtime written in pure and dependency-minimal Rust. The

Branimir Malesevic 73 Jan 9, 2023
A secure container runtime with OCI interface

Quark Container Welcome to Quark Container. This repository is the home of Quark Containers code. What's Quark Container Quark Container is high perfo

null 175 Dec 29, 2022
Inspect and dump OCI images.

reinlinsen ?? rl is a tool to inspect and dump OCI images or single image layers. Installation From source If you have cargo installed you can just ru

Tobias Brumhard 5 May 11, 2023
A tiny minimal container runtime written in Rust.

vas-quod A tiny minimal container runtime written in Rust. The idea is to support a minimal isolated containers without using existing runtimes, vas-q

flouthoc 438 Dec 26, 2022
Rust Kubernetes client and controller runtime

kube-rs Rust client for Kubernetes in the style of a more generic client-go, a runtime abstraction inspired by controller-runtime, and a derive macro

kube-rs 1.8k Jan 8, 2023
dedock is a container runtime, with a particular focus on enabling embedded software development across all platforms

dedock is a container runtime, with a particular focus on enabling embedded software development across all platforms. It supports native "containers" on both Linux and macOS.

Daniel Mangum 12 May 27, 2023
Rocker is a minimal docker implementation for educational purposes.

Rocker is a minimal docker implementation for educational purposes inspired by gocker. Rocker uses linux kernel features (namespace, cgroup, chroot etc.) to isolate container processes and limit available resourses.

Daiki Miura 16 Feb 14, 2022
Automated builded images for rust-lang with rustup, "the ultimate way to install RUST"

rustup Automated builded images on store and hub for rust-lang with musl added, using rustup "the ultimate way to install RUST". tag changed: all3 ->

刘冲 83 Nov 30, 2022
docker-rust — the official Rust Docker image

About this Repo This is the Git repo of the Docker official image for rust. See the Docker Hub page for the full readme on how to use this Docker imag

The Rust Programming Language 321 Dec 11, 2022
Docker images for compiling static Rust binaries using musl-libc and musl-gcc, with static versions of useful C libraries. Supports openssl and diesel crates.

rust-musl-builder: Docker container for easily building static Rust binaries Source on GitHub Changelog UPDATED: Major updates in this release which m

Eric Kidd 1.3k Jan 1, 2023
Very small rust docker image

mini-docker-rust Very small rust docker image. This is an example project on how to build very small docker images for a rust project. The resulting i

null 155 Jan 1, 2023
Docker images for compiling static Rust binaries using musl-cross

rust-musl-cross Docker images for compiling static Rust binaries using musl-cross-make, inspired by rust-musl-builder Prebuilt images Currently we hav

messense 365 Dec 30, 2022
A wasm template for Rust to publish to gh-pages without npm-deploy

Wasm template for Rust hosting without npm-deploy on github pages using Travis script It automatically hosts you wasm projects on gh-pages using a tra

Siddharth Naithani 102 Dec 24, 2022
App Engine Rust boilerplate

Rust App Engine This projects is a minimal boilerplate ro run Rust web application inside Google App Engine. To deploy it use Google Cloud Shell: ```s

Denis Kolodin 48 Apr 26, 2022
A buildpack for Rust applications on Heroku, with full support for Rustup, cargo and build caching.

Heroku buildpack for Rust This is a Heroku buildpack for Rust with support for cargo and rustup. Features include: Caching of builds between deploymen

Eric Kidd 502 Nov 7, 2022
Krustlet: Kubernetes Kubelet in Rust for running WASM

Krustlet: Kubernetes Kubelet in Rust for running WASM ?? ?? This project is highly experimental. ?? ?? It should not be used in production workloads.

null 103 Dec 29, 2022
Shallow Container is a light-weight container tool written in Rust.

Shallow Container is a light-weight container tool written in Rust. It is totally for proof-of-concept and may not suit for production environment.

Rui Li 14 Apr 8, 2022