Skip to content

Add support to interact with a local podman installation#211

Merged
NotTheEvilOne merged 3 commits intomainfrom
feature/oci-podman-interaction
Mar 10, 2026
Merged

Add support to interact with a local podman installation#211
NotTheEvilOne merged 3 commits intomainfrom
feature/oci-podman-interaction

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 86.32219% with 45 lines in your changes missing coverage. Please review.
✅ Project coverage is 91.13%. Comparing base (d3ea02a) to head (bf61ccb).
⚠️ Report is 3 commits behind head on main.

Files with missing lines Patch % Lines
src/gardenlinux/oci/podman.py 81.30% 23 Missing ⚠️
src/gardenlinux/oci/__main__.py 84.15% 16 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.41%   91.13%   -0.28%     
==========================================
  Files          49       51       +2     
  Lines        2585     2887     +302     
==========================================
+ Hits         2363     2631     +268     
- Misses        222      256      +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 5 times, most recently 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).

@NotTheEvilOne NotTheEvilOne force-pushed the feature/oci-podman-interaction branch from 0dbdc21 to 67d413d Compare December 20, 2025 14:00
@NotTheEvilOne NotTheEvilOne requested a review from a team January 21, 2026 11:28
@NotTheEvilOne NotTheEvilOne force-pushed the feature/oci-podman-interaction branch 3 times, most recently from ab347bc to 08405e0 Compare January 24, 2026 09:54
@NotTheEvilOne NotTheEvilOne force-pushed the feature/oci-podman-interaction branch from 08405e0 to 537798a Compare February 7, 2026 19:56
@NotTheEvilOne NotTheEvilOne force-pushed the feature/oci-podman-interaction branch from 537798a to ba4cfd4 Compare March 2, 2026 08:34
Signed-off-by: Tobias Wolf <wolf@b1-systems.de>
Signed-off-by: Tobias Wolf <wolf@b1-systems.de>
On-behalf-of: SAP <tobias.wolf@sap.com>
Signed-off-by: Tobias Wolf <wolf@b1-systems.de>
On-behalf-of: SAP <tobias.wolf@sap.com>
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 proper cli error messages when wrong arguments are passed to pull (maybe it also applies to other subcommands).

I would also add tests for non-happy paths, at your discretion however.

@NotTheEvilOne
Copy link
Contributor Author

NotTheEvilOne commented Mar 10, 2026

Please add proper cli error messages when wrong arguments are passed to pull (maybe it also applies to other subcommands).

Please elaborate in more detail what you mean with "proper cli error messages":

Usage: gl-oci pull-container [OPTIONS]
Try 'gl-oci pull-container --help' for help.

Error: Missing option '--container'.

This is the default output and already pretty detailed. Based on the audience of the CLI tools I would expect our users to be able to figure out what option is missing.

Furthermore please consider to open an issue if error messages may not contain the details you would expect. This is out of scope for this PR.

@vivus-ignis
Copy link
Contributor

Proper CLI error message (and actually a proper error message in general) is a message that gives a hint to a user on what he/she can do next to fix the problem. Here's an example from docker

docker pull foo:bar
Error response from daemon: pull access denied for foo, repository does not exist or may require 'docker login': denied: requested access to the resource is denied

In my opinion, "None" is not an error message at all.

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.

LGTM

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 optimize OCI image handling with podman locally Add support to create a image manifest with given container tags

3 participants