Skip to main content

A tool which builds container images using Ansible playbooks

Project description

ansible-bender

PyPI version GitHub Release Date PyPI - Status GitHub PyPI - Downloads

This tool bends containers using Ansible playbooks and turns them into container images. It has a pluggable builder selection — it is up to you to pick the tool which will be used to construct your container image. Right now the only supported builder is buildah. More to come in the future. Ansible-bender (ab) relies on Ansible connection plugins for performing builds.

tl;dr Ansible is the frontend, buildah is the backend.

The concept is described in following blog posts:

Looking for maintainers ❤

This project doesn't have an active maintainer right now that would watch issues daily.

If you are a user of ansible-bender and are familiar with Python, please consider becoming a maintainer.

Features

  • You can build your container images with buildah as a backend.
  • Ansible playbook is your build recipe.
  • You are able to set various image metadata via CLI or as specific Ansible vars:
    • working directory
    • environment variables
    • labels
    • user
    • default command
    • exposed ports
  • You can do volume mounts during build.
  • Caching mechanism:
    • Every task result is cached as a container image layer.
    • You can turn this off with --no-cache.
    • You can disable caching from a certain point by adding a tag no-cache to a task.
  • You can stop creating new image layers by adding tag stop-layering to a task.
  • If an image build fails, it's committed and named with a suffix -[TIMESTAMP]-failed (so you can take a look inside and resolve the issue).
  • The tool tries to find python interpreter inside the base image.
  • You can push images you built to remote locations such as:
    • a registry, a tarball, docker daemon, ...
    • podman push is used to perform the push.

Documentation

You can read more about this project in the documentation:

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ansible-bender-0.10.1.tar.gz (6.8 MB view details)

Uploaded Source

Built Distribution

ansible_bender-0.10.1-py2.py3-none-any.whl (40.0 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file ansible-bender-0.10.1.tar.gz.

File metadata

  • Download URL: ansible-bender-0.10.1.tar.gz
  • Upload date:
  • Size: 6.8 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.1

File hashes

Hashes for ansible-bender-0.10.1.tar.gz
Algorithm Hash digest
SHA256 2b2786e870106e22e17123b8cd6fa900ee7a72f6fbefbf8bd57aaee909c95089
MD5 fd97f524753aac37ac35d56071dd6640
BLAKE2b-256 19d521a2f32d2fcd76dd2064b697b5fc40ab4a2b3cd1cf3128e23be6fe09c776

See more details on using hashes here.

File details

Details for the file ansible_bender-0.10.1-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for ansible_bender-0.10.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 717fd6200ec079cab7c01d7c494d35d149b113ca2222928d572741ad0433b8b0
MD5 741e13123b5787d292a6c418bc8121b3
BLAKE2b-256 bfb1af4d50bbe34a7e91823adc40bff918a6b331235ea68579a5b8e814ec6ce9

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page