惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

W
WeLiveSecurity
T
The Exploit Database - CXSecurity.com
C
CXSECURITY Database RSS Feed - CXSecurity.com
S
Security @ Cisco Blogs
T
Threat Research - Cisco Blogs
TaoSecurity Blog
TaoSecurity Blog
Recent Commits to openclaw:main
Recent Commits to openclaw:main
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
腾讯CDC
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
T
The Blog of Author Tim Ferriss
Microsoft Azure Blog
Microsoft Azure Blog
罗磊的独立博客
F
Full Disclosure
博客园 - 【当耐特】
C
CERT Recently Published Vulnerability Notes
Engineering at Meta
Engineering at Meta
Application and Cybersecurity Blog
Application and Cybersecurity Blog
T
Threatpost
I
Intezer
V2EX - 技术
V2EX - 技术
H
Hackread – Cybersecurity News, Data Breaches, AI and More
The Hacker News
The Hacker News
小众软件
小众软件
Google DeepMind News
Google DeepMind News
T
Tailwind CSS Blog
D
Darknet – Hacking Tools, Hacker News & Cyber Security
B
Blog RSS Feed
Microsoft Security Blog
Microsoft Security Blog
N
News | PayPal Newsroom
MyScale Blog
MyScale Blog
AI
AI
Vercel News
Vercel News
Spread Privacy
Spread Privacy
美团技术团队
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
The GitHub Blog
The GitHub Blog
V
Vulnerabilities – Threatpost
Schneier on Security
Schneier on Security
Cyberwarzone
Cyberwarzone
G
GRAHAM CLULEY
Help Net Security
Help Net Security
Hacker News: Ask HN
Hacker News: Ask HN
Google DeepMind News
Google DeepMind News
MongoDB | Blog
MongoDB | Blog
L
LINUX DO - 热门话题
U
Unit 42
L
LangChain Blog
Recent Announcements
Recent Announcements

OCI Registry As Storage Blog

🚀 Announcing ORAS v1.3.0 - Elevate your artifact and registry management workflows 🚀 Announcing ORAS v1.3.0-beta.3 - Enrich formatted output of oras discover Lightweight Registry with Oras OCI-Layouts and Object Storage in The Cloud ORAS Welcomes New Owners, Maintainers, and Thanks Emeritus Owners ORAS 0.15 - A Fully Functional OCI Registry Client Bundle, test and deploy Gatekeeper policies as OCI image ORAS - Looking back on 2022 and forward to 2023 ORAS 0.14 and Future - Empower Container Secure Supply Chain ORAS Artifacts Draft Specification Release – Adding Secure Supply Chain Artifacts References
Announcing ORAS v1.2.0 - OCI Spec v1.1.0 support, formatted output, and more!
ORAS Community · 2024-05-29 · via OCI Registry As Storage Blog

The ORAS project maintainers are proud to announce ORAS CLI v1.2.0 and ORAS-go v2.5.0. These two releases are ready for production use. ORAS CLI v1.2.0 introduces OCI Spec v1.1.0 support, formatted output, brand-new terminal experience with progress bar, and more! This article walks you through the notable features and how these enhancements benefit ORAS users as well as the cloud-native ecosystem.

What's new in ORAS v1.2.0

OCI Spec v1.1.0 support

ORAS CLI v1.2.0 and ORAS-go v2.5.0 are now compliant with OCI image-spec v1.1.0 and distribution-spec v1.1.0. With OCI Spec v1.1.0 implemented by more and more OCI registries and officially supported in the ORAS client side, these major capabilities are officially enabled for users:

  • Able to create, store, and distribute non-container artifacts, such as Helm Chart, Kubernetes manifest file, See OCI Artifact concept for details.
  • Able to establish relationships between different artifacts. This allows users to associate the supply chain artifacts like SBOM, signature, vulnerability scanning report with the image. See The Art of Associating Artifacts for details.
  • Able to discover and query artifact relationships, able to distribute a graph of artifacts across registries. See Listing Referrers concept for details.

