Container growth topology
The container-based growth topology provides a smaller footprint deployment without redundancy for organizations getting started with Ansible Automation Platform.
Included are the tested infrastructure topology, system requirements, network port configurations, and an example inventory file for installation.
Infrastructure topology
The Red Hat tested infrastructure topology for this deployment model:
Red Hat tests a single VM with these requirements:
| Requirement | Minimum requirement |
|---|---|
| RAM |
Note:
Metrics service adds approximately 4 GB RAM usage (2 GB minimum).
|
| CPUs |
4 |
| Local disk |
|
| Disk IOPS |
3000 |
| Purpose | Example group names |
|---|---|
| All Ansible Automation Platform components |
|
In the growth topology (all-in-one), metrics service runs on the same host as automation controller and other Ansible Automation Platform components. The installer deploys 3 metrics service containers:
automation-metrics-web- REST API for metrics and dashboard dataautomation-metrics-tasks- dispatcherd worker for data collectionautomation-metrics-scheduler- APScheduler for periodic collection tasks
Tested system configurations
Red Hat has tested these configurations to install and run Red Hat Ansible Automation Platform:
| Type | Description | Notes |
|---|---|---|
| Subscription |
|
|
| Operating system |
|
|
| CPU architecture |
x86_64, AArch64 |
|
| |
|
|
| Browser |
A currently supported version of Mozilla Firefox or Google Chrome. |
|
| Database |
|
|
| IP version |
IPv4, IPv6 (single-stack and dual-stack) |
Network ports
Red Hat Ansible Automation Platform uses several ports to communicate with its services. These ports must be open and available for Red Hat Ansible Automation Platform to work. Ensure that these ports are available and are not blocked by a firewall.
| Port number | Protocol | Service | Source | Destination | Description |
|---|---|---|---|---|---|
| 80/443 |
TCP |
HTTP/HTTPS |
Event-Driven Ansible |
Automation hub |
Pull container decision environments |
| 80/443 |
TCP |
HTTP/HTTPS |
Event-Driven Ansible |
Automation controller |
Launch automation controller jobs |
| 80/443 |
TCP |
HTTP/HTTPS |
Automation controller |
Automation hub |
Pull collections and execution environment images |
| 80/443 |
TCP |
HTTP/HTTPS |
Platform gateway |
Automation controller |
Platform gateway to automation controller communication |
| 80/443 |
TCP |
HTTP/HTTPS |
Platform gateway |
Automation hub |
Platform gateway to automation hub communication |
| 80/443 |
TCP |
HTTP/HTTPS |
Platform gateway |
Event-Driven Ansible |
Platform gateway to Event-Driven Ansible communication |
| 5432 |
TCP |
PostgreSQL |
Event-Driven Ansible |
Database |
Event-Driven Ansible database access |
| 5432 |
TCP |
PostgreSQL |
Platform gateway |
Database |
Platform gateway database access |
| 5432 |
TCP |
PostgreSQL |
Automation hub |
Database |
Automation hub database access |
| 5432 |
TCP |
PostgreSQL |
Automation controller |
Database |
Automation controller database access |
| 6379 |
TCP |
Redis |
Event-Driven Ansible |
Redis container |
Job launching and data storage for Event-Driven Ansible |
| 6379 |
TCP |
Redis |
Platform gateway |
Redis container |
Data storage and retrieval for platform gateway services |
| 8443 |
TCP |
HTTPS |
Platform gateway |
Platform gateway |
Internal gateway NGINX communication |
| 27199 |
TCP |
Receptor |
Automation controller |
Execution container |
Mesh nodes connect directly to controllers. Allows two-way communication for job distribution. |
| 8080/8443 |
TCP |
HTTP/HTTPS |
Platform gateway |
Automation controller |
Automation controller NGINX ports. You can configure these ports with the following inventory variables: |
| 8081/8444 |
TCP |
HTTP/HTTPS |
Platform gateway |
Automation hub |
Automation hub NGINX ports. You can configure these ports with the following inventory variables: |
| 80/443 |
TCP |
HTTP/HTTPS |
Platform gateway |
Metrics service API (internal, routes dashboard requires from hub UI) |
|
| 5432 |
TCP |
PostgreSQL |
Metrics service |
Metrics service database access ( |
|
| 8082/8445 |
TCP |
HTTP/HTTPS |
Platform gateway |
Event-Driven Ansible |
Event-Driven Ansible NGINX ports. You can configure these ports with the following inventory variables: |
| 8083/8446 |
TCP |
HTTP/HTTPS |
Platform gateway |
Platform gateway |
Platform gateway NGINX ports. You can configure these ports with the following inventory variables: |
If you change any port values by using inventory variables, refer to Inventory file variables to review all default port values and ensure there are no port conflicts.
Example inventory file
Use the example inventory file to perform an installation:
# This is the Ansible Automation Platform installer inventory file intended for the container growth deployment topology.
# This inventory file expects to be run from the host where Ansible Automation Platform will be installed.
# Consult the Ansible Automation Platform product documentation about this topology's tested hardware configuration.
#
# Consult the docs if you are unsure what to add
# For all optional variables consult the included README.md
# or the Ansible Automation Platform documentation
# This section is for your platform gateway hosts
# -----------------------------------------------------
[automationgateway]
aap.example.org
# This section is for your automation controller hosts
# -----------------------------------------------------
[automationcontroller]
aap.example.org
# This section is for your automation hub hosts
# -----------------------------------------------------
[automationhub]
aap.example.org
# This section is for your Event-Driven Ansible controller hosts
# -----------------------------------------------------
[automationeda]
aap.example.org
# This section is for the Ansible Automation Platform database
# -----------------------------------------------------
[database]
aap.example.org
[all:vars]
# Ansible
ansible_connection=local
# Common variables
# -----------------------------------------------------
postgresql_admin_username=postgres
postgresql_admin_password=<set your own>
registry_username=<your RHN username>
registry_password=<your RHN password>
redis_mode=standalone
# Platform gateway
# -----------------------------------------------------
gateway_admin_password=<set your own>
gateway_pg_host=aap.example.org
gateway_pg_password=<set your own>
# Automation controller
# -----------------------------------------------------
controller_admin_password=<set your own>
controller_pg_host=aap.example.org
controller_pg_password=<set your own>
controller_percent_memory_capacity=0.5
# Automation hub
# -----------------------------------------------------
hub_admin_password=<set your own>
hub_pg_host=aap.example.org
hub_pg_password=<set your own>
hub_seed_collections=false
# Event-Driven Ansible controller
# -----------------------------------------------------
eda_admin_password=<set your own>
eda_pg_host=aap.example.org
eda_pg_password=<set your own>
# Metrics service
# ----------------------------------------------------- automationmetrics_pg_host=aap.example.org
automationmetrics_pg_password=<set your own>SSH keys are only required when installing on remote hosts. If doing a self contained local VM based installation, you can use ansible_connection=local.
Metrics service database
The growth topology uses a managed PostgreSQL database that includes the metrics_service database alongside other AAP component databases.
Databases created
gateway- Platform gateway dataawx- Automation controller datapulp- Automation hub dataeda- Event-Driven Ansible datametrics_service- Metrics service data storage (20 GB minimum)
Database users
metrics_service- Full access to metrics_service databasems_awx_readonly- Read-only access to awx database for metrics collection