Using Ansible content that depends on non-default dependencies can be tricky. Packages must be installed on each node, play nicely with other software installed on the host system, and be kept in sync.

To help simplify this process, we have introduced the concept of Execution Environments, which you can create with Ansible Builder.

Execution Environments

Execution Environments are container images that serve as Ansible control nodes. Starting in version 2.0, ansible-runner can make use of these images.

An Execution Environment is expected to contain:

  • Ansible

  • Ansible Runner

  • Ansible Collections

  • Python and/or system dependencies of:
    • modules/plugins in collections

    • content in ansible-base

    • custom user needs

Getting Started

To get started with Ansible Builder, start by creating an Execution Environment definition. This file allows you to specify which content you would like to include in your execution environment, such as collections, Python requirements, and system-level packages.

Once you have created a definition, read through the CLI Usage.

Collection Developers

Collection developers can declare requirements for their content by providing the appropriate metadata. For more information, see Collection-level Metadata.