Create an execution environment definition using the UI wizard
Use the execution environment builder wizard in Ansible automation portal to create a custom execution environment definition by selecting a template, base image, collections, and dependencies.
Before you begin
- You have access to Ansible automation portal with the
ansible.execution-environments.viewpermission granted. - Your AAP administrator has configured and synced content sources.
About this task
Navigate to Execution Environments > Create and select a template. The wizard walks you through base image selection, collections, dependencies, and build steps.
AAP administrators manage which templates are available and can control access with RBAC. The following built-in templates are available:
- Start from scratch -- minimal starting point for custom definitions (loaded by default).
- Networking Automation -- pre-selected networking collections (requires collections to be discoverable from a configured content source).
- Cloud Automation -- pre-selected cloud collections (requires collections to be discoverable from a configured content source).
Custom templates created by your AAP administrator also appear on this page. See Create standardized EE templates for teams for details.
Procedure
Results
The generated execution environment definition includes:
<ee-name>.yml-- the EE definition with all dependencies (collections, Python packages, system packages) declared inline. The file name matches the name you entered in the form.ansible.cfg-- galaxy server configuration (auto-generated from configured collection sources).<ee-name>-template.yaml-- a reusable template for sharing your configuration.
What to do next
Collections available in the picker come from configured content sources. If a collection is missing, ask your AAP administrator to verify the content source configuration and sync status.
Save definition files to a Git repository and build
Save execution environment definition files to a GitHub or GitLab repository and optionally trigger an automated container image build.
Before you begin
- Your AAP administrator has configured GitHub or GitLab OAuth. See Configure a GitHub OAuth App for saving definitions or Configure a GitLab OAuth App for saving definitions.
- For automated builds: your AAP administrator has configured GitHub repository secrets or GitLab CI/CD variables.
About this task
When you select Publish to a Git repository in the wizard, the definition files are saved to a GitHub or GitLab repository and can optionally trigger an automated container image build.
Procedure
- In the final step of the wizard, select Publish to a Git repository.
- Authenticate with your Git provider through OAuth when prompted.
- Select the target repository or allow the wizard to create a new one.
- Optional: Select Build Execution Environment to trigger an automated image build after saving.
- Configure the target registry (private automation hub or custom), image name, tag, and TLS settings.
- Click Create.
Results
The following files are saved to the repository:
<ee-name>.yml-- EE definition with all dependencies inline. The file name matches the name you entered in the form.<ee-name>-template.yaml-- reusable template file that administrators can register in the catalog.ansible.cfg-- galaxy server configuration.ee-build.yml(GitHub) or.gitlab-ci.yml(GitLab) -- CI/CD pipeline workflow for automated builds.
After saving, check the build status from the GitHub Actions tab or the GitLab CI/CD Pipelines page on the target repository.
If the target repository does not exist, it is created automatically. If it exists, a pull request is created instead.
Use a custom registry or self-signed certificates
Adjust the execution environment build configuration when targeting a private or internal container registry that uses custom URLs or self-signed certificates.
Before you begin
- Your AAP administrator has configured templates and internal content sources. See Host execution environment wizard templates in a private Git repository.
- You have access to an internal container registry.
Procedure
- In the wizard, select Custom Registry instead of private automation hub and enter your internal registry URL.
- Clear the Verify TLS certificates checkbox if your internal registry uses self-signed certificates that are not trusted by the GitHub Actions runner or GitLab Runner executing the build.
- Select a base image from your internal registry instead of the default
registry.redhat.ioimages.
Download definition files without saving to a repository
Create an execution environment definition and download the generated files as a .tar archive instead of saving them to a Git repository.
Procedure
- In the wizard, clear the Publish to a Git repository checkbox.
- Complete the remaining steps and click Create.
- After creation, click Download EE files to download a
.tararchive containing all generated files.
Results
The execution environment definition is registered in the catalog. The archive includes <ee-name>.yml (with all dependencies declared inline), <ee-name>-template.yaml, ansible.cfg, and an optional readme.
Import an existing execution environment definition
Import a previously generated execution environment template to make it available for other users to create definitions with the same defaults.
Before you begin
- You have the AAP Administrator role.
- You have a
<ee-name>-template.yamlfile hosted in a Git repository or available as a URL.
About this task
Importing templates requires AAP administrator access. Only users with the AAP Administrator role can import templates.
Procedure
- Navigate to Execution Environments > Create.
- Open the kebab menu and select Import Template.
- Paste the template URL and click Analyze.
- Click Import.
Results
The imported template appears on the Create tab. Launch the template to verify the wizard pre-populates the expected collections and configuration.