Commit Graph

374 Commits

Author SHA1 Message Date
renovate[bot] 2dd3f141c5
fix(deps): update rust crate regex to 1.11.0
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-29 15:17:39 +00:00
renovate[bot] 417950e371 fix(deps): update rust crate serde_json to 1.0.128
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-17 15:29:21 +01:00
renovate[bot] a66506e8d4 fix(deps): update rust crate camino to 1.1.9
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-16 20:18:39 +01:00
renovate[bot] 0fd79ecacc fix(deps): update rust crate anyhow to 1.0.89
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-15 13:43:09 +01:00
renovate[bot] 4a5897a1c5 fix(deps): update rust crate oci-spec to 0.7.0
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-12 08:26:18 -03:00
renovate[bot] e7572785dc fix(deps): update rust crate anyhow to 1.0.88
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-11 16:08:20 -03:00
renovate[bot] 75cab98728 fix(deps): update rust crate xml-rs to 0.8.22
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-10 14:07:24 -03:00
renovate[bot] e1521a2e1f fix(deps): update rust crate anyhow to 1.0.87
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-10 14:07:12 -03:00
renovate[bot] e6e43cec4c fix(deps): update rust crate liboci-cli to 0.4.1
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-05 06:51:07 -03:00
renovate[bot] 9476038bc2 fix(deps): update rust crate serde to 1.0.209
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-01 15:48:28 -03:00
renovate[bot] 305631aa65 fix(deps): update rust crate clap to 4.5.16
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-01 15:48:21 -03:00
renovate[bot] 6bd181883d fix(deps): update rust crate liboci-cli to 0.4.0
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-23 20:08:18 +01:00
renovate[bot] 93f71ad3b3 fix(deps): update rust crate camino to 1.1.8
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-22 15:12:54 +01:00
Alberto Faria 138b168e33 docs: Fix QEMU emulator dependency names
Signed-off-by: Alberto Faria <afaria@redhat.com>
2024-08-11 18:41:54 +01:00
renovate[bot] 59113d11cb fix(deps): update rust crate xml-rs to 0.8.21
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-06 14:57:47 +01:00
Alberto Faria 8b061ce3a5 Release 0.3.0
Signed-off-by: Alberto Faria <afaria@redhat.com>
2024-08-03 02:08:54 +01:00
renovate[bot] 6c31744b47 fix(deps): update rust crate regex to 1.10.6
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-03 01:54:49 +01:00
renovate[bot] 2f79d6b6d1 fix(deps): update rust crate clap to 4.5.13
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-03 01:54:36 +01:00
Alberto Faria 259dad6404 create: Drop unnecessary dereferences to fix clippy warning
Signed-off-by: Alberto Faria <afaria@redhat.com>
2024-08-03 01:29:45 +01:00
renovate[bot] 6117d18b00 fix(deps): update rust crate serde to 1.0.204
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-03 01:15:18 +01:00
renovate[bot] a057d6960c fix(deps): update rust crate serde_json to 1.0.121
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-03 01:14:46 +01:00
Alberto Faria a8655b5c95 Revert to minidom 0.15 and MSRV 1.74
minidom 0.16 seems to be broken in several ways.

Signed-off-by: Alberto Faria <afaria@redhat.com>
2024-07-24 12:15:07 +01:00
Alberto Faria c88ee40852 Increase MSRV to 1.76
Signed-off-by: Alberto Faria <afaria@redhat.com>
2024-07-24 12:01:38 +01:00
renovate[bot] 1885a53749 fix(deps): update rust crate minidom to 0.16.0
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-24 05:57:22 +01:00
renovate[bot] fab504a344 fix(deps): update rust crate oci-spec to 0.6.8
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-20 10:02:40 +01:00
Alberto Faria fc5d916371 docs: List skopeo as a runtime dependency
Signed-off-by: Alberto Faria <afaria@redhat.com>
2024-07-18 19:26:02 +01:00
Alberto Faria 3d65c4d471 Use make in scripts instead of cargo-build
Signed-off-by: Alberto Faria <afaria@redhat.com>
2024-07-18 19:25:01 +01:00
Alberto Faria d9b31eeffe
Merge pull request #60 from containers/docs
Revamp docs
2024-07-17 23:12:14 +01:00
Alberto Faria ab63bf10ec List Podman before Docker everywhere for consistency
Signed-off-by: Alberto Faria <afaria@redhat.com>
2024-07-17 23:11:26 +01:00
Alberto Faria 58da5ed7f2 Revamp docs
Add a quick start to the README, reorganize and make the main
documentation less reference-like, and add a man page.

