Using self-service automation portal
Use self-service automation portal
Abstract
Preface Copy linkLink copied to clipboard!
Thank you for your interest in Red Hat Ansible Automation Platform. Ansible Automation Platform is a commercial offering that helps teams manage complex multi-tier deployments by adding control, knowledge, and delegation to Ansible-powered environments.
This guide describes how to add templates to your self-service automation portal instance, and how to launch them to run automation jobs. It also describes how to configure role-based access control (RBAC) so that you can restrict the teams and users who can run the jobs.
This document has been updated to include information for the latest release of Ansible Automation Platform.
Providing feedback on Red Hat documentation Copy linkLink copied to clipboard!
If you have a suggestion to improve this documentation, or find an error, you can contact technical support at https://access.redhat.com to open a request.
Chapter 1. Overview Copy linkLink copied to clipboard!
You can launch templates from self-service automation portal to execute job templates from your existing Ansible Automation Platform setup.
- Auto-generated self-service templates are automatically synced from the job templates in Ansible Automation Platform to the self-service automation portal. The forms for the auto-generated templates are identical to the forms for the job templates.
- You can import custom self-service templates from a Git repository. A configuration file links each custom template to a specific job template in Ansible Automation Platform and contains the forms that users must complete.
You can associate multiple custom self-service templates with a single Ansible Automation Platform job template. You can use role-based access control (RBAC) to assign different custom self-service templates for users with different levels of automation experience. For example, you can design a simplified template with a narrow scope for configuration for new users, and a more detailed template for automation experts.
Chapter 2. Logging in to self-service automation portal Copy linkLink copied to clipboard!
Learn how to access and authenticate to the self-service automation portal using your Ansible Automation Platform credentials.
2.1. Signing in to self-service automation portal Copy linkLink copied to clipboard!
Log in to the deployed self-service automation portal using your existing Ansible Automation Platform credentials. The portal uses these credentials for authentication.
Prerequisites
- You have configured an OAuth application in Ansible Automation Platform for self-service automation portal.
- You have configured a user account in Ansible Automation Platform.
Procedure
In a browser, navigate to the URL for self-service automation portal to open the sign-in page.
- Click .
The sign-in page for Ansible Automation Platform appears:
- Enter your Ansible Automation Platform credentials and click Log in.
- The self-service automation portal web console opens.
Troubleshooting
If your are using custom SSL certificates and when attempting to log in to self-service automation portal, it displays the error:
Login failed; caused by Error: Failed to send POST request: fetch failed
You must disable SSL validation in the Helm chart configuration.
In the self-service automation portal Helm chart, locate the
checkSSLparameter and set its value tofalse:Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Apply the updated configuration by upgrading the self-service automation portal Helm chart to allow users to log in.
2.2. Viewing templates Copy linkLink copied to clipboard!
View your accessible automation templates, displayed as tiles, on the Templates landing page of the self-service automation portal console.
Prerequisites
- You have signed in to self-service automation portal.
Procedure
- In a browser, sign in to self-service automation portal.
In the navigation pane, select Templates to open a landing page where tiles are displayed, representing the templates that you have access to.
2.3. Synchronizing auto-generated templates Copy linkLink copied to clipboard!
The auto-generated self-service templates are synchronized from the job templates in Ansible Automation Platform to self-service automation portal. You can manually trigger a sync from the Templates page.
This synchronization fetches updates for auto-generated self-service templates only.
Procedure
- In a browser, sign in to self-service automation portal.
In the navigation pane, select Templates to display the templates that you have access to.
- Select Sync now to launch a synchronization.
2.4. Viewing task run history Copy linkLink copied to clipboard!
You can view a list of all the tasks that have been run from self-service automation portal. You can manually trigger a sync from the Templates page.
Procedure
- In a browser, sign in to self-service automation portal.
In the navigation pane, select History.
The Task list page displays the tasks that have been run.
Troubleshooting
If the Task List page does not display the tasks that have been run, contact your administrator to ensure that the scaffolder.task.read permission is selected in RBAC for your account.
Chapter 3. Working with templates Copy linkLink copied to clipboard!
Understand how to deploy and manage both auto-generated and customized templates within the self-service automation portal to run your automation jobs.
3.1. Customized self-service templates Copy linkLink copied to clipboard!
Custom self-service templates are stored as YAML files in repositories in GitHub or Gitlab. When a user launches a software template from self-service automation portal, they must fill in a form with the values needed to run the associated job template in Ansible Automation Platform.
The custom self-service template YAML file must have a token: section that includes a ui:field: key for the authentication token for Ansible Automation Platform. This generates a field for the token in the form that appears when the user launches the template in self-service automation portal. The user enters the token: it is used to authenticate job template execution in Ansible Automation Platform.
The following example shows the token: section in a template. For security reasons, set the value of token.ui:backstage.review.show to false to ensure that the token is not visible to the user.
Setting the ui:widget: hidden field hides the Red Hat Ansible Automation Platform token input in the form.
3.2. Adding a template to self-service automation portal Copy linkLink copied to clipboard!
You can add a custom self-service template to the Templates view of your self-service automation portal instance. Custom self-service templates are stored in git repositories. self-service automation portal supports GitLab and GitHub Source Control Management (SCM).
Names for custom self-service templates must be unique. Custom self-service templates must have a different name to auto-generated job templates and also to other custom self-service templates.
Prerequisites
- You have created repositories in your Git SCM for the templates that you want to use.
-
In the git repository for your custom templates, ensure that the
metadata.namefield is unique and does not match an existing auto-generated template or another custom self-service template. For example, append*-customto the value of themetadata.namekey.
metadata: name: provision-database-custom
metadata:
name: provision-database-custom
- You must be logged in to self-service automation portal as an Ansible Automation Platform platform administrator.
Procedure
- In a browser, navigate to your self-service automation portal instance and sign in with your Ansible Automation Platform credentials.
- Navigate to the Templates Page.
- Click .
- Enter a valid Git SCM URL for the template that you want to add.
- Click to fetch the template.
- After the template has been fetched, review the list of what will be imported and added to the catalog.
- Click .
Verification
After the import is complete, return to the Templates page to view the newly created template. You can now launch your template.
3.3. Launching a template Copy linkLink copied to clipboard!
This procedure describes how to launch a template from a tile in the Templates view of your self-service automation portal instance.
Prerequisites
- You have configured RBAC in Ansible Automation Platform for templates that are associated with Ansible Automation Platform job templates.
Procedure
- In a browser, navigate to your self-service automation portal instance and sign in with your Ansible Automation Platform credentials.
- Navigate to the Templates page. The templates you have set up are displayed as tiles on the page.
In the template that you want to launch, click Start.
A description of the template is displayed.
- Click Launch to begin configuring the parameters for running the template.
- Fill out the required fields.
- Click Next.
- Review the entered information.
- Click Create to launch the template.
- The progress for the template execution is displayed.
Chapter 4. Working with custom self-service template permissions Copy linkLink copied to clipboard!
Custom self-service templates that you set up in self-service automation portal use a different set of RBAC rules than the RBAC rules for auto-generated self-service templates that are synchronized from Ansible Automation Platform.
- Auto-generated self-service templates: The RBAC settings for these templates are synchronized from Ansible Automation Platform.
- Custom self-service templates: You must set up RBAC for these templates in self-service automation portal.
4.1. Setting up RBAC for custom self-service templates Copy linkLink copied to clipboard!
By default, Ansible Automation Platform administrators can define self-service automation portal RBAC roles.
This procedure describes how to create a role in self-service automation portal that allows only a selected team to view and execute particular custom self-service templates.
Custom self-service templates in self-service automation portal are associated with job templates in Ansible Automation Platform. This association is set in the steps.actions section of the YAML file for the custom self-service template.
If you assign permissions to a particular team to launch a custom self-service template from self-service automation portal, then you must make sure that that team has permission to run the associated job templates in Ansible Automation Platform.
Prerequisites
-
You have created a user, for example
example-user. For more details, see Creating a user. -
You have added this user as a member of a team, for example
example-team. Fore more details, see Adding users to a team.
Procedure
- In a browser, log in to your self-service automation portal instance as an Ansible Automation Platform user with Ansible Automation Platform administrator privileges.
- In the navigation panel, select → .
In the RBAC view, click Create.
The Create Role view appears.
- Enter a name for the role.
- Select the user or group that you want to allow to use the role.
- In the Add Permission policies section, select the plug-ins that you want to enable for the role.
- Select Permission in the list of plug-ins to configure the fine-grained permission policies for the role.
- Click Next.
- Review the settings that you have selected for the role.
- Click Create to create the role.
4.2. Verifying RBAC Copy linkLink copied to clipboard!
This procedure describes how to verify that the role you set up is working correctly.
Procedure
Verify that users with permissions can use a template:
- Log in to self-service automation portal as a user who is a member of a team that has been enabled to use a role.
- Verify that RBAC is applied and that the user can use the templates that you enabled for the role.
- Log out of self-service automation portal.
Verify that users without permissions can not see or use a template:
- Log in to self-service automation portal as a user who is not a member of the new team that has been enabled to use the role.
- Verify that RBAC is applied and that the user cannot use the templates that you enabled for the role.
- Log out of self-service automation portal.
4.3. Deregistering custom self-service templates Copy linkLink copied to clipboard!
You can deregister custom self-service templates. Deregistering templates deletes them from the Templates view in the self-service automation portal console.
Procedure
- In a browser, log in to self-service automation portal as a user with administrative privileges.
- Select Templates to display the self-service templates.
For each custom self-service template that you want to delete, execute the following steps:
- Click a custom self-service template to open the Template detail view. The navigation bar contains the Unregister Template option.
Click Unregister Template.
- In the dialog, confirm that you want to deregister the template.
- Click Delete Entity to unregister the template.
Verification
In a browser, navigate to the Templates view for your self-service automation portal instance. Verify that the custom self-service templates that you deregistered have been deleted.
Chapter 5. Using custom actions and UI components in Backstage Software Templates Copy linkLink copied to clipboard!
The self-service automation portal is built on a Red Hat Developer Hub base image. It uses Backstage Software Templates, which are YAML-based workflow definitions that provide user forms to execute automation tasks in Ansible Automation Platform.
5.1. Overview Copy linkLink copied to clipboard!
Learn how to use the custom actions, filters, and UI components provided by the Ansible Backstage Plugins to create and manage custom software templates for the self-service automation portal.
Red Hat does not support the use of the Red Hat Developer Hub image for standalone purposes outside the scope of the Ansible Automation Platform self-service automation portal functionality. Refer to the official support policy for details.
5.2. Ansible backstage plugins Copy linkLink copied to clipboard!
The portal’s capabilities are delivered through Ansible Backstage Plugins that extend Red Hat Developer Hub functionality; the base Red Hat Developer Hub image is not customized. These plugins provide additional Backstage actions and filters that you use to create custom software templates.
| Plugin | Functionality |
|---|---|
| auth-backend-module-rhaap-provider | Provides OAuth 2.0 authentication with Ansible Automation Platform. |
| catalog-backend-module-rhaap | Synchronizes Ansible Automation Platform job templates as Backstage Software Templates. |
| scaffolder-backend-module-backstage-rhaap |
Provides the |
| backstage-rhaap-common | Contains shared libraries and utilities for Ansible Automation Platform integration. |
| self-service | Provides the user interface for all listed functionality. |
5.3. Custom backstage actions Copy linkLink copied to clipboard!
The following actions enable you to manage Ansible Automation Platform resources within a software template workflow.
5.3.1. rhaap:create-project Copy linkLink copied to clipboard!
Create an Ansible Automation Platform project that links to a source control repository containing Ansible content.
Input parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
|
| string | Yes | OAuth2 token for Ansible Automation Platform authentication. |
|
| boolean | No |
If |
|
| object | Yes | The project configuration object. See the "values" Object Structure table. |
“values” Object Structure
| Field | Type | Required | Description |
|---|---|---|---|
|
| string | Yes | Name of the project. |
|
| string | No | Description of the project. |
|
| object | Yes |
Organization object with |
|
| object | No |
Credential object with |
|
| string | Yes | Source control URL (for example, GitHub/GitLab repository URL). |
|
| string | No | Source control branch, tag, or commit. |
|
| boolean | No |
If |
Output parameters
| Parameter | Type | Description |
|---|---|---|
|
| object | Created project details. |
|
| number | Project ID in Ansible Automation Platform (AAP). |
|
| string | Project name. |
|
| string | Project description. |
|
| string | Ansible Automation Platform URL for the project. |
Example
5.3.2. rhaap:create-execution-environment Copy linkLink copied to clipboard!
Create an execution environment in Ansible Automation Platform that defines the container image used to run Ansible jobs.
Input parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
|
| string | Yes | OAuth2 token for Ansible Automation Platform authentication. |
|
| boolean | No |
If |
|
| object | Yes | The execution environment configuration object. |
“values” Object Structure
| Field | Type | Required | Description |
|---|---|---|---|
|
| string | Yes | Name of the execution environment. |
|
| string | No | Description of the execution environment. |
|
| object | Yes |
Organization object with required |
|
| string | Yes |
Full image location, including registry, image name, and tag (for example, |
|
| string | No |
Image pull policy: |
Output parameters
| Parameter | Type | Description |
|---|---|---|
|
| object | Created execution environment details. |
|
| number | Execution environment ID. |
|
| string | Execution environment name. |
|
| string | Execution environment description. |
|
| string | Ansible Automation Platform (AAP) URL for the execution environment. |
Example
5.3.3. rhaap:create-job-template Copy linkLink copied to clipboard!
Create a job template in Ansible Automation Platform that defines a reusable configuration for running Ansible playbooks.
Input parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
|
| string | Yes | OAuth2 token for Ansible Automation Platform authentication. |
|
| boolean | No |
If |
|
| object | Yes | The job template configuration object. |
“values” Object Structure
| Field | Type | Required | Description |
|---|---|---|---|
|
| string | Yes | Name of the job template. |
|
| string | No | Description of the job template. |
|
| object | Yes |
Project object with required |
|
| object | No |
Organization object with |
|
| object | Yes |
Inventory object with required |
|
| string | Yes | Path to the playbook file to execute. |
|
| string | No | Description of the job template. |
|
| string | No |
Source control type (for example, |
|
| object | No |
Execution environment object with required |
|
| object | No | Extra variables to pass to the playbook (key-value pairs). |
Output parameters
| Parameter | Type | Description |
|---|---|---|
|
| object | Created job template details. |
|
| number | Job template ID. |
|
| string | Job template name. |
|
| string | Job template description. |
|
| string | Ansible Automation Platform (AAP) URL for the job template. |
Example
5.3.4. rhaap:launch-job-template Copy linkLink copied to clipboard!
Launch an existing job template in Ansible Automation Platform.
Input parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
|
| string | Yes | OAuth2 token for Ansible Automation Platform authentication. |
|
| object | Yes | The job launch configuration object. |
“values” Object Structure
| Field | Type | Required | Description |
|---|---|---|---|
|
| string | Yes | Job template name to launch. |
|
| object | No |
Override inventory with |
|
| array | No | Array of credential objects to use. |
|
| object | No | Extra variables to pass to the job (key-value pairs). |
|
| string | No | Host pattern to constrain which hosts the job runs against. |
|
| string | No |
Job type: |
|
| object | No |
Override execution environment with |
|
| object | No |
Verbosity level object with |
|
| number | No |
Number of parallel processes (default: |
|
| number | No | Divide the job into N slices. |
|
| number | No |
Job timeout in seconds ( |
|
| boolean | No | Enable diff mode to show changes. |
|
| string | No | Comma-separated tags to run only specific tasks. |
|
| string | No | Comma-separated tags to skip specific tasks. |
Output parameters
| Parameter | Type | Description |
|---|---|---|
|
| object | Job execution details. |
|
| number | Job ID. |
|
| string | Job status. |
|
| string | Ansible Automation Platform (AAP) URL for the job. |
Example
5.3.5. Example with all backstage actions present Copy linkLink copied to clipboard!
The following example displays how you can use multiple actions together.
5.4. Custom UI components and filters Copy linkLink copied to clipboard!
The Ansible Backstage Plugins provide custom UI components that enhance the software template experience by integrating directly with Ansible Automation Platform resource selection and authentication.
5.4.1. AAPTokenField Copy linkLink copied to clipboard!
The AAPTokenField is a secure authentication field used in backstage scaffolder templates. It automatically fetches and stores an Ansible Automation Platform OAuth2 token, which is then available for all rhaap:* actions, enabling seamless authentication.
AAPTokenField Properties
The following table details the field’s properties for use in a template’s properties section.
| Property | Type | Description |
|---|---|---|
|
| string | The label displayed in the UI (for example, "AAP Token"). Defaults to "AAP Token". |
|
| string | A short help text displayed below the input field. |
|
| string |
Must be set to |
|
| boolean |
If |
Authentication flow and token management
All rhaap:* actions require an OAuth2 token for authenticating with Ansible Automation Platform. The field manages the token through the following process:
- Token Source: The token is automatically obtained from the Ansible Automation Platform OAuth2 authentication provider.
-
Storage: The token is stored securely in Backstage secrets or fetched through the
@ansible/backstage-plugin-auth-backend-module-rhaap-provider. -
Usage: The token is passed to each action using the
tokeninput parameter.
When the RHAAP auth provider is used, the token is injected automatically and can be referenced in the workflow steps as shown:
- id: create-project
action: rhaap:create-project
input:
token: ${{ parameters.AAP_TOKEN }}
# ... other inputs
- id: create-project
action: rhaap:create-project
input:
token: ${{ parameters.AAP_TOKEN }}
# ... other inputs
Example
The following example shows how to declare and reference the AAPTokenField within a backstage template. Note that ui:widget: hidden and ui:backstage: review: show: false are used to ensure the token is not exposed in the UI.
Error and validation handling
All rhaap:* actions include built-in validation and user-friendly error reporting:
- Validation: If the token is missing or invalid, the action throws the error: "`Authorization token not provided`."
- Error Messages: Actions catch API client errors, extracting and surfacing meaningful messages without exposing stack traces.
- Workflow Safety: If a step fails due to authentication, subsequent steps are automatically skipped, ensuring a safe and predictable workflow.
5.4.2. AAPResourcePicker Copy linkLink copied to clipboard!
The AAPResourcePicker is a dynamic field for backstage scaffolder templates. It fetches and displays a list of Ansible Automation Platform resources (such as inventories, organizations, or credentials) directly from the Ansible Automation Platform API, allowing users to select a resource for their automation workflow.
AAPResourcePicker Properties
The following table details the essential properties for configuring the resource picker in a template’s properties section.
| Property | Type | Description |
|---|---|---|
|
| string | The label displayed in the UI (for example, "Inventory"). |
|
| string | A short help text shown below the field. |
|
| string |
Must be set to |
|
| string |
The specific Ansible Automation Platform (AAP) resource type to fetch and display (for example, |
|
| string | The property name used to retrieve the resource ID (default: “id”). |
|
| string | The property name used to display the resource name in the list (default: “name”). |
|
| string | Set to “array” for a multi-select field; omit this property for a single-select field. |
Example
The following example demonstrates how to use the AAPResourcePicker to create a single-select field for choosing an Inventory.
5.4.3. Custom filters Copy linkLink copied to clipboard!
The plugins provide custom filters to extract specific properties from resource objects, which is essential for passing data between backstage steps.
| Filter | Purpose | Example Usage |
|---|---|---|
|
| Extracts a single, specific property from a resource object. | `$!{{ parameters.organization |
| resourceFilter('name') }}` |
| Extracts a specific property from multiple resource objects (when the input is an array). |
5.5. Standard UI widgets Copy linkLink copied to clipboard!
Standard UI widgets provide enhanced components for user forms to capture various types of input.
5.5.1. Textarea widget Copy linkLink copied to clipboard!
The textarea widget renders a multi-line text input field for capturing long-form user input such as descriptions or configuration content.
5.5.2. Select widget Copy linkLink copied to clipboard!
The select widget displays a dropdown menu that enables users to choose a single value from a predefined list of options.
5.5.3. Checkboxes widgets Copy linkLink copied to clipboard!
The checkboxes widget renders a group of checkboxes, enabling the selection of multiple options from a list. The original plural "Checkboxes Widgets" is corrected to the singular form for style consistency.
Chapter 6. Creating execution environment definitions in self-service automation portal Copy linkLink copied to clipboard!
Create custom execution environment (EE) definitions through Self Service Automation Portal using the EE Builder.
Technology Preview features are not supported with Red Hat production service level agreements (SLAs) and might not be functionally complete. Red Hat does not recommend using them in production. These features provide early access to upcoming product features, enabling customers to test functionality and provide feedback during the development process.
For more information about the support scope of Red Hat Technology Preview features, see Technology Preview Features Support Scope.
6.1. Enabling the Execution Environment Builder in self-service automation portal Copy linkLink copied to clipboard!
An administrator must enable the EE definition files feature in the configuration to display it in the left navigation panel.
To enable the EE definition files feature, you must modify the enabled key in your Helm chart configuration.
Procedure
- Open the configuration file for your Helm chart.
-
Navigate to the
default.main-menu-itemssection. Set the value of the
enabledkey under thedefault.eeconfiguration block totrue.NoteSetting
enabled: trueenables the EE definition files feature for all users.Example
The final configuration must look like the following example:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
6.2. Planning and reference for execution environment definitions Copy linkLink copied to clipboard!
Understand how to successfully plan and configure your custom execution environment (EE) definition. Review the available options for base images, automation presets, and dependency requirements before you start the creation process to ensure your EE supports your organization’s automation content.
6.2.1. Execution Environment (EE) definition Copy linkLink copied to clipboard!
The components and configurations for defining your EE are organized into two main categories: Pre-defined templates (presets) and custom components.
6.2.2. Pre-defined EE templates Copy linkLink copied to clipboard!
Pre-defined EE templates are pre-configured templates designed to accelerate environment setup for common use cases. They already include specific base images, collections, and dependencies tailored for their respective domain.
| Preset | Description | Key considerations and use cases |
|---|---|---|
| Start from scratch | A template which acts as a generic blank slate to start creating custom EEs from. | Use this preset when you require complete control over the base image and dependencies to build a highly customized or minimized EE. |
| Networking Automation | A template optimized for environments focused on network device interaction and network-specific content. | Use this preset when your automation primarily interacts with switches, routers, firewalls, and other network infrastructure. |
| Cloud Automation | A template optimized for environments focused on deploying and managing cloud resources (such as AWS or Microsoft). | Use this preset when your automation targets provisioning, configuration, and management of cloud services. |
6.2.3. Disabling pre-built templates Copy linkLink copied to clipboard!
For environments where these pre-built templates are not needed or conflict with organizational standards, they can be disabled in the Helm chart configuration.
Procedure
You can disable pre-built templates by commenting them out in the Helm chart configuration. The following is an example of all three pre-built templates commented out:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
6.2.4. Components for custom EE definitions Copy linkLink copied to clipboard!
When creating a custom EE, you define the core underlying elements that dictate the environment’s capabilities, security, and dependencies. These components are used to define the custom EE, and are also utilized internally by the pre-defined presets.
| Component or setting | Description | Key considerations and examples |
|---|---|---|
| Base images | The foundation layer of your EE, pre-configured with a specific operating system and toolset. By default, the following base images are available in all 3 pre-defined templates:
| Select a base image that aligns with your organization’s security and Python compatibility needs. Popular base images are optimized for minimal overhead or specific compliance requirements.
If you are providing a custom image, it must include Select a base image that aligns with your organization’s security and Python compatibility needs. |
| Collections | Specifies the Ansible Collections and Python libraries required by your automation content. |
Ensure all necessary content is included from the documentation’s list. You can add collections manually or upload a When collections overlap, the system merges the contents. If duplicates occur:
|
| Python requirements | Defines the minimum Python version and any extra Python packages required for this execution environment. | Must reflect the version compatibility used across your organization for running automation reliably.
Avoid repeating Python requirements already specified as a dependency by the selected collections (for example, in their respective |
| System packages | Operating system (OS) libraries and packages required by the Python packages or collections. | Defines the extra OS libraries and packages required by the Python packages or collections listed in the EE.
Examples: This list supplements, and must not repeat, any base OS dependencies already managed by your environment’s build system. |
| Additional build steps | Additional build steps are custom shell commands injected directly into the container runtime instruction file. | Use additional build steps to perform actions like installing private certificates or configuring environment variables not covered by standard package installation. |
6.3. Integrating Model Context Protocol (MCP) servers through the EE Builder Copy linkLink copied to clipboard!
The EE Builder supports the optional integration of a Model Context Protocol (MCP) server. MCP servers are an advanced feature used to expose automation actions to AI assistants or other cognitive services.
If you select an MCP server, the EE Builder automatically handles the necessary configuration files and dependencies. This portal feature generates execution environment definition files for building an execution environment with your selected MCP servers.
The EE Builder currently supports the following MCP servers:
- Git Hub
AWS
- AWS CCAPI
- AWS CDK
- AWS IAM
- AWS Core
- Azure
6.4. Creating EE definitions in Self-service automation portal using the EE Builder Copy linkLink copied to clipboard!
You can use the Execution Environment (EE) Builder in the self-service automation portal to create custom EE definitions through a guided workflow.
Prerequisites
- You have installed the self-service automation portal.
- You have the EE Builder feature enabled.
- You have reviewed the Planning and reference for EE definitions section.
Procedure
- Log into the self-service automation portal and select EE definition files from the lefthand navigation pane.
- If this is your first time creating an EE definition file, click Create Execution Environment definition file, otherwise select the Create tab.
- Click Start on your preferred template.
Select your preferred base image and click Next.
NoteRed Hat recommends using the Red Hat Minimal EE base. If selecting Custom Image, it is important you fully understand what the contents of your base image are. For example, a base image without Ansible core or Ansible runner will fail to build.
Select a collection from Add popular Collections or Add Collection Manually and click Next.
- Optional: To add additional Python or System requirements, select Specify additional python requirements and system packages, and then click Add packages manually or Choose File.
- Select your desired MCP servers and click Next.
Optional: In the Additional Build Steps section, you can specify custom build instructions that will be executed at specific steps during the build process:
- Select Add build Step.
- Select a step from the Step type drop-down list.
- Input a command you want to run at that step. You can provide a string of commands by giving each command a new line.
- Click Next.
In the Generate and publish section:
Fill in the following mandatory fields:
- EE File name
- Description
- Select source control provider
- SCM repository organization name or username
- Repository name
-
Ensure the
execution-environmenttag is applied. Click the plus (+) icon to add additional tags if required. - Ensure Publish to a Git repository is selected. If unselected, your EE will be provided as a download after the build process.
- If the Repository name you provided does not already exist, select Create new repository. If it does exist and you check the box, a pull request will be created instead.
- Click Next.
- Confirm your details are correct and click Create. This begins the scaffolding process.
- After the scaffolding is complete, click Getting started for next steps on how to build your EE definition.
Verification
Verify the creation and deployment of the EE definition file using one of the following methods:
In the self-service automation portal:
-
Click View details in catalog or Download EE files (downloads the generated files as a
.tarfile). - Alternatively, select EE definition files in the left-hand navigation pane. The new file appears in the Execution Environment definition files box.
-
Click View details in catalog or Download EE files (downloads the generated files as a
In the repository:
- Click GitHub repository or Gitlab repository to confirm the files were scaffolded into your repository.
6.5. Importing your custom EE definition Copy linkLink copied to clipboard!
The EE definition workflow generates a reusable Backstage software template, named <ee-name>-template.yaml. This template includes the specified default configurations when you select Publish to a Git repository during the creation of your custom EE definition.
The template is also generated for non-SCM based publishings.
You can import this template into the self-service automation portal to make the default configuration available to others.
Prerequisites
- You have installed the self-service automation portal.
- You have the EE Builder feature enabled.
- You have a custom EE definition hosted in a repository.
Procedure
-
Go to the repository where your
<ee-name>-template.yamlis stored and open it. - Copy the URL of the template.yaml page.
- Log into the self-service automation portal and select EE definition files from the lefthand navigation pane.
- Click Create > Add Template.
- Paste the template URL into the Select URL field and click Analyze.
- Click Import.
Verification
To verify your template was added successfully, go to EE definition files > Create. Here you should see your newly created custom template.
6.6. Managing your EE files Copy linkLink copied to clipboard!
Download your Execution Environment (EE) file to create a local backup. Copy an existing EE to use it as a template for a new, similar environment. Delete an EE to remove obsolete or unwanted definitions.
Prerequisites
- You have created an EE definition through the EE Builder.
Procedure
- Log into the self-service automation portal and select EE definition files from the lefthand navigation pane.
Under the Name column, select the EE you want to take action on:
- To download your EE definition, click Download EE files.
-
To delete your EE definition, click the
icon and then select Unregister entity.
To copy your EE definition:
-
Click the
icon and then select Copy entity URL.
- Select EE definition files from the lefthand navigation pane.
- Click Create and then Add template.
- Paste your entity URL into the Select URL field and click Analyze.
- Click Import. The new template now appears in the Execution Environment definition files page.
-
Click the
Chapter 7. Providing feedback in self-service automation portal Copy linkLink copied to clipboard!
Self-service automation portal provides a feedback form where you can suggest new features and content, as well as provide general feedback.
The feedback form is disabled by default. If the Feedback button is not visible in the console, your administrator must enable it in the portal configuration.
Click Feedback in the self-service automation portal console to display the feedback form.
- Enter the feedback you want to provide.
- Tick the I understand that feedback is shared with Red Hat checkbox.
- Click Submit.
To ensure that Red Hat receives your feedback, exclude your self-service automation portal URL in any browser ad blockers or privacy tools.