ostree-ext 0.4.0



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]