Commit Graph
100 Commits
Author SHA1 Message Date
alex 82576df7b7 feat: implement kernel / initrd oci image support (#103)
* feat: implement kernel / initrd oci image support

* fix: implement image urls more faithfully
2024-04-22 19:48:45 +00:00
alex 38e892e249 feat: idm v2 (#102)
* feat: rebuild idm to separate transport from content

* feat: fast guest lookup table and host identification
2024-04-22 04:00:32 +00:00
alex 4e9738b959 fix: oci cache store should fallback to copy when rename won't work (#96) 2024-04-16 17:05:24 +00:00
alex 8135307283 feat: oci concurrency improvements (#95)
* feat: implement improved and detailed oci progress indication

* feat: implement on-disk indexes of images

* oci: utilize rw-lock for increased cache performance
2024-04-16 16:29:54 +00:00
alex e450ebd2a2 feat: oci tar format, bit-perfect disk storage for config and manifest, concurrent image pulls (#88)
* oci: retain bit-perfect copies of manifest and config on disk

* feat: oci tar format support

* feat: concurrent image pulls
2024-04-16 08:53:44 +00:00
alex 89055ef77c feat: oci compliance work (#85)
* chore: rework oci crate to be more composable

* feat: image pull is now internally explicit

* feat: utilize vfs for assembling oci images

* feat: rework oci to preserve permissions via a vfs
2024-04-15 17:24:14 +00:00
alex 24c71e9725 feat: oci packer can now use mksquashfs if available (#70)
* feat: oci packer can now use mksquashfs if available

* fix: use nproc in kernel build script for default jobs, and fix DEV.md guide

* feat: working erofs backend
2024-04-15 00:19:38 +00:00
alex 0a6a112133 feat: basic kratactl top command (#72)
* feat: basic kratactl top command

* fix: use magic bytes 0xff 0xff in idm to improve reliability
2024-04-14 22:32:34 +00:00
alex 1627cbcdd7 feat: idm snooping (#71)
Implement IDM snooping, a new feature that lets you snoop on messages between guests and the host. The feature exposes the IDM packets send and receives
to the API, allowing kratactl to now listen for messages and feed them to a user for debugging purposes.
2024-04-14 11:54:21 +00:00
alex 6d07112e3d feat: implement oci image progress (#64)
* feat: oci progress events

* feat: oci progress bars on launch
2024-04-12 18:09:26 +00:00
alex 5e16f3149f feat: guest metrics support (#46)
* feat: initial support for idm send in daemon

* feat: implement IdmClient backend support

* feat: daemon idm now uses IdmClient

* fix: implement channel destruction propagation

* feat: implement request response idm system

* feat: implement metrics support

* proto: move metrics into GuestMetrics for reusability

* fix: log level of guest agent was trace

* feat: metrics tree with process information
2024-04-12 07:34:46 +00:00
alex 7cfdb27d23 chore(workflows): fix release asset assembly for alpine/debian packages (#40) 2024-04-09 04:45:36 -07:00
alex 4f84dfa3c7 chore(workflows): fix release binary upload (#38) 2024-04-09 04:02:07 -07:00
alex 9c0597157b fix: increase channel acquisition timeout to support lower performance hosts (#36) 2024-04-09 02:36:22 -07:00
alex 3f8c9e7a7c chore(workflows): prefix all jobs with workflow name to help distinguish (#35) 2024-04-09 00:05:06 -07:00
alex f2ab03711e feat(ctl): add help and about to commands and arguments (#25) 2024-04-06 00:00:02 +00:00
alex 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
alex 19683b80c1 fix: service files should have kratanet depend on kratad (#18) 2024-04-04 23:44:57 +00:00
alex ae486e347f fix: release pr trigger problem (#21) 2024-04-03 23:59:07 -07:00
alex d674a69c17 ci: fix tag names and disable semver checks for low-level crates (#17) 2024-04-03 17:16:30 +00:00
alex 3641bc55f4 workflows: publish on release 2024-04-03 00:08:28 +00:00
alex 4b6272f49d chore: release-plz on main branch 2024-04-02 23:52:26 +00:00
alex 7c55e63f24 chore: implement automatic releases 2024-04-02 23:50:45 +00:00
alex 2083ec0604 docs: update README 2024-04-02 20:17:34 +00:00
alex 5ad2e40a7b krata: reimplement console to utilize channels, and provide logs support 2024-04-02 08:57:34 +00:00
alex 0fd6318c5f xenstore: use read thread to avoid need for non-blocking I/O 2024-04-02 03:02:00 +00:00
alex 8dd3cc7692 krata: work on parallel reconciliation 2024-04-02 00:56:18 +00:00
alex 6a2f1e6517 dependabot: fix config file 2024-04-01 15:46:39 -07:00
alex d433cd49e2 krata: unvendor dependencies 2024-04-01 15:45:43 -07:00
alex 0fd32e84cd workflows: fix client workflow spec 2024-03-31 16:30:22 -07:00
alex ab8941326a workflows: client build on windows should use lf checkout 2024-03-31 16:29:00 -07:00
alex 8be75a722e workflows: use submodules checkout everywhere 2024-03-31 16:21:25 -07:00
alex e6f35eb3d0 cargo: fix vendor path 2024-03-31 16:09:32 -07:00
alex 58c6413ca2 workflows: checkout submodules 2024-03-31 16:07:57 -07:00
alex e1f1f8579c vendor dependencies using krata-vendor repository 2024-03-31 15:53:10 -07:00
alex 6bf1d3f88c krata: implement parallel guest reconciliation 2024-03-31 10:10:06 +00:00
alex 377b837db9 guest: set hostname from launch config 2024-03-31 03:18:56 +00:00
alex 6cd8cc12db guest: remove device restriction 2024-03-31 02:33:58 +00:00
alex c68f367e4a krata: log when a guest start failures occurs 2024-03-31 01:44:28 +00:00
alex 15d5ed5a45 krata: implement event stream retries 2024-03-31 01:11:50 +00:00
alex 6d6bdade87 kernel: update to 6.8.2 2024-03-31 00:28:21 +00:00
alex 693d62a41a guest: setup loopback interface 2024-03-30 23:46:01 +00:00
alex 8ec7042ea4 guest: place running tasks in cgroup 2024-03-30 23:25:00 +00:00
alex 7e9bc4b910 krata: release v0.0.3 2024-03-30 09:37:54 +00:00
alex 71dcaa7b77 daemon: rework to not use protobuf inside the crate 2024-03-30 09:29:03 +00:00
alex 660b555be7 krata: bump to v0.0.2 2024-03-30 08:42:48 +00:00
alex 03294f2ecd Revert "Release krata v0.0.1, krata-oci v0.0.1, krata-xenstore v0.0.1, krata-guest v0.0.1, krata-xencall v0.0.1, krata-xenclient v0.0.1, krata-xenevtchn v0.0.1, krata-xengnt v0.0.1, krata-runtime v0.0.1, krata-daemon v0.0.1, krata-network v0.0.1, krata-ctl v0.0.1"
This reverts commit efba8b1316.
2024-03-30 08:32:35 +00:00
alex efba8b1316 Release krata v0.0.1, krata-oci v0.0.1, krata-xenstore v0.0.1, krata-guest v0.0.1, krata-xencall v0.0.1, krata-xenclient v0.0.1, krata-xenevtchn v0.0.1, krata-xengnt v0.0.1, krata-runtime v0.0.1, krata-daemon v0.0.1, krata-network v0.0.1, krata-ctl v0.0.1 2024-03-30 08:27:20 +00:00
alex ee639af2ed krata: fix workspace version references and feature discrepancies 2024-03-30 07:56:22 +00:00
alex b65bbff165 krata: update README.md 2024-03-30 07:41:59 +00:00
alex 2d5d819290 daemon: fix build 2024-03-30 07:33:47 +00:00
alex 6ff5a1e62f krata: move protos back into crate directory 2024-03-30 07:20:43 +00:00
alex b9d2dc54ea krata: specify descriptions, licenses, repository, and homepage for crates 2024-03-30 07:11:14 +00:00
alex eb20a4c60c krata: use krata-advmac fork 2024-03-30 06:51:16 +00:00
alex a9c6fa2c6a oci: switch to krata-tokio-tar 2024-03-30 06:31:22 +00:00
alex bdb91a6cb3 krata: restructure packages for cleanliness 2024-03-30 06:21:34 +00:00
alex da9e6cac14 krata: fix guest destruction 2024-03-30 03:49:13 +00:00
alex d659b3aa55 network: performance tuning using tear off buffers 2024-03-29 03:09:41 +00:00
alex 7d7da1f9ee krata: implement idm support for guest <-> host messages 2024-03-28 22:38:21 +00:00
alex 567fcc296e kratart: fix channels after u32::MAX worth of data 2024-03-28 08:55:59 +00:00
alex f7267e4f5d krata: begin work on idm channel 2024-03-28 07:36:48 +00:00
alex 63f7db6cf4 kratart: support for krata channels for two-way byte communication 2024-03-28 05:31:57 +00:00
alex d4f1ee5521 krata: begin work on guest message channel 2024-03-27 06:28:47 +00:00
alex 66465793cd krata: event-based network backend startup and api enhancements 2024-03-27 02:54:39 +00:00
alex 63c0feb053 krataoci: improve performance of squashify 2024-03-25 09:39:06 +00:00
alex 162579f100 xengnt: implement memory mapping support 2024-03-25 07:24:25 +00:00
alex 0a5948aa50 xen: begin work on xen grant mappings 2024-03-25 04:49:57 +00:00
alex 001409378e chore: move kratart::image to krataoci and cleanup dependencies 2024-03-25 02:37:02 +00:00
alex 655b8029cb krata: move api proto to /proto and version api 2024-03-24 05:52:25 +00:00
alex cb6839b0f6 krata: api cleanup and improvements 2024-03-24 05:25:48 +00:00
alex 7543fccfaf kratactl: make things nicer to use from a scripting standpoint 2024-03-23 10:09:00 +00:00
alex e25cbf087d kratactl: implement guest resolution and rename console to attach 2024-03-23 09:48:53 +00:00
alex 7b2de22320 krata: rework xenstore watch for reliability 2024-03-23 08:46:20 +00:00
alex 3d5095c78b krata: reconcile improvements and better kratactl error experience 2024-03-23 07:00:12 +00:00
alex df90a4d03f kratad: filter out backhand info logging 2024-03-23 04:36:21 +00:00
alex f679781545 krata: default log level is now info 2024-03-23 04:31:35 +00:00
alex 6c0e14da6a kratactl: implement output formats 2024-03-23 04:07:48 +00:00
alex 3b5e3a077a krata: improve guest reconciliation 2024-03-23 02:10:30 +00:00
alex 8b57c16f0a krata: fix conformance to container startup 2024-03-22 23:59:02 +00:00
alex 6d6610ca2f krata: fix support for registries with anonymous authentication 2024-03-22 19:57:56 +00:00
alex 1a6287893e kratart: fix multiple oci layer compiler issues 2024-03-22 19:14:27 +00:00
alex f29d7d61e1 nightly: fix build 2024-03-22 10:25:48 -07:00
alex 79ceb4851b krata: fix console restoration 2024-03-21 22:49:37 -07:00
alex 79942fdc4d dependabot: check daily for dependencies and update github actions 2024-03-22 05:04:24 +00:00
alex f854dfe77a kratactl: freebsd build 2024-03-22 04:41:38 +00:00
alex aaf8e50c0e workflows: rework names and split checks 2024-03-21 20:21:42 -07:00
alex 88f6edb608 nightly: fix job names 2024-03-21 20:15:09 -07:00
alex b67b1d8340 nightly: build kratactl for all supported platforms 2024-03-21 20:12:03 -07:00
alex 901ec3b6e5 kratactl: fix windows build 2024-03-21 20:04:10 -07:00
alex 87689067a3 workflows: fix client workflow to use bash by default on windows 2024-03-21 19:58:03 -07:00
alex a3a2148002 kratactl: initial windows bringup 2024-03-21 19:54:14 -07:00
alex 5fd10d6edf workflows: don't run tests on client workflow 2024-03-21 18:47:05 -07:00
alex d98dc7baad workflows: client now builds on macos-14 2024-03-21 18:43:57 -07:00
alex b5f1d9edb0 build: consider x86_64 on aarch64 darwin to not be a cross-compile 2024-03-21 18:39:06 -07:00
alex 370ec8bbe6 krata: fix client tests on darwin 2024-03-21 18:31:20 -07:00
alex 280831045a krata: fix github workflow for clients on darwin 2024-03-21 18:28:52 -07:00
alex 0be154b667 workflows: fix client build on darwin 2024-03-21 18:24:11 -07:00
alex a8e299d03f krata: install homebrew on darwin ci for client builds 2024-03-21 18:22:20 -07:00
alex 55958c514b krata: fix darwin builds of kratactl 2024-03-21 18:20:02 -07:00
alex 597a1433b3 krata: build kratactl for darwin 2024-03-21 18:16:04 -07:00