Signed-off-by: Alberto Faria <afaria@redhat.com>
2024-07-17 23:11:26 +01:00
Alberto Faria 84e98863ef
Merge pull request #54 from containers/bootc
Add support for running bootc bootable containers
2024-07-17 23:10:35 +01:00
Alberto Faria 7b026358b9 tests/env.sh: Expose TEST_ID variable to tests
Its value is a random identifier unique to the current run of the
current test.

Signed-off-by: Alberto Faria <afaria@redhat.com>
2024-07-11 15:31:27 +01:00
Alberto Faria 132cc4c52a Add --bootc-disk-size option
It allows settings the disk size of the VM image that is generated from
a bootc container image.

Also improve the default disk size by basing it on the container image
size.

Signed-off-by: Alberto Faria <afaria@redhat.com>
2024-07-11 15:31:21 +01:00
Alberto Faria c0888c6ffb Extend bootc container support to Docker
Signed-off-by: Alberto Faria <afaria@redhat.com>
2024-07-11 15:31:20 +01:00
Alberto Faria de388af2a4 Improve engine detection logic
Signed-off-by: Alberto Faria <afaria@redhat.com>
2024-07-11 15:31:12 +01:00
Alberto Faria ad26d7fe95 Cache VM images generated from bootc container images
Store them as untagged containerdisks in the user's container storage.
They appear in the output of `podman images`, making users aware of
their existence and size on disk, and cleanup commands like `podman
image prune` remove them.

Signed-off-by: Alberto Faria <afaria@redhat.com>
2024-07-11 15:31:12 +01:00
Alberto Faria a9118ee63c Add support for running bootc bootable containers
We attempt to detect if a container image is bootable. We can't easily
retrieve the image's labels, so we check if /usr/lib/bootc/install
exists and is a directory. If so, it is a bootable container. If it is a
bootable container but we're not running under Podman, we fail with an
error.

Once our container's entrypoint starts running, a background process on
the host (outside the container) queries Podman for the image's name and
ID, which the OCI runtime does not get but bootc-install needs. It then
saves the container image as an OCI archive.

It then runs the original container to generate the VM image. We do this
using krun [1] so that elevated privileges aren't necessary. Our
entrypoint blocks until this is done, and all subsequent logic remains
the same.

We could potentially avoid the OCI archive creation step by mounting the
host's container storage into the container running under krun. This
isn't trivial to achieve due to SELinux label and context mismatches
between the host and the krun environment, so we leave this optimization
for a future date.

Closes #26.

[1] https://github.com/containers/crun/blob/main/krun.1.md

Signed-off-by: Alberto Faria <afaria@redhat.com>
2024-07-11 15:31:11 +01:00
Alberto Faria 19cb2349a6 Tolerate images with entrypoint /sbin/init and similar
Signed-off-by: Alberto Faria <afaria@redhat.com>
2024-07-10 20:55:42 +01:00
renovate[bot] b40201ba72 fix(deps): update rust crate rust-embed to 8.5.0
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-09 09:55:19 +01:00
renovate[bot] db18060978 fix(deps): update rust crate oci-spec to 0.6.7
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-04 14:19:13 +01:00
Alberto Faria f09ac901ff Fix build after non-backward compatible oci-spec update
The update from oci-spec 0.6.5 to 0.6.6 turned out to not be backward
compatible.

Signed-off-by: Alberto Faria <afaria@redhat.com>
2024-07-02 13:27:36 +01:00
renovate[bot] 646be3e47b fix(deps): update rust crate oci-spec to 0.6.6
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-02 12:55:50 +01:00
renovate[bot] dd263a2bc4 fix(deps): update rust crate serde_json to 1.0.120
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-01 20:10:38 +01:00
Alberto Faria fe90b56767
Merge pull request #96 from containers/renovate/clap-4.x
fix(deps): update rust crate clap to 4.5.8
2024-07-01 06:37:12 +01:00
renovate[bot] aa31281168
fix(deps): update rust crate clap to 4.5.8
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-01 01:15:48 +00:00
Alberto Faria adb9f38b43
Merge pull request #89 from containers/renovate/serde_json-1.x
fix(deps): update rust crate serde_json to 1.0.119
2024-06-30 22:08:04 +01:00
renovate[bot] 75ed7d972c
fix(deps): update rust crate serde_json to 1.0.119
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-30 20:08:36 +00:00
Alberto Faria 93ee592c46
Merge pull request #88 from containers/renovate/serde_json-1.x
fix(deps): update rust crate serde_json to 1.0.118
2024-06-25 18:16:57 +01:00
renovate[bot] 2a7585eb2d
fix(deps): update rust crate serde_json to 1.0.118
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-25 05:18:53 +00:00
Alberto Faria 326e575f56
Merge pull request #87 from containers/renovate/lazy_static-1.x
fix(deps): update rust crate lazy_static to 1.5.0
2024-06-22 13:15:26 +01:00