ostree-ext 0.4.0
- From: "Colin Walters" <walters verbum org>
- To: ostree-list <ostree-list gnome org>
- Subject: ostree-ext 0.4.0
- Date: Tue, 02 Nov 2021 09:42:06 -0400
A new release of ostree-ext is out:
https://crates.io/crates/ostree-ext/0.4.0
A *lot* has happened here on the "ostree/OCI" bridging.
https://github.com/containers/skopeo/pull/1476
merged, and a new Rust crate
https://crates.io/crates/containers-image-proxy
was created to use it.
There's a new architecture diagram here that explains things:
https://github.com/ostreedev/ostree-rs-ext#ostree-ext
Building on top of this, there is now support for importing
layered images. This proposed CoreOS enhancement builds on this:
https://github.com/coreos/enhancements/pull/7
Now, I want to emphasize a new section in the README.md here:
"However, while the ostree core is very stable, the APIs and data models and this crate should be considered
"slushy". An effort will be made to preserve backwards compatibility for data written by prior versions (e.g.
of tar and container serialization), but if you choose to use this crate, please file an issue to let us
know."
But in the short term my goal is to expose this in rpm-ostree
under an experimental flag, and gain experience with it.
We now depend on the oci_spec crate:
https://docs.rs/oci-spec/
Besides all the container work, there's a few other bits
like helpers for GKeyFile:
https://github.com/ostreedev/ostree-rs-ext/pull/132
A "refescape" module:
https://github.com/ostreedev/ostree-rs-ext/pull/107
A "tokio_util" module:
https://github.com/ostreedev/ostree-rs-ext/pull/106
Colin Walters (80):
(cargo-release) start next development iteration 0.3.1-alpha.0
lib: Fix misc clippy issues
lib/{tar,container}: Add a lot more module level docs
lib/cli: Fix link to clap
lib/container/import: Drop commented code
lib/container/import: Minor code cleanup
lib/container/import: Add a clarifying comment
lib/container/import: Add some implementation docs
lib: Bump to 0.4.0-alpha.0
container/import: Check skopeo errors first
lib/container: Remove with_digest() method
tests: Verify we currently reject a derived container
lib/container: Change manifest fetch API to return raw bytes and digest
lib/container: Add API to fetch from already downloaded manifest
lib/container: Make use of `skopeo copy --digestfile` if present
tests: Strengthen error check for empty archive
lib/container: Explicitly drain stream
tests: Add srcrepo to Fixture
tests: Drop redundant destrepo creation
tests: Verify that exported tar is bit-for-bit identical
lib/container: Split off helper to find all layers into oci
test: Add an `#[ignore]`d test to verify registry integration
lib/tar: Add new `write` module
Fetch via container-image-proxy
imageproxy: Add context to failure to spawn
imageproxy: Add some docstrings
lib/container: Use pin-project for ProgressReader
lib: Clean up AsyncRead → Read bridge
lib/tar/write: Translate /etc → /usr/etc by default
lib: Lower bitflags requirement to just "1"
lib/container: Correctly handle uncompressed layers
oci: Add `#[derive(Clone, PartialEq, Eq)]`
Add tokio_util module
lib: Fix some rustdoc warnings
tokio_util: Add API to do GLib+`GCancellable` from `async fn`
Add new refescape module
tar/write: Don't actually derive from base when using selinux
Bump to ostree 0.13.2
cli: Use the terms "encapsulate" and "unencapsulate"
lib/tar: Pre-filter tar archive in Rust
cli: Switch to nested match for container opts
container/oci: Add config to Manifest
container/oci: Use our Manifest struct when writing
tests: Use --no-bindings for base commit
Add a new container/store module
lib: Bump to ostree 0.13.3
Switch to using new skopeo proxy code
Switch to published containers-image-proxy crate
Add `ostree-unverified-registry:` shorthand
Factor out internal `objgv` module with `gv!` incantations
Fix misc clippy lints
container/store: Box PreparedImport case
tar/export: Add a `new()` method
tar/export: Rename internal struct
tar/export: Move initial directory writes to helper function
tar/export: Finish hoisting all write code into writer struct
lib/oci: Make writer completion consume self
Depend on oci-spec
oci: Also add `CARGO_PKG_NAME`
tar/export: Minor tweaks from PR review
oci: Finish porting to main oci_spec crate
cli: Add missing sysroot load
container/deploy: Change origin key to match what rpm-ostree is using
Add a new `keyfileext` module with `KeyFileExt` trait
Add a public API to get manifest digest
lib: Drop unused `serde-plain`
lib: Remove clap/structopt from dev-dependencies
lib: Remove `maplit`
lib: Remove `tokio-stream`
container/deploy: Add a `--target-imgref` option
lib/container: Expose `oci_spec::image::ImageManifest` publicly
lib/cli: Use `#[structopt(parse)]`
lib: Re-export `oci_spec`
lib: Rename internal `oci` module to `ociwriter`
ociwriter: Expose API to push multiple layers
ociwriter: Add methods to create layers from writer
lib/container: Use "encapsulate" terminology for module names too
Clean up `deny/forbid` bits
README.md: Various updates/reworking
(cargo-release) version 0.4.0
[Date Prev][
Date Next] [Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]