Skip to content

feat: add OCI artifact support in tag details view#528

Open
rchincha wants to merge 1 commit into
project-zot:mainfrom
rchincha:oras-artifacts
Open

feat: add OCI artifact support in tag details view#528
rchincha wants to merge 1 commit into
project-zot:mainfrom
rchincha:oras-artifacts

Conversation

@rchincha
Copy link
Copy Markdown
Contributor

What type of PR is this?

Which issue does this PR fix:

What does this PR do / Why do we need it:

If an issue # is not available please add repro steps and logs from IPAMD/CNI showing the issue:

Testing done on this change:

Automation added to e2e:

Will this break upgrades or downgrades. Has updating a running cluster been tested?:

Does this change require updates to the CNI daemonset config files to work?:

Does this PR introduce any user-facing change?:


By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds OCI artifact awareness to the tag details view so artifact manifests expose appropriate pull instructions and display artifact-specific metadata/content.

Changes:

  • Add ORAS pull command support and show ORAS as the default pull option for artifact manifests.
  • Extend manifest modeling + API query to include ArtifactType and Layers, and render “Artifact Type” in the metadata panel.
  • Render artifact “files” (layers) in the Layers tab via a new ArtifactFileCard UI, with accompanying test coverage.

Reviewed changes

Copilot reviewed 10 out of 11 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
src/utilities/pullStrings.js Adds orasPull() helper and exports it.
src/utilities/objectModels.js Maps ArtifactType and normalizes Layers into a UI-friendly shape.
src/components/Tag/TagDetailsMetadata.jsx Passes artifact context to pull dropdown and displays “Artifact Type” card.
src/components/Tag/TagDetails.jsx Plumbs artifactType/layers from the selected manifest into tab content + metadata.
src/components/Tag/Tabs/HistoryLayers.jsx Switches between “Layers” and “Artifact Files” rendering based on manifest type.
src/components/Shared/PullCommandButton.jsx Adds ORAS tab/pull string support for artifacts.
src/components/Shared/ArtifactFileCard.jsx New card component to display artifact layer/file details.
src/api.js Extends image detail query to request ArtifactType + Layers on manifests.
src/tests/TagPage/TagDetails.test.jsx Adds integration-style tests covering ORAS tab/copy and artifact metadata/files.
src/tests/TagPage/HistoryLayers.test.jsx Adds unit tests for artifact file rendering cases.
package-lock.json Lockfile updates from dependency resolution.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

const [isCopied, setIsCopied] = useState(false);
const [selectedPullTab, setSelectedPullTab] = useState(dockerPull(imageName));
const [selectedPullTab, setSelectedPullTab] = useState(defaultPull);

Comment on lines +127 to +134
<Stack direction="row" onClick={() => setOpen((prev) => !prev)}>
{!open ? (
<KeyboardArrowRight className={classes.dropdownText} />
) : (
<KeyboardArrowDown className={classes.dropdownText} />
)}
<Typography className={classes.dropdownButton}>DETAILS</Typography>
</Stack>
Signed-off-by: Ramkumar Chinchani <rchincha.dev@gmail.com>
@codecov
Copy link
Copy Markdown

codecov Bot commented May 12, 2026

Codecov Report

❌ Patch coverage is 92.00000% with 2 lines in your changes missing coverage. Please review.
✅ Project coverage is 80.62%. Comparing base (f6aa31b) to head (9490323).

Files with missing lines Patch % Lines
src/components/Shared/ArtifactFileCard.jsx 88.88% 1 Missing ⚠️
src/components/Shared/PullCommandButton.jsx 80.00% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #528      +/-   ##
==========================================
+ Coverage   80.53%   80.62%   +0.08%     
==========================================
  Files          62       63       +1     
  Lines        1690     1708      +18     
  Branches      222      223       +1     
==========================================
+ Hits         1361     1377      +16     
- Misses        266      268       +2     
  Partials       63       63              

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants