1
0
mirror of https://github.com/containers/youki synced 2024-11-23 09:21:57 +01:00
Commit Graph

427 Commits

Author SHA1 Message Date
dependabot[bot]
f8d361a799
chore(deps): bump libc from 0.2.147 to 0.2.148
Bumps [libc](https://github.com/rust-lang/libc) from 0.2.147 to 0.2.148.
- [Release notes](https://github.com/rust-lang/libc/releases)
- [Commits](https://github.com/rust-lang/libc/compare/0.2.147...0.2.148)

---
updated-dependencies:
- dependency-name: libc
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-14 00:33:14 +00:00
Yashodhan
23c1f4f7be
Merge pull request #2279 from YJDoc2/fix/fix-rootless-checks
Change rootless required function and privilege decision
2023-09-05 15:01:52 +05:30
Yashodhan Joshi
4114513c38 Move userns spec validation into utils, add tests for it 2023-09-05 12:11:32 +05:30
dependabot[bot]
f4e909b628
chore(deps): bump thiserror from 1.0.47 to 1.0.48
Bumps [thiserror](https://github.com/dtolnay/thiserror) from 1.0.47 to 1.0.48.
- [Release notes](https://github.com/dtolnay/thiserror/releases)
- [Commits](https://github.com/dtolnay/thiserror/compare/1.0.47...1.0.48)

---
updated-dependencies:
- dependency-name: thiserror
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-04 01:19:47 +00:00
dependabot[bot]
d8da5252eb
chore(deps): bump regex from 1.9.4 to 1.9.5
Bumps [regex](https://github.com/rust-lang/regex) from 1.9.4 to 1.9.5.
- [Release notes](https://github.com/rust-lang/regex/releases)
- [Changelog](https://github.com/rust-lang/regex/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/regex/compare/1.9.4...1.9.5)

---
updated-dependencies:
- dependency-name: regex
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-04 00:40:07 +00:00
utam0k
c04a9a0577
v0.2.0
Signed-off-by: utam0k <k0ma@utam0k.jp>
2023-08-31 11:54:15 +00:00
Toru Komatsu
09e67372a8
Rust 1.72 (#2323)
* Rust 1.72.0

Signed-off-by: utam0k <k0ma@utam0k.jp>

* Fix lint errors from 1.72.0

Signed-off-by: utam0k <k0ma@utam0k.jp>

---------

Signed-off-by: utam0k <k0ma@utam0k.jp>
2023-08-29 08:50:15 -07:00
Thomas Schubart
854db28a7c
Merge pull request #2308 from utam0k/idmap-ridmap
Return an error when passing unsupported mount options
2023-08-28 15:17:25 +02:00
utam0k
4871917de1
Address the feedback
Signed-off-by: utam0k <k0ma@utam0k.jp>
2023-08-28 13:05:09 +00:00
dependabot[bot]
35e880f8e3
chore(deps): bump regex from 1.9.3 to 1.9.4
Bumps [regex](https://github.com/rust-lang/regex) from 1.9.3 to 1.9.4.
- [Release notes](https://github.com/rust-lang/regex/releases)
- [Changelog](https://github.com/rust-lang/regex/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/regex/compare/1.9.3...1.9.4)

---
updated-dependencies:
- dependency-name: regex
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-28 01:15:12 +00:00
utam0k
1753b5863e
Return an error when passing unsupported mount options
Signed-off-by: utam0k <k0ma@utam0k.jp>
2023-08-27 12:07:00 +00:00
Eric Fang
5f3f4ce82f
move the validation logic into executor (#2258)
* move the validation logic into executor

To allow more flexibility for the executor, we move the validate logic into the executor.
The validate runs in the `create` step before workloads are executed.
Instead of implementing the validation in the `exec`, to maintain
backward competiability, we have to introduce an extra step. The exec is
too late to fail if the spec is not validated.

Signed-off-by: yihuaf <yihuaf@unkies.org>

* Update the migration guide

Signed-off-by: yihuaf <yihuaf@unkies.org>

* Add a comment explaining when the validate step runs.

Signed-off-by: yihuaf <yihuaf@unkies.org>

* Implement different error types for validate

Signed-off-by: yihuaf <yihuaf@unkies.org>

---------

Signed-off-by: yihuaf <yihuaf@unkies.org>
2023-08-22 21:59:15 +09:00
Yashodhan Joshi
7078ad6882 Change rootless required function and privilege decision 2023-08-19 19:24:22 +05:30
dependabot[bot]
198652f00b
chore(deps): bump thiserror from 1.0.46 to 1.0.47
Bumps [thiserror](https://github.com/dtolnay/thiserror) from 1.0.46 to 1.0.47.
- [Release notes](https://github.com/dtolnay/thiserror/releases)
- [Commits](https://github.com/dtolnay/thiserror/compare/1.0.46...1.0.47)

---
updated-dependencies:
- dependency-name: thiserror
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-18 01:02:24 +00:00
dependabot[bot]
a2bb23a624
chore(deps): bump thiserror from 1.0.44 to 1.0.46
Bumps [thiserror](https://github.com/dtolnay/thiserror) from 1.0.44 to 1.0.46.
- [Release notes](https://github.com/dtolnay/thiserror/releases)
- [Commits](https://github.com/dtolnay/thiserror/compare/1.0.44...1.0.46)

---
updated-dependencies:
- dependency-name: thiserror
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-16 00:24:05 +00:00
Toru Komatsu
539885f558
Merge pull request #2257 from YJDoc2/rename-rootless-struct
Rename the rootless struct  to UserNamespaceConfig
2023-08-14 21:05:25 +09:00
dependabot[bot]
92a1038080
chore(deps): bump bitflags from 2.3.3 to 2.4.0
Bumps [bitflags](https://github.com/bitflags/bitflags) from 2.3.3 to 2.4.0.
- [Release notes](https://github.com/bitflags/bitflags/releases)
- [Changelog](https://github.com/bitflags/bitflags/blob/main/CHANGELOG.md)
- [Commits](https://github.com/bitflags/bitflags/compare/2.3.3...2.4.0)

---
updated-dependencies:
- dependency-name: bitflags
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-14 00:28:54 +00:00
Yashodhan Joshi
4e26799e15 Rename the rootless struct and correspondigs to UserNamespaceConfig and according. 2023-08-12 19:50:25 +05:30
dependabot[bot]
daeb8a21e6
chore(deps): bump regex from 1.9.1 to 1.9.3
Bumps [regex](https://github.com/rust-lang/regex) from 1.9.1 to 1.9.3.
- [Release notes](https://github.com/rust-lang/regex/releases)
- [Changelog](https://github.com/rust-lang/regex/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/regex/compare/1.9.1...1.9.3)

---
updated-dependencies:
- dependency-name: regex
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-07 01:05:10 +00:00
Eric Fang
bda93700e2
Refactor the Executor interface to allow trait object as executors (#2230)
* Refactored the Executor interface yet again

I apologize having to refactor this interface yet again. Previously, we
introduced the executor to be a function pointer. This works out nicely
because the function pointer in rust can be clone-ed without hassel.
However, I realized that using function pointer is way to restrictive
for our users. The executor may wish to include additional context when
calling the exec function. The function pointer limited the input only
`oci spec`.

Signed-off-by: yihuaf <yihuaf@unkies.org>

* fix spell check

Signed-off-by: yihuaf <yihuaf@unkies.org>

* Fix doc test

Signed-off-by: yihuaf <yihuaf@unkies.org>

---------

Signed-off-by: yihuaf <yihuaf@unkies.org>
2023-08-06 13:14:31 +05:30
Yashodhan
0fc4c8747d
Merge pull request #2203 from yihuaf/yihuaf/clone-fallback
Implemented the clone fallback when clone3 returns ENOSYS
2023-08-01 10:27:44 +05:30
yihuaf
3151278420 Implemented the clone fallback when clone3 returns ENOSYS
For a number of reasons, platforms can choose to block clone3 and force
return ENOSYS. We implement a clone fallback in the case that we can't
use clone3.

Also, clone3 has no libc wrapper at this point. The current
implementation calls the kernel version of the syscall directly. There
are undefined behaviors potentially when we create process bypassing the
libc. However, we have not observed any issue with our tests. This is
likely because `youki` runs short lived process and calls exec or exit
in the end. Nonetheless, we should have a backup plan and this change is
our way out in the case that we discover clone3 has issue as the default
code path.

Remove the use of the clone3 crate. We use `clone3` is a very specific
way to create a process. We don't have to support the many other flags
and usecases of the `clone3` call. So it is simpler for us to use the
libc crate directly for the syscall. This avoids an extra dependency and
reduces our binary size.

Signed-off-by: yihuaf <yihuaf@unkies.org>
2023-07-23 17:44:37 -07:00
dependabot[bot]
badfeb9087
chore(deps): bump thiserror from 1.0.43 to 1.0.44
Bumps [thiserror](https://github.com/dtolnay/thiserror) from 1.0.43 to 1.0.44.
- [Release notes](https://github.com/dtolnay/thiserror/releases)
- [Commits](https://github.com/dtolnay/thiserror/compare/1.0.43...1.0.44)

---
updated-dependencies:
- dependency-name: thiserror
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-24 00:40:07 +00:00
Eric Fang
f3da56e583
Make container_args clone-able (#2193)
Make the container_args clone-able and remove the use of references.
Container_args is passed to the intermediate and init process, so we
need to make sure it can across the clone process boundry safely by
allowing passing of the container_args ownership to the new process.

Signed-off-by: yihuaf <yihuaf@unkies.org>
2023-07-23 21:35:50 +09:00
Eric Fang
c3559e4a0a
refactored executor and executor manager (#2186)
* refactored executor and executor manager

Refactored the executor and executor manager to be clone-able and more
ergonomics.

Removed the use of executor manager with a vector of executor. Instead
we favor composing executors into a new executor. Composing also allows
the implementer to be precise about the execution orders. The old
executor manager with its vector implementation is not explicit enough
about the order when multiple executor is involved.

Re-implement the executor to be a function pointer instead of the Fn
family traits. Traits will type erase and difficult to deal with when
implementing clone.

Refactored the wasm related exectors to use the new scheme.

Signed-off-by: yihuaf <yihuaf@unkies.org>

* Add comments and address the reviews

Signed-off-by: yihuaf <yihuaf@unkies.org>

* Add a section in executor

Signed-off-by: yihuaf <yihuaf@unkies.org>

---------

Signed-off-by: yihuaf <yihuaf@unkies.org>
2023-07-21 21:12:21 +09:00
Eric Fang
6162618e7a
Refactor the libcgroups interface (#2168)
* fix notify_listener

- fix the name to notify listener
- fix the structure to be clone-able

Signed-off-by: yihuaf <yihuaf@unkies.org>

* changed the libcgroup creation interface

Changed the libcgroup creation interface to use config struct rather
than variables. The creation will also own/consume the config struct.
In this way, we don't have to create the cgroup manager upfront.
Instead, we can delay the creation of cgroup manager in the process when
it is needed.

Signed-off-by: yihuaf <yihuaf@unkies.org>

* Add a notify listener test

Signed-off-by: yihuaf <yihuaf@unkies.org>

* fix clippy

Signed-off-by: yihuaf <yihuaf@unkies.org>

* fix spellcheck

Signed-off-by: yihuaf <yihuaf@unkies.org>

---------

Signed-off-by: yihuaf <yihuaf@unkies.org>
2023-07-19 22:09:43 +09:00
rongfu.leng
f6859f08ae
add io priority (#2164)
Signed-off-by: lengrongfu <1275177125@qq.com>
2023-07-17 08:41:29 -07:00
yihuaf
fb807b482c fix syscall reference and lifetime
Signed-off-by: yihuaf <yihuaf@unkies.org>
2023-07-10 23:00:55 -07:00
dependabot[bot]
b26c790ec6
chore(deps): bump regex from 1.9.0 to 1.9.1
Bumps [regex](https://github.com/rust-lang/regex) from 1.9.0 to 1.9.1.
- [Release notes](https://github.com/rust-lang/regex/releases)
- [Changelog](https://github.com/rust-lang/regex/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/regex/compare/1.9.0...1.9.1)

---
updated-dependencies:
- dependency-name: regex
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-10 01:08:22 +00:00
dependabot[bot]
8b6675b043
chore(deps): bump thiserror from 1.0.41 to 1.0.43
Bumps [thiserror](https://github.com/dtolnay/thiserror) from 1.0.41 to 1.0.43.
- [Release notes](https://github.com/dtolnay/thiserror/releases)
- [Commits](https://github.com/dtolnay/thiserror/compare/1.0.41...1.0.43)

---
updated-dependencies:
- dependency-name: thiserror
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-07 00:21:24 +00:00
dependabot[bot]
c308166cb8
chore(deps): bump regex from 1.8.4 to 1.9.0
Bumps [regex](https://github.com/rust-lang/regex) from 1.8.4 to 1.9.0.
- [Release notes](https://github.com/rust-lang/regex/releases)
- [Changelog](https://github.com/rust-lang/regex/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/regex/compare/1.8.4...1.9.0)

---
updated-dependencies:
- dependency-name: regex
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-06 06:53:10 +00:00
dependabot[bot]
c988dd4330
chore(deps): bump thiserror from 1.0.40 to 1.0.41
Bumps [thiserror](https://github.com/dtolnay/thiserror) from 1.0.40 to 1.0.41.
- [Release notes](https://github.com/dtolnay/thiserror/releases)
- [Commits](https://github.com/dtolnay/thiserror/compare/1.0.40...1.0.41)

---
updated-dependencies:
- dependency-name: thiserror
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-05 01:06:20 +00:00
yihuaf
2a1355e553 address review
Signed-off-by: yihuaf <yihuaf@unkies.org>
2023-07-04 02:15:55 -07:00
yihuaf
524e56d78b re-export the oci-spec the libcontainer
uses

Signed-off-by: yihuaf <yihuaf@unkies.org>
2023-07-04 02:11:15 -07:00
dependabot[bot]
f24c259b70
chore(deps): bump bitflags from 2.3.2 to 2.3.3
Bumps [bitflags](https://github.com/bitflags/bitflags) from 2.3.2 to 2.3.3.
- [Release notes](https://github.com/bitflags/bitflags/releases)
- [Changelog](https://github.com/bitflags/bitflags/blob/main/CHANGELOG.md)
- [Commits](https://github.com/bitflags/bitflags/compare/2.3.2...2.3.3)

---
updated-dependencies:
- dependency-name: bitflags
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-28 01:06:05 +00:00
dependabot[bot]
e3dfbf391f
chore(deps): bump libc from 0.2.146 to 0.2.147 (#2086)
Bumps [libc](https://github.com/rust-lang/libc) from 0.2.146 to 0.2.147.
- [Release notes](https://github.com/rust-lang/libc/releases)
- [Commits](https://github.com/rust-lang/libc/compare/0.2.146...0.2.147)

---
updated-dependencies:
- dependency-name: libc
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-26 11:20:13 +05:30
utam0k
60ed236ca5
v0.1.0
Signed-off-by: utam0k <k0ma@utam0k.jp>
2023-06-20 11:56:07 +00:00
Eric Fang
f4e7e300e6
Fix the feature test and turn on in CI (#2060)
* reworked the justfile to be explicit with path

Signed-off-by: yihuaf <yihuaf@unkies.org>

* fix the feature tests

Signed-off-by: yihuaf <yihuaf@unkies.org>

* add the musl test

Signed-off-by: yihuaf <yihuaf@unkies.org>

* moving all stub into a single dir

Signed-off-by: yihuaf <yihuaf@unkies.org>

---------

Signed-off-by: yihuaf <yihuaf@unkies.org>
2023-06-19 21:21:18 +09:00
dependabot[bot]
715b5ec419
chore(deps): bump bitflags from 2.3.1 to 2.3.2
Bumps [bitflags](https://github.com/bitflags/bitflags) from 2.3.1 to 2.3.2.
- [Release notes](https://github.com/bitflags/bitflags/releases)
- [Changelog](https://github.com/bitflags/bitflags/blob/main/CHANGELOG.md)
- [Commits](https://github.com/bitflags/bitflags/compare/2.3.1...2.3.2)

---
updated-dependencies:
- dependency-name: bitflags
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-14 01:12:27 +00:00
dependabot[bot]
66896c23cc
chore(deps): bump fastrand from 1.9.0 to 2.0.0 (#2032)
Bumps [fastrand](https://github.com/smol-rs/fastrand) from 1.9.0 to 2.0.0.
- [Release notes](https://github.com/smol-rs/fastrand/releases)
- [Changelog](https://github.com/smol-rs/fastrand/blob/master/CHANGELOG.md)
- [Commits](https://github.com/smol-rs/fastrand/compare/v1.9.0...v2.0.0)

---
updated-dependencies:
- dependency-name: fastrand
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-11 21:51:20 -07:00
Toru Komatsu
f5f2242f85
Don't create a file when it already exists when mounting with bind (#2031)
For example, it is more likely that the /etc/hosts file already exists. In that case, it fails because it tries to open the file with write permission while it is RO.

Signed-off-by: utam0k <k0ma@utam0k.jp>
2023-06-11 21:50:53 -07:00
yihuaf
c23edc02cc add some tracing
Signed-off-by: yihuaf <yihuaf@unkies.org>
2023-06-09 12:11:12 -07:00
yihuaf
545b13da86 bump oci-spec version to 0.6.1
Signed-off-by: yihuaf <yihuaf@unkies.org>
2023-06-09 11:24:57 -07:00
Eric Fang
3a790dffe9
Using typos-cli to catch typos + fixes for existing typos (#2018)
* adds a typos configuration file

Signed-off-by: yihuaf <yihuaf@unkies.org>

* fix all the typos

Signed-off-by: yihuaf <yihuaf@unkies.org>

* add typos to justfile and CI

Signed-off-by: yihuaf <yihuaf@unkies.org>

* fix

Signed-off-by: yihuaf <yihuaf@unkies.org>

* fix

Signed-off-by: yihuaf <yihuaf@unkies.org>

* fix

Signed-off-by: yihuaf <yihuaf@unkies.org>

---------

Signed-off-by: yihuaf <yihuaf@unkies.org>
2023-06-08 10:19:17 +05:30
dependabot[bot]
0e2719d5b2
chore(deps): bump libc from 0.2.145 to 0.2.146
Bumps [libc](https://github.com/rust-lang/libc) from 0.2.145 to 0.2.146.
- [Release notes](https://github.com/rust-lang/libc/releases)
- [Commits](https://github.com/rust-lang/libc/compare/0.2.145...0.2.146)

---
updated-dependencies:
- dependency-name: libc
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-07 01:30:21 +00:00
Jorge Prendes
2ff8b97e67
Do not try to acquire capabilities we are not allowed to (#2000)
Currently reset_effective tries to acquire all know capabilities from a hardcoded list.
According to https://man7.org/linux/man-pages/man7/capabilities.7.html only capabilities in the permitted set can be acquired.
Trying to acquire a capability beyond those in the permitted set will result in EPERM (see https://man7.org/linux/man-pages/man2/capset.2.html).
This change modifies reset_effective so that it only acquires the capabilities in the permitted set.

Signed-off-by: Jorge Prendes <jorge.prendes@gmail.com>
2023-06-06 01:26:33 -07:00
dependabot[bot]
e54ebe8984
chore(deps): bump regex from 1.8.3 to 1.8.4
Bumps [regex](https://github.com/rust-lang/regex) from 1.8.3 to 1.8.4.
- [Release notes](https://github.com/rust-lang/regex/releases)
- [Changelog](https://github.com/rust-lang/regex/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/regex/compare/1.8.3...1.8.4)

---
updated-dependencies:
- dependency-name: regex
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-06 05:17:28 +00:00
dependabot[bot]
d1811c7867
chore(deps): bump once_cell from 1.17.2 to 1.18.0 (#2001)
Bumps [once_cell](https://github.com/matklad/once_cell) from 1.17.2 to 1.18.0.
- [Changelog](https://github.com/matklad/once_cell/blob/master/CHANGELOG.md)
- [Commits](https://github.com/matklad/once_cell/compare/v1.17.2...v1.18.0)

---
updated-dependencies:
- dependency-name: once_cell
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-04 23:35:48 -07:00
Eric Fang
d09c984567
do not log error in the syscall crate (#1973)
* do not log error for mount in specific cases
* clean up the logs in the syscall module
* update toolchain to rust 1.70
---------

Signed-off-by: yihuaf <yihuaf@unkies.org>
2023-06-04 23:19:51 -07:00
dependabot[bot]
90946a1fbe
chore(deps): bump libc from 0.2.144 to 0.2.145
Bumps [libc](https://github.com/rust-lang/libc) from 0.2.144 to 0.2.145.
- [Release notes](https://github.com/rust-lang/libc/releases)
- [Commits](https://github.com/rust-lang/libc/compare/0.2.144...0.2.145)

---
updated-dependencies:
- dependency-name: libc
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-05 01:54:19 +00:00