Skip to content

Conversation

@NotTheEvilOne
Copy link
Contributor

@NotTheEvilOne NotTheEvilOne commented Oct 2, 2025

What this PR does / why we need it:
This PR adds support to interact with a local podman installation.

Which issue(s) this PR fixes:
Closes #199
Closes #200

@NotTheEvilOne NotTheEvilOne force-pushed the feature/oci-podman-interaction branch 2 times, most recently from 6d29503 to 9aff29a Compare October 2, 2025 08:54
@codecov
Copy link

codecov bot commented Oct 2, 2025

Codecov Report

❌ Patch coverage is 87.11656% with 42 lines in your changes missing coverage. Please review.
✅ Project coverage is 91.18%. Comparing base (9bc3c1f) to head (67d413d).

Files with missing lines Patch % Lines
src/gardenlinux/oci/podman.py 81.30% 23 Missing ⚠️
src/gardenlinux/oci/__main__.py 86.02% 13 Missing ⚠️
src/gardenlinux/oci/container.py 91.17% 3 Missing ⚠️
src/gardenlinux/oci/podman_context.py 95.52% 3 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #211      +/-   ##
==========================================
- Coverage   91.54%   91.18%   -0.36%     
==========================================
  Files          42       44       +2     
  Lines        2070     2372     +302     
==========================================
+ Hits         1895     2163     +268     
- Misses        175      209      +34     

☔ 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.

@NotTheEvilOne NotTheEvilOne force-pushed the feature/oci-podman-interaction branch from 9aff29a to 41c4a3a Compare October 2, 2025 09:14
Copy link
Contributor

@vivus-ignis vivus-ignis left a comment

Choose a reason for hiding this comment

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

Please add tests. I've also added some suggestions.

@NotTheEvilOne NotTheEvilOne force-pushed the feature/oci-podman-interaction branch 4 times, most recently from 5eea9cf to 0f14ce7 Compare October 3, 2025 14:46
@NotTheEvilOne NotTheEvilOne force-pushed the feature/oci-podman-interaction branch 18 times, most recently from 4d6fba8 to 01a90ec Compare October 23, 2025 07:10
@NotTheEvilOne NotTheEvilOne force-pushed the feature/oci-podman-interaction branch 4 times, most recently from 677b956 to 0915535 Compare November 28, 2025 17:00
@NotTheEvilOne NotTheEvilOne force-pushed the feature/oci-podman-interaction branch 12 times, most recently from 7aa9d6a to 7029e14 Compare December 17, 2025 08:03
@NotTheEvilOne NotTheEvilOne force-pushed the feature/oci-podman-interaction branch from 7029e14 to b9039cc Compare December 17, 2025 13:24
@NotTheEvilOne
Copy link
Contributor Author

Please add tests. I've also added some suggestions.

Code is now ready for review, I would highly appreciate your feedback @vivus-ignis.

@NotTheEvilOne NotTheEvilOne marked this pull request as ready for review December 17, 2025 15:45
Copy link
Contributor

@vivus-ignis vivus-ignis left a comment

Choose a reason for hiding this comment

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

The code looks good to me, but the user experience of the gl-oci has a room for improvements. It's not obvious what is this tool is for in general and how to use it (see my comments on naming).

"""
gl-oci main entrypoint
"""

Copy link
Contributor

Choose a reason for hiding this comment

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

I think there's a general issue with naming here. A container is something running, while image is a filesystem snapshot. I think using word "container" here is confusing:

Commands:                                                                                                                                                              
  add-container-to-index          Adds an image container to an OCI image...                                                                                           
  build-container                 Build an OCI container based on the...                                                                                               
  load-container                  Push to an OCI registry.                                                                                                             
  load-containers-from-directory  Push to an OCI registry.                                                                                                             
  new-index                       Push a list of files from the...                                                                                                     
  pull-container                  Push to an OCI registry.                                                                                                             
  push-container                  Push to an OCI registry.                                                                                                             
  push-manifest                   Push artifacts and the manifest from a...                                                                                            
  push-manifest-tags              Push artifacts and the manifest from a...                                                                                            
  save-container                  Push to an OCI registry.
  tag-container                   Push to an OCI registry.
  update-index                    Push a list of files from the...

Copy link
Contributor Author

Choose a reason for hiding this comment

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

An OCI container is the most generic term to refer to an OCI resource. I do agree that functions like pull-container could be named as pull-image but for e.g. tag-container it would have to stay generic as this method supports all OCI resources like index and manifest as well. It seems to be more convenient to use the same term for these functions.

@NotTheEvilOne NotTheEvilOne force-pushed the feature/oci-podman-interaction branch from 0dbdc21 to 67d413d Compare December 20, 2025 14:00
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.

Analyse existing possibilities to push OCI images tagged in podman locally Add support to create a image manifest with given container tags

4 participants