Sign inSign up

gwerlas/ansible

By gwerlas

•Updated 2 days ago

Container image with Ansible and clients for Docker, Podman and OpenStack

Image
Integration & delivery
0

10K+

gwerlas/ansible repository overview

⁠Ansible

Container image with Ansible⁠, built on gwerlas/ansible-core⁠, and what its modules need for Docker, Podman, Libvirt, Kubernetes and OpenStack.

GitLab Project : yoanncolin/container-images/ansible⁠.

The openstack command line client is not embedded: only openstacksdk, which the openstack.cloud modules use. Run the client from gwerlas/openstack-client⁠.

⁠Tags

Check end of life dates⁠ before chosing your version :

VersionBase imageRebuildTagsSource
14gwerlas/ansible-core:2.21⁠Weekly14.4.0, 14.4, 14, 14.4.0-alpine, 14.4-alpine, 14-alpine, alpine, latestDockerfile⁠
14debian:forkyWeekly14.0.0-debian, 2.22.01-debian, 14.0-debian, 2.22-debian, 14-debian, 2-debian, debianDockerfile⁠
13gwerlas/ansible-core:2.20⁠Weekly13.8.0, 13.8, 13, 13.8.0-alpine, 13.8-alpine, 13-alpineDockerfile⁠
12gwerlas/ansible-core:2.19⁠Weekly12.3.0, 12.3, 12, 12.3.0-alpine, 12.3-alpine, 12-alpineDockerfile⁠

⁠Software versions

Key tools embedded in each actively rebuilt image :

Tool14131214 (debian)
ansible14.4.013.8.012.3.014.0.0
ansible-core2.21.42.20.92.19.132.22.0
helm4.2.24.2.24.2.24.3.0
kubectl1.36.11.36.11.34.21.37.1
podman5.8.85.8.85.7.05.8.6
docker29.8.229.8.229.5.228.5.2
openstacksdk4.10.04.10.04.10.0—
openssl3.5.93.5.93.5.93.6.4
keytool21.0.1221.0.1221.0.12—

More details about the embedded software with :

docker run --rm -t gwerlas/ansible ansible-playbook versions.yml

⁠Usage

Simple usages

docker run gwerlas/ansible ansible --version
docker run gwerlas/ansible ansible-galaxy collection list

The container runs as the build user (non-root) inherited from the gwerlas/ansible-core⁠ image. When mounting a local directory, make sure it is readable and writable by that user, or pass your own UID/GID. The default working directory is /home/build/work.

Python packages installed with pip trust the CA bundle of certifi, not the system store. Behind a corporate CA, add it to the system store in an image derived from this one (update-ca-certificates), and point REQUESTS_CA_BUNDLE and SSL_CERT_FILE at /etc/ssl/certs/ca-certificates.crt.

Installing your role and running a playbook :

docker run \
  -v $PWD:/home/build/work \
  gwerlas/ansible \
  ansible-galaxy collection install -r requirements.yml
docker run --rm -t \
  -v $HOME/.ansible:/home/build/.ansible \
  -v $PWD:/home/build/work \
  gwerlas/ansible \
  ansible-playbook playbook.yml

With Docker, mounting the libvirt or the container socket :

docker run \
  -v $HOME/.ansible:/home/build/.ansible \
  -v $PWD:$PWD -w $PWD \
  -v /run/libvirt:/run/libvirt \
  gwerlas/ansible ...

docker run \
  -v $HOME/.ansible:/home/build/.ansible \
  -v $PWD:/home/build/work \
  -v /run/docker.sock:/run/docker.sock \
  gwerlas/ansible ...

With rootless Podman :

systemctl start --user podman.service
podman run \
  --userns=keep-id \
  -v $HOME/.ansible:/home/build/.ansible \
  -v $PWD:/home/build/work \
  -v $XDG_RUNTIME_DIR/podman/podman.sock:/run/docker.sock \
  gwerlas/ansible ...

Edit an Ansible Vault file, with vi, the default editor of Ansible :

docker run --rm -ti \
  -v <my-dir>:/work -w /work \
  gwerlas/ansible \
  ansible-vault edit <my-vault-file>.yml

⁠Builts in

To make some Ansible modules usable, we embed some system tools and python modules, on top of what gwerlas/ansible-core⁠ already holds.

⁠System tools
  • buildah
  • docker, with buildx
  • helm
  • keytool (a Java runtime cut down to java.base)
  • kubectl
  • nano
  • openssl
  • podman
  • rsync
  • virsh, virt-install
  • wget
  • yq
  • zip
⁠Python modules
  • docker
  • gitlab
  • jmespath
  • kubernetes
  • libvirt
  • lxml
  • netaddr
  • netifaces
  • openstacksdk
  • psycopg2 (PostgreSQL client)
  • pycdlib
  • xmltodict
⁠Collections
  • amazon.aws
  • ansible._protomatter
  • ansible.mariadb
  • ansible.mysql
  • ansible.netcommon
  • ansible.posix
  • ansible.utils
  • ansible.windows
  • arista.eos
  • azure.azcollection
  • check_point.mgmt
  • chocolatey.chocolatey
  • cisco.aci
  • cisco.intersight
  • cisco.ios
  • cisco.iosxr
  • cisco.meraki
  • cisco.mso
  • cisco.nxos
  • cisco.ucs
  • cloudscale_ch.cloud
  • community.aws
  • community.ciscosmb
  • community.clickhouse
  • community.crypto
  • community.dns
  • community.docker
  • community.general
  • community.grafana
  • community.hashi_vault
  • community.hrobot
  • community.library_inventory_filtering_v1
  • community.libvirt
  • community.mongodb
  • community.mysql
  • community.okd
  • community.postgresql
  • community.proxmox
  • community.proxysql
  • community.rabbitmq
  • community.routeros
  • community.sap_libs
  • community.sops
  • community.vmware
  • community.windows
  • community.zabbix
  • containers.podman
  • cyberark.conjur
  • cyberark.pas
  • dellemc.enterprise_sonic
  • dellemc.openmanage
  • dellemc.powerflex
  • dellemc.unity
  • f5networks.f5_modules
  • fortinet.fortimanager
  • fortinet.fortios
  • google.cloud
  • grafana.grafana
  • graphiant.naas
  • hetzner.hcloud
  • hitachivantara.vspone_block
  • hitachivantara.vspone_object
  • ibm.storage_virtualize
  • ieisystem.inmanage
  • infinidat.infinibox
  • infoblox.nios_modules
  • inspur.ispim
  • kaytus.ksmanage
  • kubernetes.core
  • kubevirt.core
  • lowlydba.sqlserver
  • microsoft.ad
  • microsoft.iis
  • mnussbaum.ansible_yay
  • netapp.cloudmanager
  • netapp.ontap
  • netapp.storagegrid
  • netapp_eseries.santricity
  • netbox.netbox
  • ngine_io.cloudstack
  • openstack.cloud
  • ovirt.ovirt
  • pcg.alpaca_operator
  • purestorage.flasharray
  • purestorage.flashblade
  • ravendb.ravendb
  • splunk.es
  • telekom_mms.icinga_director
  • theforeman.foreman
  • vmware.vmware
  • vmware.vmware_rest
  • vultr.cloud
  • vyos.vyos
  • wti.remote

⁠License

BSD 3-Clause License⁠.

Tag summary

Content type

Image

Digest

sha256:b9fe3d23b…

Size

343.4 MB

Last updated

2 days ago

docker pull gwerlas/ansible