114 lines
3.4 KiB
Markdown
114 lines
3.4 KiB
Markdown
[](https://github.com/containers/ansible-podman-collections/actions?query=workflow%3A%22Collection%20build%20and%20tests)
|
|
|
|
# Ansible Collection: containers.podman
|
|
|
|
This repo hosts the `containers.podman` Ansible Collection.
|
|
|
|
The collection includes the Podman container plugins to help the build and management of Podman containers.
|
|
|
|
## Documentation
|
|
|
|
For collection versions that are parts of Ansible releases, the documentation can be found on
|
|
Ansible docs site: https://docs.ansible.com/ansible/latest/collections/containers/podman
|
|
|
|
The latest documentation for current collection version in the repository is hosted on github.io docs
|
|
site: https://containers.github.io/ansible-podman-collections.
|
|
|
|
## Installation and Usage
|
|
|
|
### Installing the Collection from Ansible Galaxy
|
|
|
|
Before using the Podman collection, you need to install the collection with the `ansible-galaxy` CLI:
|
|
|
|
`ansible-galaxy collection install containers.podman`
|
|
|
|
You can also include it in a `requirements.yml` file and install it via
|
|
`ansible-galaxy collection install -r requirements.yml` using the format:
|
|
|
|
```yaml
|
|
collections:
|
|
- name: containers.podman
|
|
```
|
|
|
|
or clone by your own:
|
|
|
|
```bash
|
|
mkdir -p ~/.ansible/collections/ansible_collections/containers
|
|
git clone https://github.com/containers/ansible-podman-collections.git ~/.ansible/collections/ansible_collections/containers/podman
|
|
```
|
|
|
|
### Playbooks
|
|
|
|
To use a module from Podman collection, please reference the full namespace, collection name,
|
|
and modules name that you want to use:
|
|
|
|
```yaml
|
|
---
|
|
- name: Using Podman collection
|
|
hosts: localhost
|
|
tasks:
|
|
- name: Run redis container
|
|
containers.podman.podman_container:
|
|
name: myredis
|
|
image: redis
|
|
command: redis-server --appendonly yes
|
|
state: present
|
|
recreate: yes
|
|
expose:
|
|
- 6379
|
|
volumes_from:
|
|
- mydata
|
|
```
|
|
|
|
Or you can add full namespace and collection name in the `collections` element:
|
|
|
|
```yaml
|
|
---
|
|
- name: Using Podman collection
|
|
hosts: localhost
|
|
collections:
|
|
- containers.podman
|
|
tasks:
|
|
- name: Build and push an image using existing credentials
|
|
podman_image:
|
|
name: nginx
|
|
path: /path/to/build/dir
|
|
push: yes
|
|
push_args:
|
|
dest: quay.io/acme
|
|
```
|
|
|
|
## Contributing
|
|
|
|
We are accepting Github pull requests and issues.
|
|
There are many ways in which you can participate in the project, for example:
|
|
|
|
- Submit bugs and feature requests, and help us verify them
|
|
- Submit and review source code changes in Github pull requests
|
|
- Add new modules for Podman containers and images
|
|
|
|
## Testing and Development
|
|
|
|
If you want to develop new content for this collection or improve what is already
|
|
here, the easiest way to work on the collection is to clone it into one of the configured
|
|
[`COLLECTIONS_PATHS`](https://docs.ansible.com/ansible/latest/reference_appendices/config.html#collections-paths),
|
|
and work on it there.
|
|
|
|
### Testing with `ansible-test`
|
|
|
|
We use `ansible-test` for sanity.
|
|
|
|
## More Information
|
|
|
|
TBD
|
|
|
|
## Communication
|
|
|
|
Please submit Github issues for communication any issues.
|
|
You can ask Podman related questions on `#podman` channel of Ansible Podman questions
|
|
on `#ansible-podman` channel on Freenode IRC.
|
|
|
|
## License
|
|
|
|
GPL-3.0-or-later
|