Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/stuttgart-things/deploy-podman-container
deployment of podman container (w/ option for permanent)
https://github.com/stuttgart-things/deploy-podman-container
Last synced: 2 days ago
JSON representation
deployment of podman container (w/ option for permanent)
- Host: GitHub
- URL: https://github.com/stuttgart-things/deploy-podman-container
- Owner: stuttgart-things
- Created: 2023-03-15T11:47:24.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-06-13T09:16:28.000Z (5 months ago)
- Last Synced: 2024-06-13T12:14:38.715Z (5 months ago)
- Language: Jinja
- Size: 114 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
stuttgart-things/deploy-podman-conatiner
=======================deploys podman container (w/ option for permanent) on a target. all requirements will be installed (if not exists).
Role Requirements / Dependencies
--------------------------------```
sudo cat < /tmp/requirements.yaml
roles:
- src: https://github.com/stuttgart-things/install-configure-podman.git
scm: git
- src: https://github.com/stuttgart-things/install-configure-vault.git
scm: git
- src: https://github.com/stuttgart-things/deploy-podman-container.git
scm: git
- src: https://github.com/stuttgart-things/install-requirements.git
scm: git
- src: https://github.com/stuttgart-things/generate-selfsigned-certs.git
scm: git
collections:
- name: containers.podman
version: 1.2.0
- name: community.general
version: 1.3.4
- name: ansible.posix
version: 1.1.1EOF
ansible-galaxy install -r /tmp/requirements.yaml --force && ansible-galaxy collection install -r /tmp/requirements.yaml -f
```Example Playbook + vars profile for deploying a minio container
---------------------------------------------------------------```
cat < ./deploy-podman-container.yaml
---
- hosts: "{{ target_host | default('all') }}"
gather_facts: true
become: true
vars_files:
- "./{{ container }}.yaml"roles:
- role: deploy-podman-container
EOFcat < ./minio.yaml
---
container_name: minio
permanent: true
container_image: minio/minio:latest
container_run_args: >-
-d
container_cmd_args: >-
server /data
mounts:
data:
host: "/podman/pv/{{ container_name }}/data/"
container: /data:z
config:
host: "/podman/pv/{{ container_name }}/config/"
container: /config:z
certs:
host: "/podman/pv/{{ container_name }}/certs/"
container: /root/.minio/certs:zenv_vars:
ACCESS_KEY:
key: MINIO_ACCESS_KEY
value: admin
SECRET_KEY:
key: MINIO_SECRET_KEY
value: jackhammer
ports:
minio:
host: 9000
container: 9000
EOF
```Playbook execution
---------------------------------------------------------------
```
ansible-playbook -i ../my_inventory_file \
-e target_host=srv-minio
-e container=minio \
deploy-podman-container.yaml \
-vv
```Role history
----------------
| date | who | changelog |
|---|---|---|
|2020-07-08 | Patrick Hermann | intial commit for this role in codehub
|2020-10-12 | Patrick Hermann | Updated for using of ansible collections, fixed role structure, added ability of generation self signed certsLicense
-------BSD
Author Information
------------------Patrick Hermann ([email protected]), Stuttgart-Things, 07/2020.
this role is heavily influenced by [podman-container-systemd](https://github.com/ikke-t/podman-container-systemd) - we didnt like the style of the role and for a better understanding for podman from a technology side, we're still in the process to rewrite/implement a similar role.