Compare commits

...

20 Commits

Author SHA1 Message Date
87c4d7b0c3 chore: release (#37)
Co-authored-by: edera-cultivation[bot] <165992271+edera-cultivation[bot]@users.noreply.github.com>
2024-04-09 11:06:22 +00:00
4f84dfa3c7 chore(workflows): fix release binary upload (#38) 2024-04-09 04:02:07 -07:00
dedc514944 chore: release (#33)
Signed-off-by: edera-cultivation[bot] <165992271+edera-cultivation[bot]@users.noreply.github.com>
Co-authored-by: edera-cultivation[bot] <165992271+edera-cultivation[bot]@users.noreply.github.com>
2024-04-09 02:50:52 -07:00
9c0597157b fix: increase channel acquisition timeout to support lower performance hosts (#36) 2024-04-09 02:36:22 -07:00
3f8c9e7a7c chore(workflows): prefix all jobs with workflow name to help distinguish (#35) 2024-04-09 00:05:06 -07:00
6ed31bc436 build(deps): bump prost-build from 0.12.3 to 0.12.4 (#34)
Bumps [prost-build](https://github.com/tokio-rs/prost) from 0.12.3 to 0.12.4.
- [Release notes](https://github.com/tokio-rs/prost/releases)
- [Commits](https://github.com/tokio-rs/prost/compare/v0.12.3...v0.12.4)

---
updated-dependencies:
- dependency-name: prost-build
  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>
2024-04-09 05:52:14 +00:00
2526065d74 chore: release (#32)
Co-authored-by: edera-cultivation[bot] <165992271+edera-cultivation[bot]@users.noreply.github.com>
2024-04-08 22:18:29 -07:00
a509f69398 chore: release (#24)
Signed-off-by: edera-cultivation[bot] <165992271+edera-cultivation[bot]@users.noreply.github.com>
Co-authored-by: edera-cultivation[bot] <165992271+edera-cultivation[bot]@users.noreply.github.com>
2024-04-08 22:12:38 -07:00
d021fb2147 build(deps): bump tokio-tun from 0.11.2 to 0.11.4 (#27)
Bumps [tokio-tun](https://github.com/yaa110/tokio-tun) from 0.11.2 to 0.11.4.
- [Commits](https://github.com/yaa110/tokio-tun/compare/0.11.2...0.11.4)

---
updated-dependencies:
- dependency-name: tokio-tun
  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>
2024-04-09 04:30:24 +00:00
d33079c7c5 build(deps): bump comfy-table from 7.1.0 to 7.1.1 (#28)
Bumps [comfy-table](https://github.com/nukesor/comfy-table) from 7.1.0 to 7.1.1.
- [Release notes](https://github.com/nukesor/comfy-table/releases)
- [Changelog](https://github.com/Nukesor/comfy-table/blob/main/CHANGELOG.md)
- [Commits](https://github.com/nukesor/comfy-table/compare/v7.1.0...v7.1.1)

---
updated-dependencies:
- dependency-name: comfy-table
  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>
2024-04-09 04:30:14 +00:00
bea6d1e6fe build(deps): bump reqwest from 0.12.2 to 0.12.3 (#29)
Bumps [reqwest](https://github.com/seanmonstar/reqwest) from 0.12.2 to 0.12.3.
- [Release notes](https://github.com/seanmonstar/reqwest/releases)
- [Changelog](https://github.com/seanmonstar/reqwest/blob/master/CHANGELOG.md)
- [Commits](https://github.com/seanmonstar/reqwest/compare/v0.12.2...v0.12.3)

---
updated-dependencies:
- dependency-name: reqwest
  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>
2024-04-09 04:30:06 +00:00
bc27eeb286 build(deps): bump prost from 0.12.3 to 0.12.4 (#30)
Bumps [prost](https://github.com/tokio-rs/prost) from 0.12.3 to 0.12.4.
- [Release notes](https://github.com/tokio-rs/prost/releases)
- [Commits](https://github.com/tokio-rs/prost/compare/v0.12.3...v0.12.4)

---
updated-dependencies:
- dependency-name: prost
  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>
2024-04-09 04:30:01 +00:00
42bb289421 build(deps): bump async-compression from 0.4.7 to 0.4.8 (#31)
Bumps [async-compression](https://github.com/Nullus157/async-compression) from 0.4.7 to 0.4.8.
- [Release notes](https://github.com/Nullus157/async-compression/releases)
- [Changelog](https://github.com/Nullus157/async-compression/blob/main/CHANGELOG.md)
- [Commits](https://github.com/Nullus157/async-compression/compare/async-compression-v0.4.7...async-compression-v0.4.8)

---
updated-dependencies:
- dependency-name: async-compression
  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>
2024-04-09 04:29:55 +00:00
f2ab03711e feat(ctl): add help and about to commands and arguments (#25) 2024-04-06 00:00:02 +00:00
2f3daad80a build(deps): bump h2 from 0.3.25 to 0.3.26 (#26)
Bumps [h2](https://github.com/hyperium/h2) from 0.3.25 to 0.3.26.
- [Release notes](https://github.com/hyperium/h2/releases)
- [Changelog](https://github.com/hyperium/h2/blob/v0.3.26/CHANGELOG.md)
- [Commits](https://github.com/hyperium/h2/compare/v0.3.25...v0.3.26)

---
updated-dependencies:
- dependency-name: h2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-05 22:15:12 +00:00
8f7e47a218 chore: release workflow fixes to improve utilization and fix checks (#23)
* chore: use edera-cultivation bot to push release changes

* chore: workflows now largely only run on pull requests or merge queues
2024-04-04 23:05:59 -07:00
19683b80c1 fix: service files should have kratanet depend on kratad (#18) 2024-04-04 23:44:57 +00:00
ae486e347f fix: release pr trigger problem (#21) 2024-04-03 23:59:07 -07:00
9f4db08e07 build(deps): bump prost-reflect from 0.13.0 to 0.13.1 (#19)
Bumps [prost-reflect](https://github.com/andrewhickman/prost-reflect) from 0.13.0 to 0.13.1.
- [Changelog](https://github.com/andrewhickman/prost-reflect/blob/main/CHANGELOG.md)
- [Commits](https://github.com/andrewhickman/prost-reflect/compare/0.13.0...0.13.1)

---
updated-dependencies:
- dependency-name: prost-reflect
  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>
2024-04-04 06:05:45 +00:00
d674a69c17 ci: fix tag names and disable semver checks for low-level crates (#17) 2024-04-03 17:16:30 +00:00
30 changed files with 241 additions and 167 deletions

View File

@ -1,5 +1,11 @@
name: check
on: [push, pull_request, merge_group]
on:
pull_request:
branches:
- main
merge_group:
branches:
- main
jobs:
fmt:
name: fmt

View File

@ -1,5 +1,11 @@
name: client
on: [push, pull_request, merge_group]
on:
pull_request:
branches:
- main
merge_group:
branches:
- main
jobs:
build:
strategy:
@ -16,7 +22,7 @@ jobs:
TARGET_OS: "${{ matrix.platform.os }}"
TARGET_ARCH: "${{ matrix.platform.arch }}"
runs-on: "${{ matrix.platform.on }}"
name: build ${{ matrix.platform.os }}-${{ matrix.platform.arch }}
name: client build ${{ matrix.platform.os }}-${{ matrix.platform.arch }}
defaults:
run:
shell: bash

View File

@ -1,15 +1,14 @@
name: kernel
on:
push:
paths:
- "kernel/**"
- "hack/ci/**"
pull_request:
branches:
- main
paths:
- "kernel/**"
- "hack/ci/**"
merge_group:
branches:
- main
jobs:
build:
runs-on: ubuntu-latest
@ -21,7 +20,7 @@ jobs:
- aarch64
env:
TARGET_ARCH: "${{ matrix.arch }}"
name: build ${{ matrix.arch }}
name: kernel build ${{ matrix.arch }}
steps:
- uses: actions/checkout@v4
with:

View File

@ -14,7 +14,7 @@ jobs:
- aarch64
env:
TARGET_ARCH: "${{ matrix.arch }}"
name: server ${{ matrix.arch }}
name: nightly server ${{ matrix.arch }}
steps:
- uses: actions/checkout@v4
with:
@ -70,7 +70,7 @@ jobs:
TARGET_OS: "${{ matrix.platform.os }}"
TARGET_ARCH: "${{ matrix.platform.arch }}"
runs-on: "${{ matrix.platform.on }}"
name: client ${{ matrix.platform.os }}-${{ matrix.platform.arch }}
name: nightly client ${{ matrix.platform.os }}-${{ matrix.platform.arch }}
defaults:
run:
shell: bash

View File

@ -1,16 +1,15 @@
name: os
on:
push:
paths:
- "os/**"
- "hack/os/**"
- "hack/ci/**"
pull_request:
branches:
- main
paths:
- "os/**"
- "hack/os/**"
- "hack/ci/**"
merge_group:
branches:
- main
jobs:
build:
runs-on: ubuntu-latest
@ -22,7 +21,7 @@ jobs:
- aarch64
env:
TARGET_ARCH: "${{ matrix.arch }}"
name: build ${{ matrix.arch }}
name: os build ${{ matrix.arch }}
steps:
- uses: actions/checkout@v4
with:

View File

@ -23,7 +23,7 @@ jobs:
- aarch64
env:
TARGET_ARCH: "${{ matrix.arch }}"
name: server ${{ matrix.arch }}
name: release-binaries server ${{ matrix.arch }}
steps:
- uses: actions/checkout@v4
with:
@ -48,6 +48,9 @@ jobs:
env:
KRATA_KERNEL_BUILD_SKIP: "1"
- run: "./hack/ci/assemble-release-assets.sh os ${{ github.event.release.tag_name }} ${{ matrix.arch }} target/os/krata-${{ matrix.arch }}.qcow2"
- run: "./hack/ci/upload-release-assets.sh ${{ github.event.release.tag_name }}"
env:
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
client:
strategy:
fail-fast: false
@ -63,7 +66,7 @@ jobs:
TARGET_OS: "${{ matrix.platform.os }}"
TARGET_ARCH: "${{ matrix.platform.arch }}"
runs-on: "${{ matrix.platform.on }}"
name: client ${{ matrix.platform.os }}-${{ matrix.platform.arch }}
name: release-binaries client ${{ matrix.platform.os }}-${{ matrix.platform.arch }}
defaults:
run:
shell: bash

View File

@ -1,31 +1,33 @@
name: release-plz
permissions:
pull-requests: write
contents: write
on:
push:
branches:
- main
concurrency:
group: "${{ github.workflow }}"
cancel-in-progress: true
jobs:
release-plz:
name: release-plz
runs-on: ubuntu-latest
steps:
- uses: actions/create-github-app-token@v1
id: generate-token
with:
app-id: "${{ secrets.EDERA_CULTIVATION_APP_ID }}"
private-key: "${{ secrets.EDERA_CULTIVATION_APP_PRIVATE_KEY }}"
- uses: actions/checkout@v4
with:
submodules: recursive
fetch-depth: 0
token: "${{ steps.generate-token.outputs.token }}"
- uses: dtolnay/rust-toolchain@stable
- run: ./hack/ci/install-linux-deps.sh
- name: release-plz
uses: MarcoIeni/release-plz-action@v0.5
env:
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
GITHUB_TOKEN: "${{ steps.generate-token.outputs.token }}"
CARGO_REGISTRY_TOKEN: "${{ secrets.KRATA_RELEASE_CARGO_TOKEN }}"

View File

@ -1,5 +1,11 @@
name: server
on: [push, pull_request, merge_group]
on:
pull_request:
branches:
- main
merge_group:
branches:
- main
jobs:
build:
runs-on: ubuntu-latest
@ -11,7 +17,7 @@ jobs:
- aarch64
env:
TARGET_ARCH: "${{ matrix.arch }}"
name: build ${{ matrix.arch }}
name: server build ${{ matrix.arch }}
steps:
- uses: actions/checkout@v4
with:
@ -28,7 +34,7 @@ jobs:
- aarch64
env:
TARGET_ARCH: "${{ matrix.arch }}"
name: test ${{ matrix.arch }}
name: server test ${{ matrix.arch }}
steps:
- uses: actions/checkout@v4
with:
@ -45,7 +51,7 @@ jobs:
- aarch64
env:
TARGET_ARCH: "${{ matrix.arch }}"
name: clippy ${{ matrix.arch }}
name: server clippy ${{ matrix.arch }}
steps:
- uses: actions/checkout@v4
with:
@ -64,7 +70,7 @@ jobs:
- aarch64
env:
TARGET_ARCH: "${{ matrix.arch }}"
name: initrd ${{ matrix.arch }}
name: server initrd ${{ matrix.arch }}
steps:
- uses: actions/checkout@v4
with:

View File

@ -6,6 +6,30 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## [Unreleased]
## [0.0.7](https://github.com/edera-dev/krata/compare/v0.0.6...v0.0.7) - 2024-04-09
### Other
- update Cargo.toml dependencies
- update Cargo.lock dependencies
## [0.0.6](https://github.com/edera-dev/krata/compare/v0.0.5...v0.0.6) - 2024-04-09
### Fixed
- increase channel acquisition timeout to support lower performance hosts ([#36](https://github.com/edera-dev/krata/pull/36))
### Other
- update Cargo.toml dependencies
- update Cargo.lock dependencies
## [0.0.5](https://github.com/edera-dev/krata/compare/v0.0.4...v0.0.5) - 2024-04-09
### Added
- *(ctl)* add help and about to commands and arguments ([#25](https://github.com/edera-dev/krata/pull/25))
### Other
- update Cargo.toml dependencies
- update Cargo.lock dependencies
## [0.0.4](https://github.com/edera-dev/krata/releases/tag/v${version}) - 2024-04-03
### Other

144
Cargo.lock generated
View File

@ -91,9 +91,9 @@ dependencies = [
[[package]]
name = "async-compression"
version = "0.4.7"
version = "0.4.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "86a9249d1447a85f95810c620abea82e001fe58a31713fcce614caf52499f905"
checksum = "07dbbf24db18d609b1462965249abdf49129ccad073ec257da372adc83259c60"
dependencies = [
"flate2",
"futures-core",
@ -225,6 +225,12 @@ version = "0.21.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567"
[[package]]
name = "base64"
version = "0.22.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9475866fec1451be56a3c2400fd081ff546538961565ccb5b7142cbd22bc7a51"
[[package]]
name = "bindgen"
version = "0.69.4"
@ -234,7 +240,7 @@ dependencies = [
"bitflags 2.5.0",
"cexpr",
"clang-sys",
"itertools 0.12.1",
"itertools",
"lazy_static",
"lazycell",
"proc-macro2",
@ -405,9 +411,9 @@ checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7"
[[package]]
name = "comfy-table"
version = "7.1.0"
version = "7.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7c64043d6c7b7a4c58e39e7efccfdea7b93d885a795d0c054a69dbbf4dd52686"
checksum = "b34115915337defe99b2aff5c2ce6771e5fbc4079f4b506301f5cf394c8452f7"
dependencies = [
"crossterm",
"strum",
@ -895,9 +901,9 @@ checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b"
[[package]]
name = "h2"
version = "0.3.25"
version = "0.3.26"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4fbd2820c5e49886948654ab546d0688ff24530286bdcf8fca3cefb16d4618eb"
checksum = "81fe527a889e1532da5c525686d96d4c2e74cdd345badf8dfef9f6b39dd5f5e8"
dependencies = [
"bytes",
"fnv",
@ -967,15 +973,6 @@ version = "0.4.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70"
[[package]]
name = "home"
version = "0.5.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e3d1354bf6b7235cb4a0576c2619fd4ed18183f689b12b006a0ee7329eeff9a5"
dependencies = [
"windows-sys 0.52.0",
]
[[package]]
name = "http"
version = "0.2.12"
@ -1193,15 +1190,6 @@ dependencies = [
"serde",
]
[[package]]
name = "itertools"
version = "0.11.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b1c173a5686ce8bfa551b3563d0c2170bf24ca44da99c7ca4bfdab5418c3fe57"
dependencies = [
"either",
]
[[package]]
name = "itertools"
version = "0.12.1"
@ -1237,7 +1225,7 @@ dependencies = [
[[package]]
name = "krata"
version = "0.0.4"
version = "0.0.7"
dependencies = [
"anyhow",
"bytes",
@ -1271,7 +1259,7 @@ dependencies = [
[[package]]
name = "krata-ctl"
version = "0.0.4"
version = "0.0.7"
dependencies = [
"anyhow",
"async-stream",
@ -1293,7 +1281,7 @@ dependencies = [
[[package]]
name = "krata-daemon"
version = "0.0.4"
version = "0.0.7"
dependencies = [
"anyhow",
"async-stream",
@ -1317,7 +1305,7 @@ dependencies = [
[[package]]
name = "krata-guest"
version = "0.0.4"
version = "0.0.7"
dependencies = [
"anyhow",
"cgroups-rs",
@ -1341,7 +1329,7 @@ dependencies = [
[[package]]
name = "krata-network"
version = "0.0.4"
version = "0.0.7"
dependencies = [
"anyhow",
"async-trait",
@ -1365,7 +1353,7 @@ dependencies = [
[[package]]
name = "krata-oci"
version = "0.0.4"
version = "0.0.7"
dependencies = [
"anyhow",
"async-compression",
@ -1390,7 +1378,7 @@ dependencies = [
[[package]]
name = "krata-runtime"
version = "0.0.4"
version = "0.0.7"
dependencies = [
"anyhow",
"backhand",
@ -1427,7 +1415,7 @@ dependencies = [
[[package]]
name = "krata-xencall"
version = "0.0.4"
version = "0.0.7"
dependencies = [
"env_logger",
"libc",
@ -1440,7 +1428,7 @@ dependencies = [
[[package]]
name = "krata-xenclient"
version = "0.0.4"
version = "0.0.7"
dependencies = [
"async-trait",
"elf",
@ -1461,7 +1449,7 @@ dependencies = [
[[package]]
name = "krata-xenevtchn"
version = "0.0.4"
version = "0.0.7"
dependencies = [
"libc",
"log",
@ -1472,7 +1460,7 @@ dependencies = [
[[package]]
name = "krata-xengnt"
version = "0.0.4"
version = "0.0.7"
dependencies = [
"libc",
"nix 0.28.0",
@ -1481,7 +1469,7 @@ dependencies = [
[[package]]
name = "krata-xenstore"
version = "0.0.4"
version = "0.0.7"
dependencies = [
"byteorder",
"env_logger",
@ -1954,9 +1942,9 @@ dependencies = [
[[package]]
name = "prost"
version = "0.12.3"
version = "0.12.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "146c289cda302b98a28d40c8b3b90498d6e526dd24ac2ecea73e4e491685b94a"
checksum = "d0f5d036824e4761737860779c906171497f6d55681139d8312388f8fe398922"
dependencies = [
"bytes",
"prost-derive",
@ -1964,13 +1952,13 @@ dependencies = [
[[package]]
name = "prost-build"
version = "0.12.3"
version = "0.12.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c55e02e35260070b6f716a2423c2ff1c3bb1642ddca6f99e1f26d06268a0e2d2"
checksum = "80b776a1b2dc779f5ee0641f8ade0125bc1298dd41a9a0c16d8bd57b42d222b1"
dependencies = [
"bytes",
"heck 0.4.1",
"itertools 0.11.0",
"heck 0.5.0",
"itertools",
"log",
"multimap",
"once_cell",
@ -1981,17 +1969,16 @@ dependencies = [
"regex",
"syn 2.0.57",
"tempfile",
"which",
]
[[package]]
name = "prost-derive"
version = "0.12.3"
version = "0.12.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "efb6c9a1dd1def8e2124d17e83a20af56f1570d6c2d2bd9e266ccb768df3840e"
checksum = "19de2de2a00075bf566bee3bd4db014b11587e84184d3f7a791bc17f1a8e9e48"
dependencies = [
"anyhow",
"itertools 0.11.0",
"itertools",
"proc-macro2",
"quote",
"syn 2.0.57",
@ -1999,11 +1986,11 @@ dependencies = [
[[package]]
name = "prost-reflect"
version = "0.13.0"
version = "0.13.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9ae9372e3227f3685376a0836e5c248611eafc95a0be900d44bc6cdf225b700f"
checksum = "6f5eec97d5d34bdd17ad2db2219aabf46b054c6c41bd5529767c9ce55be5898f"
dependencies = [
"base64",
"base64 0.22.0",
"once_cell",
"prost",
"prost-reflect-derive",
@ -2035,9 +2022,9 @@ dependencies = [
[[package]]
name = "prost-types"
version = "0.12.3"
version = "0.12.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "193898f59edcf43c26227dcd4c8427f00d99d61e95dcde58dabd49fa291d470e"
checksum = "3235c33eb02c1f1e212abdbe34c78b264b038fb58ca612664343271e36e55ffe"
dependencies = [
"prost",
]
@ -2145,11 +2132,11 @@ checksum = "adad44e29e4c806119491a7f06f03de4d1af22c3a680dd47f1e6e179439d1f56"
[[package]]
name = "reqwest"
version = "0.12.2"
version = "0.12.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2d66674f2b6fb864665eea7a3c1ac4e3dfacd2fda83cf6f935a612e01b0e3338"
checksum = "3e6cc1e89e689536eb5aeede61520e874df5a4707df811cd5da4aa5fbb2aae19"
dependencies = [
"base64",
"base64 0.22.0",
"bytes",
"futures-core",
"futures-util",
@ -2167,7 +2154,7 @@ dependencies = [
"percent-encoding",
"pin-project-lite",
"rustls",
"rustls-pemfile 1.0.4",
"rustls-pemfile",
"rustls-pki-types",
"serde",
"serde_json",
@ -2256,22 +2243,13 @@ dependencies = [
"zeroize",
]
[[package]]
name = "rustls-pemfile"
version = "1.0.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1c74cae0a4cf6ccbbf5f359f08efdf8ee7e1dc532573bf0db71968cb56b1448c"
dependencies = [
"base64",
]
[[package]]
name = "rustls-pemfile"
version = "2.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f48172685e6ff52a556baa527774f61fcaa884f59daf3375c62a3f1cd2549dab"
dependencies = [
"base64",
"base64 0.21.7",
"rustls-pki-types",
]
@ -2529,15 +2507,15 @@ checksum = "5ee073c9e4cd00e28217186dbe12796d692868f432bf2e97ee73bed0c56dfa01"
[[package]]
name = "strum"
version = "0.25.0"
version = "0.26.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "290d54ea6f91c969195bdbcd7442c8c2a2ba87da8bf60a7ee86a235d4bc1e125"
checksum = "5d8cec3501a5194c432b2b7976db6b7d10ec95c253208b45f83f7136aa985e29"
[[package]]
name = "strum_macros"
version = "0.25.3"
version = "0.26.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "23dc1fa9ac9c169a78ba62f0b841814b7abae11bdd047b9c58f893439e309ea0"
checksum = "c6cf59daf282c0a494ba14fd21610a0325f9f90ec9d1231dea26bcb1d696c946"
dependencies = [
"heck 0.4.1",
"proc-macro2",
@ -2710,12 +2688,12 @@ dependencies = [
[[package]]
name = "tokio-tun"
version = "0.11.2"
version = "0.11.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bf2efaf33e86779a3a68b1f1d6e9e13a346c1c75ee3cab7a4293235c463b2668"
checksum = "65d79912ba514490b1f5a574b585e19082bd2a6b238970c87c57a66bd77206b5"
dependencies = [
"libc",
"nix 0.27.1",
"nix 0.28.0",
"thiserror",
"tokio",
]
@ -2760,7 +2738,7 @@ dependencies = [
"async-stream",
"async-trait",
"axum",
"base64",
"base64 0.21.7",
"bytes",
"h2",
"http 0.2.12",
@ -2770,7 +2748,7 @@ dependencies = [
"percent-encoding",
"pin-project",
"prost",
"rustls-pemfile 2.1.1",
"rustls-pemfile",
"rustls-pki-types",
"tokio",
"tokio-rustls",
@ -3062,18 +3040,6 @@ dependencies = [
"rustls-pki-types",
]
[[package]]
name = "which"
version = "4.4.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "87ba24419a2078cd2b0f2ede2691b6c66d8e47836da3b6db8265ebad47afbfc7"
dependencies = [
"either",
"home",
"once_cell",
"rustix",
]
[[package]]
name = "winapi"
version = "0.3.9"
@ -3248,9 +3214,9 @@ dependencies = [
[[package]]
name = "winreg"
version = "0.50.0"
version = "0.52.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "524e57b2c537c0f9b1e69f1965311ec12182b4122e45035b1508cd24d2adadb1"
checksum = "a277a57398d4bfa075df44f501a17cfdf8542d224f0d36095a2adc7aee4ef0a5"
dependencies = [
"cfg-if",
"windows-sys 0.48.0",

View File

@ -16,7 +16,7 @@ members = [
resolver = "2"
[workspace.package]
version = "0.0.4"
version = "0.0.7"
homepage = "https://krata.dev"
license = "Apache-2.0"
repository = "https://github.com/edera-dev/krata"
@ -24,7 +24,7 @@ repository = "https://github.com/edera-dev/krata"
[workspace.dependencies]
anyhow = "1.0"
arrayvec = "0.7.4"
async-compression = "0.4.7"
async-compression = "0.4.8"
async-stream = "0.3.5"
async-trait = "0.1.77"
backhand = "0.15.0"
@ -32,7 +32,7 @@ byteorder = "1"
bytes = "1.5.0"
cgroups-rs = "0.3.4"
circular-buffer = "0.1.7"
comfy-table = "7.1.0"
comfy-table = "7.1.1"
crossterm = "0.27.0"
ctrlc = "3.4.4"
elf = "0.7.4"
@ -52,8 +52,8 @@ oci-spec = "0.6.4"
once_cell = "1.19.0"
path-absolutize = "3.1.1"
path-clean = "1.0.1"
prost = "0.12.3"
prost-build = "0.12.3"
prost = "0.12.4"
prost-build = "0.12.4"
prost-reflect-build = "0.13.0"
rand = "0.8.5"
redb = "2.0.0"
@ -65,7 +65,7 @@ signal-hook = "0.3.17"
slice-copy = "0.3.0"
smoltcp = "0.11.0"
thiserror = "1.0"
tokio-tun = "0.11.2"
tokio-tun = "0.11.4"
tonic-build = "0.11.0"
tower = "0.4.13"
udp-stream = "0.0.11"
@ -78,11 +78,11 @@ version = "4.4.18"
features = ["derive"]
[workspace.dependencies.prost-reflect]
version = "0.13.0"
version = "0.13.1"
features = ["derive"]
[workspace.dependencies.reqwest]
version = "0.12.0"
version = "0.12.3"
default-features = false
features = ["rustls-tls"]

View File

@ -16,7 +16,7 @@ comfy-table = { workspace = true }
crossterm = { workspace = true }
ctrlc = { workspace = true, features = ["termination"] }
env_logger = { workspace = true }
krata = { path = "../krata", version = "^0.0.4" }
krata = { path = "../krata", version = "^0.0.7" }
log = { workspace = true }
prost-reflect = { workspace = true, features = ["serde"] }
serde_json = { workspace = true }

View File

@ -10,8 +10,9 @@ use crate::console::StdioConsoleStream;
use super::resolve_guest;
#[derive(Parser)]
#[command(about = "Attach to the guest console")]
pub struct AttachCommand {
#[arg()]
#[arg(help = "Guest to attach to, either the name or the uuid")]
guest: String,
}

View File

@ -17,10 +17,15 @@ use tonic::{transport::Channel, Request};
use crate::cli::resolve_guest;
#[derive(Parser)]
#[command(about = "Destroy a guest")]
pub struct DestroyCommand {
#[arg(short = 'W', long)]
#[arg(
short = 'W',
long,
help = "Wait for the destruction of the guest to complete"
)]
wait: bool,
#[arg()]
#[arg(help = "Guest to destroy, either the name or the uuid")]
guest: String,
}

View File

@ -22,23 +22,46 @@ use tonic::{transport::Channel, Request};
use crate::console::StdioConsoleStream;
#[derive(Parser)]
#[command(about = "Launch a new guest")]
pub struct LauchCommand {
#[arg(short, long)]
#[arg(short, long, help = "Name of the guest")]
name: Option<String>,
#[arg(short, long, default_value_t = 1)]
#[arg(
short,
long,
default_value_t = 1,
help = "vCPUs available to the guest"
)]
cpus: u32,
#[arg(short, long, default_value_t = 512)]
#[arg(
short,
long,
default_value_t = 512,
help = "Memory available to the guest, in megabytes"
)]
mem: u64,
#[arg[short, long]]
#[arg[short, long, help = "Environment variables set in the guest"]]
env: Option<Vec<String>>,
#[arg(short, long)]
#[arg(
short,
long,
help = "Attach to the guest after guest starts, implies --wait"
)]
attach: bool,
#[arg(short = 'W', long)]
#[arg(
short = 'W',
long,
help = "Wait for the guest to start, implied by --attach"
)]
wait: bool,
#[arg()]
#[arg(help = "Container image for guest to use")]
oci: String,
#[arg(allow_hyphen_values = true, trailing_var_arg = true)]
run: Vec<String>,
#[arg(
allow_hyphen_values = true,
trailing_var_arg = true,
help = "Command to run inside the guest"
)]
command: Vec<String>,
}
impl LauchCommand {
@ -63,7 +86,7 @@ impl LauchCommand {
value: value.clone(),
})
.collect(),
command: self.run,
command: self.command,
}),
annotations: vec![],
}),

View File

@ -28,10 +28,11 @@ enum ListFormat {
}
#[derive(Parser)]
#[command(about = "List the guests on the hypervisor")]
pub struct ListCommand {
#[arg(short, long, default_value = "table")]
#[arg(short, long, default_value = "table", help = "Output format")]
format: ListFormat,
#[arg()]
#[arg(help = "Limit to a single guest, either the name or the uuid")]
guest: Option<String>,
}

View File

@ -15,11 +15,12 @@ use crate::console::StdioConsoleStream;
use super::resolve_guest;
#[derive(Parser)]
#[command(about = "View the logs of a guest")]
pub struct LogsCommand {
#[arg()]
guest: String,
#[arg(short, long)]
#[arg(short, long, help = "Follow output from the guest")]
follow: bool,
#[arg(help = "Guest to show logs for, either the name or the uuid")]
guest: String,
}
impl LogsCommand {

View File

@ -21,9 +21,17 @@ use self::{
};
#[derive(Parser)]
#[command(version, about)]
#[command(
version,
about = "Control the krata hypervisor, a secure platform for running containers"
)]
pub struct ControlCommand {
#[arg(short, long, default_value = "unix:///var/lib/krata/daemon.socket")]
#[arg(
short,
long,
help = "The connection URL to the krata hypervisor",
default_value = "unix:///var/lib/krata/daemon.socket"
)]
connection: String,
#[command(subcommand)]

View File

@ -5,8 +5,9 @@ use krata::v1::control::{control_service_client::ControlServiceClient, ResolveGu
use tonic::{transport::Channel, Request};
#[derive(Parser)]
#[command(about = "Resolve a guest name to a uuid")]
pub struct ResolveCommand {
#[arg()]
#[arg(help = "Guest name")]
guest: String,
}

View File

@ -17,8 +17,9 @@ enum WatchFormat {
}
#[derive(Parser)]
#[command(about = "Watch for guest changes")]
pub struct WatchCommand {
#[arg(short, long, default_value = "simple")]
#[arg(short, long, default_value = "simple", help = "Output format")]
format: WatchFormat,
}

View File

@ -17,8 +17,8 @@ circular-buffer = { workspace = true }
clap = { workspace = true }
env_logger = { workspace = true }
futures = { workspace = true }
krata = { path = "../krata", version = "^0.0.4" }
krata-runtime = { path = "../runtime", version = "^0.0.4" }
krata = { path = "../krata", version = "^0.0.7" }
krata-runtime = { path = "../runtime", version = "^0.0.7" }
log = { workspace = true }
prost = { workspace = true }
redb = { workspace = true }

View File

@ -14,8 +14,8 @@ cgroups-rs = { workspace = true }
env_logger = { workspace = true }
futures = { workspace = true }
ipnetwork = { workspace = true }
krata = { path = "../krata", version = "^0.0.4" }
krata-xenstore = { path = "../xen/xenstore", version = "^0.0.4" }
krata = { path = "../krata", version = "^0.0.7" }
krata-xenstore = { path = "../xen/xenstore", version = "^0.0.7" }
libc = { workspace = true }
log = { workspace = true }
nix = { workspace = true, features = ["ioctl", "process", "fs"] }

View File

@ -16,7 +16,7 @@ clap = { workspace = true }
env_logger = { workspace = true }
etherparse = { workspace = true }
futures = { workspace = true }
krata = { path = "../krata", version = "^0.0.4" }
krata = { path = "../krata", version = "^0.0.7" }
krata-advmac = { workspace = true }
libc = { workspace = true }
log = { workspace = true }

View File

@ -12,18 +12,18 @@ resolver = "2"
anyhow = { workspace = true }
backhand = { workspace = true }
ipnetwork = { workspace = true }
krata = { path = "../krata", version = "^0.0.4" }
krata = { path = "../krata", version = "^0.0.7" }
krata-advmac = { workspace = true }
krata-oci = { path = "../oci", version = "^0.0.4" }
krata-oci = { path = "../oci", version = "^0.0.7" }
log = { workspace = true }
loopdev-3 = { workspace = true }
serde_json = { workspace = true }
tokio = { workspace = true }
uuid = { workspace = true }
krata-xenclient = { path = "../xen/xenclient", version = "^0.0.4" }
krata-xenevtchn = { path = "../xen/xenevtchn", version = "^0.0.4" }
krata-xengnt = { path = "../xen/xengnt", version = "^0.0.4" }
krata-xenstore = { path = "../xen/xenstore", version = "^0.0.4" }
krata-xenclient = { path = "../xen/xenclient", version = "^0.0.7" }
krata-xenevtchn = { path = "../xen/xenevtchn", version = "^0.0.7" }
krata-xengnt = { path = "../xen/xengnt", version = "^0.0.7" }
krata-xenstore = { path = "../xen/xenstore", version = "^0.0.7" }
[lib]
name = "kratart"

View File

@ -346,7 +346,7 @@ impl KrataChannelBackendProcessor {
.read_string(format!("{}/port", self.frontend))
.await?;
if (ring_ref.is_none() || port.is_none()) && tries < 10 {
if (ring_ref.is_none() || port.is_none()) && tries < 40 {
tries += 1;
self.store
.write_string(format!("{}/state", self.backend), "4")

View File

@ -14,8 +14,8 @@ elf = { workspace = true }
flate2 = { workspace = true }
libc = { workspace = true }
log = { workspace = true }
krata-xencall = { path = "../xencall", version = "^0.0.4" }
krata-xenstore = { path = "../xenstore", version = "^0.0.4" }
krata-xencall = { path = "../xencall", version = "^0.0.7" }
krata-xenstore = { path = "../xenstore", version = "^0.0.7" }
memchr = { workspace = true }
nix = { workspace = true }
slice-copy = { workspace = true }

View File

@ -5,7 +5,8 @@ changelog_update = false
[[package]]
name = "krata"
git_tag_name = "v${version}"
git_release_name = "v{{ version }}"
git_tag_name = "v{{ version }}"
git_tag_enable = true
git_release_enable = true
changelog_update = true
@ -16,5 +17,25 @@ changelog_include = [
"krata-guest",
"krata-network",
"krata-runtime",
"krata-oci"
"krata-oci",
]
[[package]]
name = "krata-xencall"
semver_check = false
[[package]]
name = "krata-xenclient"
semver_check = false
[[package]]
name = "krata-xenevtchn"
semver_check = false
[[package]]
name = "krata-xengnt"
semver_check = false
[[package]]
name = "krata-xenstore"
semver_check = false

View File

@ -6,7 +6,6 @@ output_log="/var/log/kratad.log"
error_log="/var/log/kratad.err"
depend() {
use xenconsoled
use xenstored
}

View File

@ -6,7 +6,7 @@ output_log="/var/log/kratanet.log"
error_log="/var/log/kratanet.err"
depend() {
use xenstored
use kratad
}
export RUST_LOG=info

View File

@ -2,6 +2,8 @@
Description=Krata Networking Daemon
[Service]
Wants=kratad.service
After=kratad.service
Restart=on-failure
Type=simple
ExecStart=/usr/libexec/kratanet