ansible-bender


Nameansible-bender JSON
Version 0.10.1 PyPI version JSON
download
home_pagehttps://github.com/ansible-community/ansible-bender
SummaryA tool which builds container images using Ansible playbooks
upload_time2023-02-06 13:14:15
maintainer
docs_urlNone
authorTomas Tomecek
requires_python>=3.6
licenseMIT
keywords ansible containers linux buildah
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # ansible-bender
[![PyPI version](https://badge.fury.io/py/ansible-bender.svg)](https://badge.fury.io/py/ansible-bender)
![GitHub Release Date](https://img.shields.io/github/release-date/ansible-community/ansible-bender?label=Latest%20release)
![PyPI - Status](https://img.shields.io/pypi/status/ansible-bender)
![GitHub](https://img.shields.io/github/license/ansible-community/ansible-bender)
![PyPI - Downloads](https://img.shields.io/pypi/dm/ansible-bender)

This tool bends containers using
[Ansible](https://github.com/ansible/ansible)
[playbooks](https://docs.ansible.com/ansible/latest/user_guide/playbooks.html)
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](https://github.com/containers/buildah).
[More](http://github.com/ansible-community/ansible-bender/issues/25) [to
come](http://github.com/ansible-community/ansible-bender/issues/26) in the future.
Ansible-bender (ab) relies on [Ansible connection
plugins](https://docs.ansible.com/ansible/latest/plugins/connection.html) for
performing builds.

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

The concept is described in following blog posts:
* [Building containers with buildah and ansible](https://blog.tomecek.net/post/building-containers-with-buildah-and-ansible/).
* [Ansible and Podman Can Play Together Now](https://blog.tomecek.net/post/ansible-and-podman-can-play-together-now/).


## Looking for maintainers ❤

[This project doesn't have an active maintainer right now that](https://github.com/ansible-community/ansible-bender/issues/282) 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](https://github.com/containers/podman/blob/main/docs/source/markdown/podman-push.1.md) is used to perform the push.


## Documentation

You can read more about this project in the documentation:
* [Documentation home](https://ansible-community.github.io/ansible-bender/build/html/index.html)
* [Interface](https://ansible-community.github.io/ansible-bender/build/html/interface.html)
* [Installation](https://ansible-community.github.io/ansible-bender/build/html/installation.html)
* [Configuration](https://ansible-community.github.io/ansible-bender/build/html/configuration.html)
* [Usage](https://ansible-community.github.io/ansible-bender/build/html/usage.html)
* [Caching and Layering mechanism](https://ansible-community.github.io/ansible-bender/build/html/cacheandlayer.html)
* [Contribution guide](https://ansible-community.github.io/ansible-bender/build/html/contributing.html)
* [Ansible-bender in OKD](https://ansible-community.github.io/ansible-bender/build/html/okd.html)

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/ansible-community/ansible-bender",
    "name": "ansible-bender",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.6",
    "maintainer_email": "",
    "keywords": "ansible,containers,linux,buildah",
    "author": "Tomas Tomecek",
    "author_email": "tomas@tomecek.net",
    "download_url": "https://files.pythonhosted.org/packages/19/d5/21a2f32d2fcd76dd2064b697b5fc40ab4a2b3cd1cf3128e23be6fe09c776/ansible-bender-0.10.1.tar.gz",
    "platform": null,
    "description": "# ansible-bender\n[![PyPI version](https://badge.fury.io/py/ansible-bender.svg)](https://badge.fury.io/py/ansible-bender)\n![GitHub Release Date](https://img.shields.io/github/release-date/ansible-community/ansible-bender?label=Latest%20release)\n![PyPI - Status](https://img.shields.io/pypi/status/ansible-bender)\n![GitHub](https://img.shields.io/github/license/ansible-community/ansible-bender)\n![PyPI - Downloads](https://img.shields.io/pypi/dm/ansible-bender)\n\nThis tool bends containers using\n[Ansible](https://github.com/ansible/ansible)\n[playbooks](https://docs.ansible.com/ansible/latest/user_guide/playbooks.html)\nand turns them into container images. It has a pluggable builder selection \u2014\nit is up to you to pick the tool which will be used to construct your container\nimage. Right now the only supported builder is\n[buildah](https://github.com/containers/buildah).\n[More](http://github.com/ansible-community/ansible-bender/issues/25) [to\ncome](http://github.com/ansible-community/ansible-bender/issues/26) in the future.\nAnsible-bender (ab) relies on [Ansible connection\nplugins](https://docs.ansible.com/ansible/latest/plugins/connection.html) for\nperforming builds.\n\ntl;dr Ansible is the frontend, buildah is the backend.\n\nThe concept is described in following blog posts:\n* [Building containers with buildah and ansible](https://blog.tomecek.net/post/building-containers-with-buildah-and-ansible/).\n* [Ansible and Podman Can Play Together Now](https://blog.tomecek.net/post/ansible-and-podman-can-play-together-now/).\n\n\n## Looking for maintainers \u2764\n\n[This project doesn't have an active maintainer right now that](https://github.com/ansible-community/ansible-bender/issues/282) would watch issues daily.\n\nIf you are a user of ansible-bender and are familiar with Python, please consider becoming a maintainer.\n\n\n## Features\n\n* You can build your container images with buildah as a backend.\n* Ansible playbook is your build recipe.\n* You are able to set various image metadata via CLI or as specific Ansible vars:\n  * working directory\n  * environment variables\n  * labels\n  * user\n  * default command\n  * exposed ports\n* You can do volume mounts during build.\n* Caching mechanism:\n  * Every task result is cached as a container image layer.\n  * You can turn this off with `--no-cache`.\n  * You can disable caching from a certain point by adding a tag `no-cache` to a task.\n* You can stop creating new image layers by adding tag `stop-layering` to a task.\n* If an image build fails, it's committed and named with a suffix `-[TIMESTAMP]-failed` (so\n  you can take a look inside and resolve the issue).\n* The tool tries to find python interpreter inside the base image.\n* You can push images you built to remote locations such as:\n  * a registry, a tarball, docker daemon, ...\n  * [podman push](https://github.com/containers/podman/blob/main/docs/source/markdown/podman-push.1.md) is used to perform the push.\n\n\n## Documentation\n\nYou can read more about this project in the documentation:\n* [Documentation home](https://ansible-community.github.io/ansible-bender/build/html/index.html)\n* [Interface](https://ansible-community.github.io/ansible-bender/build/html/interface.html)\n* [Installation](https://ansible-community.github.io/ansible-bender/build/html/installation.html)\n* [Configuration](https://ansible-community.github.io/ansible-bender/build/html/configuration.html)\n* [Usage](https://ansible-community.github.io/ansible-bender/build/html/usage.html)\n* [Caching and Layering mechanism](https://ansible-community.github.io/ansible-bender/build/html/cacheandlayer.html)\n* [Contribution guide](https://ansible-community.github.io/ansible-bender/build/html/contributing.html)\n* [Ansible-bender in OKD](https://ansible-community.github.io/ansible-bender/build/html/okd.html)\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "A tool which builds container images using Ansible playbooks",
    "version": "0.10.1",
    "split_keywords": [
        "ansible",
        "containers",
        "linux",
        "buildah"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "bfb1af4d50bbe34a7e91823adc40bff918a6b331235ea68579a5b8e814ec6ce9",
                "md5": "741e13123b5787d292a6c418bc8121b3",
                "sha256": "717fd6200ec079cab7c01d7c494d35d149b113ca2222928d572741ad0433b8b0"
            },
            "downloads": -1,
            "filename": "ansible_bender-0.10.1-py2.py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "741e13123b5787d292a6c418bc8121b3",
            "packagetype": "bdist_wheel",
            "python_version": "py2.py3",
            "requires_python": ">=3.6",
            "size": 40044,
            "upload_time": "2023-02-06T13:14:07",
            "upload_time_iso_8601": "2023-02-06T13:14:07.726827Z",
            "url": "https://files.pythonhosted.org/packages/bf/b1/af4d50bbe34a7e91823adc40bff918a6b331235ea68579a5b8e814ec6ce9/ansible_bender-0.10.1-py2.py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "19d521a2f32d2fcd76dd2064b697b5fc40ab4a2b3cd1cf3128e23be6fe09c776",
                "md5": "fd97f524753aac37ac35d56071dd6640",
                "sha256": "2b2786e870106e22e17123b8cd6fa900ee7a72f6fbefbf8bd57aaee909c95089"
            },
            "downloads": -1,
            "filename": "ansible-bender-0.10.1.tar.gz",
            "has_sig": false,
            "md5_digest": "fd97f524753aac37ac35d56071dd6640",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.6",
            "size": 6807822,
            "upload_time": "2023-02-06T13:14:15",
            "upload_time_iso_8601": "2023-02-06T13:14:15.305266Z",
            "url": "https://files.pythonhosted.org/packages/19/d5/21a2f32d2fcd76dd2064b697b5fc40ab4a2b3cd1cf3128e23be6fe09c776/ansible-bender-0.10.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-02-06 13:14:15",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "github_user": "ansible-community",
    "github_project": "ansible-bender",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "ansible-bender"
}
        
Elapsed time: 0.07508s