Building your first Execution Environment
We are going to build an EE that represents an Ansible control node containing standard packages such as ansible-core and Python in addition to an Ansible collection (community.postgresql) and its dependency (the psycopg2-binary Python connector).
To build your first EE:
-
Create a project folder on your filesystem.
mkdir my_first_ee && cd my_first_ee
-
Create a
execution-environment.ymlfile that specifies dependencies to include in the image.version: 3 images: base_image: name: registry.fedoraproject.org/fedora:42 dependencies: python_interpreter: package_system: python3 ansible_core: package_pip: ansible-core ansible_runner: package_pip: ansible-runner system: - openssh-clients - sshpass galaxy: collections: - name: community.postgresqlNote
The
psycopg2-binaryPython package is included in therequirements.txtfile for the collection. For collections that do not includerequirements.txtfiles, you need to specify Python dependencies explicitly. See the Ansible Builder documentation for details. -
Build a EE container image called
postgresql_ee.If you use docker, add the
--container-runtime dockerargument.ansible-builder build --tag postgresql_ee
-
List container images to verify that you built it successfully.
podman image list localhost/postgresql_ee latest 2e866777269b 6 minutes ago 1.11 GB
You can verify the image you created by inspecting the Containerfile or Dockerfile in the context directory to view its configuration.
less context/Containerfile
You can also use Ansible Navigator to view detailed information about the image.
Run the ansible-navigator command, type :images in the TUI, and then choose postgresql_ee.
Proceed to Running your EE and test the EE you just built.
See also
- Running a local container registry for Execution Environments
-
This guide in the Ansible community forum explains how to set up a local registry for your Execution Environment images.
© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/getting_started_ee/build_execution_environment.html