Formatted output

ORAS CLI has very basic output to show command operation result to human. For machine processing, especially in automation scenarios like scripting and CI/CD pipelines, developers may want to perform batch operations and chain different commands with ORAS, as well as filtering, modifying, and sorting objects based on the ORAS outputs. Developers expect that ORAS output can be emitted as machine-readable text, so that it can be used to perform further data manipulation.

With formatted output support in ORAS v1.2.0, it enables users to use the --format to format metadata output into structured data (e.g. JSON) and optionally use the --template with the Go template to manipulate the output data.

For example, push a file and two tags to a repository and show the descriptor of the image manifest in pretty JSON format:

oras push $REGISTRY/$REPO:$TAG1,$TAG2 sbom.spdx vul-scan.json --format json

{

"reference": "$REGISTRY/$REPO@sha256:4a5b8c83d153f52afdfcb422db56c2349aae3bd5ecf8338a58353b5eb6681c45",

"mediaType": "application/vnd.oci.image.manifest.v1+json",

"digest": "sha256:4a5b8c83d153f52afdfcb422db56c2349aae3bd5ecf8338a58353b5eb6681c45",

"size": 820,

"annotations": {

"org.opencontainers.image.created": "2023-12-15T09:41:54Z"

},

"artifactType": "json/example",

"referenceByTags": [

"$REGISTRY/$REPO:$TAG1",

"$REGISTRY/$REPO:$TAG2"

]

}

If you want to filter out the value of reference and media type of the pushed artifact in the standard output, use Go template functions as follows:

oras push $REGISTRY/$REPO:$TAG1,$TAG2 sbom.spdx vul-scan.json --format go-template='{{.reference}}, {{.mediaType}}'

$REGISTRY/$REPO@sha256:4a5b8c83d153f52afdfcb422db56c2349aae3bd5ecf8338a58353b5eb6681c45, application/vnd.oci.image.manifest.v1+json

This feature is still in "Experimental" stage. We welcome feedback and contributions to make this feature more mature.

Progress output to show real-time status

Keeping track of manifest content download and upload has never been more intuitive and informative. With the progress output, users can witness the real-time status of manifest content pulling, pushing, and transferring. This is really helpful and effective when pulling or pushing large-size content from or to the registry.

asciicast

Other enhancements

  • Support X.509 mTLS authentication with OCI registries by introducing --cert-file and --key-file in several ORAS commands
  • Support deletion of manifests and blobs in OCI image layout
  • Introduce --platform to oras attach for better multi-arch attaching experience, which allows adding referrer artifact to a specific sub-platform
  • Introduce oras resolve to get the digest of an artifact

In addition, the overall user experience and performance are also enhanced in this release:

  • Reduce authentication request count for several ORAS commands and support blob mounting across repositories in the same registry for oras copy
  • Improve error message based on ORAS CLI error handling guidance

There are a few bug fixes and a deprecated feature in this release. For a concrete changelog, please see ORAS CLI v1.2.0 Release Notes.

Use ORAS CLI in terminal, Docker container and CI/CD pipelines

ORAS installation binary is available on Winget, Homebrew, Snap, GitHub and Docker container image. It can be installed via one simple command. Please see the installation guide for your environment.

The ORAS GitHub Actions has been upgraded to ORAS CLI v1.2.0. ORAS CLI has also been integrated with the hosted runner machines (Ubuntu 22.04 and Ubuntu 20.04) on GitHub Actions and Azure DevOps as a preinstalled software. This delivers out-of-box experience to use ORAS in CI/CD pipelines.

What's next for ORAS

ORAS CLI v1.3.0 will focus on verbose logs improvement for a better troubleshooting experience, image index for multi-arch image management, and annotating experience improvement. See the ORAS v1.3.0 milestone for details. Any feedback are welcome!