1
0
Fork 0
mirror of https://github.com/containers/ansible-podman-collections.git synced 2026-05-11 17:44:03 +00:00
Commit graph

260 commits

Author SHA1 Message Date
Sergey
1436647bc3
Release 1.20.0 version (#1030)
Fix typos and release.

Signed-off-by: Sagi Shnaidman <sshnaidm@redhat.com>
2026-05-04 15:00:49 +03:00
Sergey
16ad7de649
Fix podman_quadlet_build and write unittests (#1027)
Signed-off-by: Sagi Shnaidman <sshnaidm@redhat.com>
2026-04-29 19:57:15 +03:00
BenjaminVouillaume
983c6faeb3
feat: Create podman_build modules to build using quadlet (#1008)
* feat: Create podman_build modules to build using quadlet

Signed-off-by: Benjamin Vouillaume <benjamin.m.vouillaume@gmail.com>
Signed-off-by: Benjamin Vouillaume <benjaminvouillaume@MacBook-Pro-de-Benjamin.local>
Signed-off-by: BenjaminVouillaume <benjaminvouillaume@MacBook-Pro-de-Benjamin.local>
Signed-off-by: BenjaminVouillaume <benjamin.m.vouillaume@gmail.com>

* fix: tests

Signed-off-by: Benjamin Vouillaume <benjamin.m.vouillaume@gmail.com>
Signed-off-by: Benjamin Vouillaume <benjaminvouillaume@MacBook-Pro-de-Benjamin.local>
Signed-off-by: BenjaminVouillaume <benjaminvouillaume@MacBook-Pro-de-Benjamin.local>
Signed-off-by: BenjaminVouillaume <benjamin.m.vouillaume@gmail.com>

* chore: Small fixes based on review

Signed-off-by: BenjaminVouillaume <benjamin.m.vouillaume@gmail.com>

* fix: Gemini second review

Signed-off-by: BenjaminVouillaume <benjamin.m.vouillaume@gmail.com>

* fix: Sergey's review

Signed-off-by: BenjaminVouillaume <benjamin.m.vouillaume@gmail.com>

---------

Signed-off-by: Benjamin Vouillaume <benjamin.m.vouillaume@gmail.com>
Signed-off-by: Benjamin Vouillaume <benjaminvouillaume@MacBook-Pro-de-Benjamin.local>
Signed-off-by: BenjaminVouillaume <benjaminvouillaume@MacBook-Pro-de-Benjamin.local>
Signed-off-by: BenjaminVouillaume <benjamin.m.vouillaume@gmail.com>
2026-04-29 14:39:20 +03:00
Jérémy Phetphoumy
2ae75661c8
Fix/podman pod check mode support (#1022)
* Fix podman_pod skipping in check mode by adding supports_check_mode=True

The module was not declaring supports_check_mode=True in AnsibleModule(),
causing Ansible to automatically skip the task when running with --check.
The module_utils (podman_pod_lib) already guards execution with
`if not self.module.check_mode`, so the logic was in place — only the
declaration was missing.

Signed-off-by: Jérémy Phetphoumy <j.phetphoumy@gmail.com>

* Add integration tests for podman_pod check mode support

Adds a dedicated integration test target to verify that podman_pod
correctly supports check mode:
- Reports changed on a non-existing pod without creating it
- Is idempotent on an existing pod with the same config
- Reports changed on config diff without modifying the actual pod

Signed-off-by: Jérémy Phetphoumy <j.phetphoumy@gmail.com>

---------

Signed-off-by: Jérémy Phetphoumy <j.phetphoumy@gmail.com>
2026-04-28 22:16:09 +03:00
Terence Honles
abc454ea89
fix podman_secret ignoring 'data' if it's an empty string (#1025)
Signed-off-by: Terence D. Honles <terence@honles.com>
2026-04-28 22:15:16 +03:00
bandit420
0fbcf8f6d5
Feature/1024 podman prune idempotency (#1026)
* fix(podman_prune): mark unchanged when reclaiming 0B
* test(podman_prune): add idempotency test for system prune

* test(podman_prune): add executable parameter to idempotency test

* fix(podman_prune): use broader pattern

---------

Signed-off-by: Eric Badendiek <eric.badendiek@gmx.de>
2026-04-25 15:11:56 +03:00
Sagi Shnaidman
b13aacc425 podman_network: Add diff and idempotency to ip_ranges in net_config
Fix #1006

Signed-off-by: Sagi Shnaidman <sshnaidm@redhat.com>
2026-03-31 20:51:06 +03:00
Sagi Shnaidman
88999e2bcf Add --platform option to podman_image
Fix #1003
Signed-off-by: Sagi Shnaidman <sshnaidm@redhat.com>
2026-02-27 15:01:56 +02:00
Sagi Shnaidman
09bb5454a9 Add podman Quadlet modules
This commit introduces two new modules for managing Podman Quadlets:

- podman_quadlet: Install and remove Podman Quadlet files
  * Supports installing single files, directories, and additional config files
  * Implements idempotent state management (present/absent)
  * Validates parameters and provides meaningful error messages
  * Default force=true for removal operations
  * Removed deprecated 'ignore' parameter in favor of built-in idempotency

- podman_quadlet_info: Gather information about installed Quadlets
  * Lists all installed quadlets or prints specific quadlet content
  * Supports filtering by quadlet kinds (container, pod, network, etc.)
  * Provides detailed quadlet metadata including status and paths

Key features:
- Shared utilities in module_utils/podman/quadlet.py for code reuse
- Comprehensive integration tests for both modules
- Full idempotency support for all operations
- Proper handling of edge cases (missing files, malformed quadlets, etc.)
- Check mode support for safe dry-run operations
- Extensive documentation and examples

The modules use relative imports for module_utils to support local
development and testing with the containers.podman collection.

Signed-off-by: Sagi Shnaidman <sshnaidm@redhat.com>
2026-02-02 18:10:59 +02:00
Sergey
d43a5a4a48
Fix Ansible warning about test utils (#999)
Fix #993

Signed-off-by: Sagi Shnaidman <sshnaidm@redhat.com>
2026-01-16 15:41:09 +02:00
igor-belousov
5416c5dfd8
fix(podman_prune): set top-level changed status (#997)
* fix(podman_prune): set top-level changed status

The module was returning changed status inside nested dicts,
but Ansible expects it at the top level of the result.

Before: {"image": {"changed": true, ...}} -> Ansible sees changed=false
After:  {"changed": true, "image": {...}} -> Ansible sees changed=true
Signed-off-by: Igor Belousov <igor-belousov@users.noreply.github.com>

* Update plugins/modules/podman_prune.py

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Signed-off-by: Igor Belousov <igor-belousov@users.noreply.github.com>

---------

Signed-off-by: Igor Belousov <igor-belousov@users.noreply.github.com>
Co-authored-by: Igor Belousov <igor-belousov@users.noreply.github.com>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
2026-01-15 13:04:16 +02:00
Calvin Bui
b1a60bf8b7
add passthrough and none log driver options (#988)
Signed-off-by: Calvin Bui <3604363+calvinbui@users.noreply.github.com>
2025-11-04 23:03:44 +02:00
Jeoffrey Bakker
0d44070261
Fix idempotency for tagging local images (#980)
Signed-off-by: Jeoffrey Bakker <jeoffreybakker@users.noreply.github.com>
2025-09-18 14:59:31 +03:00
Sergey
15423c0a5a
Fix Ansible sanity issues for new version (#974)
Signed-off-by: Sagi Shnaidman <sshnaidm@redhat.com>
2025-08-29 11:58:20 +03:00
Sergey
f333fe7fca
Add podman system connection modules (#971)
Signed-off-by: Sagi Shnaidman <sshnaidm@redhat.com>
2025-08-25 09:35:27 +03:00
Sergey
ee52d9de78
Add podman image scp option (#970)
* Add podman image scp option

Fix #536


---------

Signed-off-by: Sagi Shnaidman <sshnaidm@redhat.com>
2025-08-19 23:30:35 +03:00
Sergey
9cffa671c8
Fix podman logout for newer Podman (#969)
Fix #935

Signed-off-by: Sagi Shnaidman <sshnaidm@redhat.com>
2025-08-18 23:15:41 +03:00
Sergey
e37123e06f
Rewrite podman_image and add tests (#957)
Signed-off-by: Sagi Shnaidman <sshnaidm@redhat.com>
2025-08-04 16:28:35 +03:00
Sergey
f2e813671a
Run black -l 120 on all files, again (#943)
Signed-off-by: Sagi Shnaidman <sshnaidm@redhat.com>
2025-06-26 13:24:44 +03:00
johnsonlien
aa20ede71e
Add podman system info module (#922)
Add podman system info module

Signed-off-by: johnsonlien <johnsonlien95@gmail.com>
Signed-off-by: Sagi Shnaidman <sshnaidm@redhat.com>

Co-authored-by: Sagi Shnaidman <sshnaidm@redhat.com>
2025-06-22 13:13:11 +03:00
Sergey
4c682e170c
Run black -l 120 on all Python files to unify the style (#939)
Signed-off-by: Sagi Shnaidman <sshnaidm@redhat.com>
2025-06-15 18:25:48 +03:00
André Lersveen
ac5da409fe
Fix idempotency for any podman secret driver (#929)
* Fix idempotency for any podman secret driver

All secret drivers are provided with the same interface in podman, so there is no need to hardcode the state as changed for all drivers other than 'file'.

Signed-off-by: lersveen <7195448+lersveen@users.noreply.github.com>

* ci: add tests for shell secret driver

Signed-off-by: lersveen <7195448+lersveen@users.noreply.github.com>

---------

Signed-off-by: lersveen <7195448+lersveen@users.noreply.github.com>
2025-05-13 15:06:45 +03:00
Ewoud Kohl van Wijngaarden
40d320d8f6
Document that sdnotify can be set to healthy (#911)
For quadlets you can set sdnotify (which maps to Notify=) to healthy to
use a healthcheck to determine when the container is up.

Signed-off-by: Ewoud Kohl van Wijngaarden <ewoud@kohlvanwijngaarden.nl>
2025-03-10 10:24:42 +02:00
jeu-umanit
1449f4c1b7
doc: podman_secret: fix indentation error in example (#905)
Signed-off-by: Julien Eula <jeula@umanit.fr>
2025-03-03 13:06:30 +02:00
Finn Krein-Schuch
95a7edb26a
Use usedforsecurity for hashlib.sha256 only in python version >=3.9 (#904)
The usedforsecurity keyword argument of the hashlib functions was
introduced in python 3.9. To achieve compatibility with versions below
that, we only use it once it is available.

The usedforsecurity argument forces use of secure hash functions in
specially compiled versions of python. In this case it would force to
upgrade sha256 to a different hash function should sha256 be deemeed
insecure in the future. The podman hash we are comparing against is
(currently) always sha256.

As sha256 is still considered secure, removing this option for older
python versions should be acceptable.
2025-02-17 18:54:36 +02:00
transcaffeine ✨️
14ac4a8045
fix(podman_image): correct intendation on 'loop' keyword (#903)
Signed-off-by: transcaffeine <transcaffeine@finally.coffee>
2025-02-17 15:16:10 +02:00
Hagen
16b034b71f
Fix podman_container_copy examples (#882)
Signed-off-by: hagene <hagene@uio.no>
2025-01-08 16:24:49 +02:00
Sergey
7fa610a416
Convert DNS domain search to a list (#881)
Fix #880

Signed-off-by: Sagi Shnaidman <sshnaidm@redhat.com>
2024-12-13 20:34:17 +02:00
Vinícius Hashimoto
d68ca756de
docs(podman_container): improve comments on network property (#878)
Signed-off-by: vkhashimoto <me@vkhashimoto.dev>
2024-11-24 20:34:29 +02:00
Sergey
a77ca6ab85
Fix list tags failure in podman_search (#875)
Fix #874
Signed-off-by: Sagi Shnaidman <sshnaidm@redhat.com>
2024-11-05 14:35:07 +02:00
Sergey
62348545b8
Add option to specify kube file content in module (#863)
Fix #463
Signed-off-by: Sagi Shnaidman <sshnaidm@redhat.com>
2024-10-23 18:35:25 +03:00
Guillaume HOUDMON
2deadf069a
Add quadlet file mode option to specify file permission (#867)
* Add quadlet file mode option

Signed-off-by: ghoudmon <guillaume@houdmon.com>

* Fix file mode only change test

Signed-off-by: ghoudmon <guillaume@houdmon.com>

---------

Signed-off-by: ghoudmon <guillaume@houdmon.com>
2024-10-22 15:20:26 +03:00
InsideTheVoid
84cff745f9
Fix unsupported pull policy in example on podman_container.py (#865)
Signed-off-by: InsideTheVoid <824767+InsideTheVoid@users.noreply.github.com>
2024-10-15 13:33:19 +03:00
Maximilian Stinsky
8aa5708355
podman_login does not support check_mode (#860)
The podman_login module does not have code to support check runs. Therefore a check run in ansible does the actual login. Set supports_check_mode to False so the login is skipped in a dry-run.

Signed-off-by: Maximilian Stinsky <maximilian@stinsky.com>
2024-10-08 17:40:24 +03:00
Martin Jackson
e46c7eb1a1
Add secret to login module (#858)
Signed-off-by: Martin Jackson <mhjacks@swbell.net>
Co-authored-by: Sergey <6213510+sshnaidm@users.noreply.github.com>
2024-10-07 23:08:29 +03:00
Sergey
ca8267c83b
Add new options for podman_network (#856)
Fix #846
Signed-off-by: Sagi Shnaidman <sshnaidm@redhat.com>
2024-09-29 20:44:58 +03:00
Sergey
4f8ab01fbb
Fix podman image permissions issue and runlable test (#853)
Signed-off-by: Sagi Shnaidman <sshnaidm@redhat.com>
2024-09-26 09:50:54 +03:00
Evgeni Golov
36c146a633
don't document quadlet_dir as required when setting state=quadlet (#852)
The underlying code has sane defaults and will figure out the
directory on its own in most cases
0b773e5d61/plugins/module_utils/podman/quadlet.py (L688-L693)

Signed-off-by: Evgeni Golov <evgeni@golov.de>
2024-09-25 17:51:54 +03:00
jakestec
1f16527350
modify error and docs (#848)
Signed-off-by: Jacob Stec <jacobstec@gmail.com>
2024-09-23 22:38:46 +03:00
SkrrtBacharach
58edc41196
Trigger a new image build when we detect that the Containerfile has changed. (#811)
* Trigger a new image build when we detect that the Containerfile has
changed.

Signed-off-by: gw <gw@bob.lol>

* Fix return type issues from PR feedback

Signed-off-by: gw <gw@bob.lol>

---------

Signed-off-by: gw <gw@bob.lol>
Co-authored-by: gw <gw@bob.lol>
2024-09-23 22:36:33 +03:00
Benjamin MENANT
4973c8639e
fix(podman_image): skip empty volume items (#833)
Signed-off-by: Benjamin Menant <dev@menant-benjamin.fr>
2024-09-03 22:00:19 +03:00
Sergey
622f82a8d9
Fix logic in Podman images (#832)
Fix #831
Signed-off-by: Sagi Shnaidman <sshnaidm@redhat.com>
2024-09-03 10:30:17 +03:00
Benjamin MENANT
ac3a7a5fde
fix(podman_save): always changed when force (#834)
fixes #826

Signed-off-by: Benjamin Menant <dev@menant-benjamin.fr>
2024-09-02 18:52:14 +03:00
Sergey
7a1d668e0e
Update inspection info about objects in modules (#819)
Signed-off-by: Sagi Shnaidman <sshnaidm@redhat.com>
2024-08-16 19:26:35 +03:00
Alessandro Rossi
eb46429493
Add podman_container_copy module (#813)
Signed-off-by: kubealex <al.rossi87@gmail.com>
2024-08-13 12:56:47 +03:00
Sergey
a7b89ba8fc
Add arch to podman build command explicitly (#805)
Signed-off-by: Sagi Shnaidman <sshnaidm@redhat.com>
2024-07-15 09:14:28 +03:00
Sergey
c7a2aec93c
Fix CI job for podman_image in push to docker (#785)
Signed-off-by: Sagi Shnaidman <sshnaidm@redhat.com>
2024-06-13 15:06:44 +03:00
Sergey
e60d54f629
Add option for inline Containerfile in podman_image (#781)
Signed-off-by: Sagi Shnaidman <sshnaidm@redhat.com>
2024-06-09 14:37:33 +03:00
Derek Waters
38d95029e8
Add podman search (#770)
* Add podman_search module

Signed-off-by: Derek <derek@frisbeeworld.com>
2024-06-03 09:49:29 +03:00
Sergey
4cb8404b7b
Fix issue with pushing podman image to repo name and org (#771)
If destination doesn't have image, but only repo name and org,
complete with image name and tag.

Signed-off-by: Sagi Shnaidman <sshnaidm@redhat.com>
2024-06-02 21:01:06 +03:00