From 5cc5c9843adbd38c469bd155dd6541d972207554 Mon Sep 17 00:00:00 2001 From: Alex Eagle Date: Thu, 28 Sep 2023 16:21:35 -0700 Subject: [PATCH] Update README.md --- README.md | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index 0364fce0..03821c80 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,15 @@ # Bazel rules for OCI containers -This is a "barebones" alternative to [rules_docker](https://github.com/bazelbuild/rules_docker). +This is a "barebones" alternative to [rules_docker](https://github.com/bazelbuild/rules_docker) based on the Open Containers Initiative: A lot of companies have already done a successful migration from `rules_docker`. Please let us know about yours on our adoption discussion! -We start from first principles and avoided some pitfalls we learned in maintaining that repo: +_Need help?_ This ruleset has support provided by https://aspect.dev. + +## Design + +We started from first principles and avoided some pitfalls we learned in maintaining that repo: - Use a toolchain consisting of off-the-shelf, pre-built layer and container manipulation tools. - Don't write language-specific rules, as we cannot be experts on all languages, nor can users deal with the versioning issues @@ -14,8 +18,6 @@ We start from first principles and avoided some pitfalls we learned in maintaini - Use our toolchain hermetically: don't assume there is a docker pre-installed on the machine. - Keep a tight complexity budget for the project so we are able to commit to effective maintenance. -_Need help?_ This ruleset has support provided by https://aspect.dev. - ## Installation See the install instructions on the release notes: @@ -47,6 +49,7 @@ rules_oci does not contain language-specific rules, but we do have limited docum - [WASM](https://github.com/bazel-contrib/rules_oci/tree/main/e2e/wasm) (see https://docs.docker.com/desktop/wasm/) - [Static Content](docs/static_content.md) (such as a html/javascript frontend) +> [!NOTE] > Your language not listed above? Please contribute engineering resources or financially through our Sponsor link! There are some generic examples of usage in the [examples](https://github.com/bazel-contrib/rules_oci/tree/main/examples) folder. @@ -81,18 +84,17 @@ rules_oci supports two different registry implementation for the temporary stora ### Pull and Push -- [oci_pull](docs/pull.md) Pulls image layers using Bazel's downloader. -- [oci_push](docs/push.md) Push an oci_image or oci_image_index to a remote registry. +- [oci_pull](docs/pull.md) Pull image layers using Bazel's downloader. Falls back to using `curl` in some cases. +- [oci_push](docs/push.md) Push an `oci_image` or `oci_image_index` to a remote registry. ### Testing -- We recommend [container_structure_test](https://github.com/GoogleContainerTools/container-structure-test#running-structure-tests-through-bazel) to run tests against an `oci_image` or `oci_tarball` target. - - +- [cosign_sign](https://github.com/bazel-contrib/rules_oci/blob/main/cosign/private/sign.bzl): Sign an `oci_image` using `cosign` binary at a remote registry. +- [cosign_attest](https://github.com/bazel-contrib/rules_oci/blob/main/cosign/private/attest.bzl) Add an attachment to an `oci_image` at a remote registry using `cosign`.