Understand the air-gapped topology
In an air-gapped deployment, automation orchestrator runs in a disconnected environment with no outbound internet access from the cluster.
Understand how this topology works
You deploy automation orchestrator on an OpenShift cluster that has no outbound internet access. You mirror container images from a connected environment to an internal registry by using oc-mirror. Automation orchestrator is delivered through the Red Hat operators catalog provided by OpenShift Container Platform, so no product-specific offline configuration is required.
This topology is an extension of the independent deployment model. The same component architecture, authentication flow, and job dispatch mechanism apply. The key difference is how container images and operator catalogs reach the cluster.
Understand disconnected considerations
The following services behave differently in a disconnected environment.
- LLM providers
-
Automation orchestrator supports any OpenAI-compliant API host. In a disconnected environment, you can use a locally hosted LLM provider that is network-reachable from the cluster. Cloud-hosted LLM providers are not available without outbound internet access.
- Business telemetry
-
Automation orchestrator sends anonymous usage telemetry to Red Hat. In a disconnected environment, this telemetry is unavailable. Automation orchestrator continues to operate normally without it.
- Operator catalog
-
Automation Orchestrator is part of the Red Hat operators catalog provided by OpenShift Container Platform. In a disconnected environment, you mirror this catalog to an internal registry by using
oc-mirror. No additional catalog sources are required.
Understand authentication and job dispatch
Authentication and job dispatch work the same way as in the independent topology. Automation orchestrator connects to automation gateway on port 443 for OpenID Connect (OIDC) authentication and job dispatch to automation controller. The Ansible Automation Platform cluster must be network-reachable from the automation orchestrator cluster within the disconnected network.
Identify component boundaries
The component boundaries are the same as the independent topology, with the addition of image mirroring infrastructure.
- Automation orchestrator cluster
-
The automation orchestrator operator manages all automation orchestrator application services, internal mutual TLS (mTLS) certificates, and the OpenShift Route for external access. Container images are pulled from the internal registry.
- Ansible Automation Platform cluster
-
The Ansible Automation Platform operator manages automation gateway, automation controller, and their associated services. Both clusters must be within the same disconnected network.
- Customer-managed
-
Internal container registry (required), external PostgreSQL 15 database (required), S3-compatible storage (optional), and a connected workstation with
oc-mirrorfor image mirroring. All external dependencies must be within the disconnected network.
Air-gapped infrastructure topology
Review the infrastructure topology for an air-gapped deployment to understand how automation orchestrator components connect within a disconnected environment.
Review the infrastructure topology
The following diagram shows all automation orchestrator components on a disconnected OpenShift cluster, the image mirroring path from a connected environment, and the customer-managed dependencies within the disconnected network.
Read the diagram
The diagram uses the following conventions.
- Disconnected network boundary
-
The outer boundary that separates the disconnected environment from the internet. No outbound internet access is available from within this boundary.
- Automation orchestrator cluster
-
A disconnected OpenShift cluster containing all automation orchestrator components. Container images are pulled from the internal registry instead of external registries.
- Internal container registry
-
A customer-managed registry within the disconnected network that stores mirrored container images. The OpenShift cluster pulls all images from this registry.
- Image mirroring path
-
The path from a connected workstation through an air gap to the internal registry. You use
oc-mirroron a connected workstation to download images, transfer them across the air gap, and push them to the internal registry. - Ansible Automation Platform cluster
-
A separate cluster within the disconnected network running automation gateway and automation controller. Automation orchestrator connects on port 443 for OpenID Connect (OIDC) authentication and job dispatch.
- External dependencies
-
Customer-managed services within the disconnected network: PostgreSQL 15 database (required), S3-compatible storage (optional), and locally hosted LLM provider (optional).
Review key connections
All connections in this topology are within the disconnected network. No outbound internet access is required after the initial image mirroring.
- Automation orchestrator connects to automation gateway on port 443 for OIDC authentication and job dispatch.
- Automation orchestrator connects to its own external PostgreSQL 15 database on port 5432.
- The OpenShift cluster pulls container images from the internal registry.
- If you configure a locally hosted LLM provider, automation orchestrator backend pods connect to the provider endpoint over HTTPS.
Air-gapped topology components
Review the components that make up an air-gapped deployment, including automation orchestrator pods, image mirroring infrastructure, and customer-managed dependencies within the disconnected network.
Review automation orchestrator components
The automation orchestrator operator deploys and manages the following components on the disconnected cluster. All internal communication is secured with mutual TLS (mTLS). Container images are pulled from the internal registry.
| Count | Component | Description |
|---|---|---|
| 1 | Backend service | Processes API requests and coordinates communication with external services. |
| 1 | Worker | Runs workflow tasks. |
| 1 | Background worker | Runs scheduled jobs and maintenance tasks. |
| 1 | Temporal workflow engine | Coordinates workflow execution and scheduling. |
| 1 | Web UI | Serves the automation orchestrator browser interface. |
| 1 | Redis | Provides internal caching and message passing. |
Identify image mirroring infrastructure
You provision and manage the following infrastructure to deliver container images to the disconnected cluster.
| Component | Description |
|---|---|
| Internal container registry | A registry within the disconnected network that stores mirrored container images. The OpenShift cluster pulls all images from this registry. |
| Connected workstation | A workstation with internet access andoc-mirror installed. You use this workstation to download images and transfer them across the air gap. |
| OLM CatalogSource | A CatalogSource custom resource that points Operator Lifecycle Manager (OLM) to the mirrored Red Hat operators catalog in the internal registry. |
Review external Ansible Automation Platform components
The following Ansible Automation Platform components run on a separate cluster within the disconnected network.
| Component | Role in this topology |
|---|---|
| Automation gateway | Provides OIDC authentication and serves as the API entry point for job dispatch. Automation orchestrator connects on port 443 within the disconnected network. |
| automation controller | Executes automation jobs dispatched by automation orchestrator through automation gateway. |
Automation orchestrator does not connect to automation hub or Event-Driven Ansible.
Identify customer-managed external dependencies
You provision and manage the following services within the disconnected network.
| Component | Required | Description |
|---|---|---|
| PostgreSQL 15 database | Yes | Stores automation orchestrator application data. Must be within the disconnected network. |
| S3-compatible storage | No | Provides persistent storage for workflow artifacts. Must be within the disconnected network. |
| LLM provider | No | A locally hosted OpenAI-compliant API provider within the disconnected network. Cloud-hosted providers are not available without outbound internet access. |
Air-gapped tested system configurations
Review the tested system configurations for an air-gapped deployment to verify that your disconnected environment meets the requirements before you install.
Review tested configurations
The following table lists the infrastructure components and versions tested with automation orchestrator in an air-gapped deployment.
| Type | Description | Notes |
|---|---|---|
| Subscription | Valid Red Hat Ansible Automation Platform subscription | Required for the automation orchestrator cluster. |
| Red Hat OpenShift Container Platform | Red Hat OpenShift Container Platform 4.14 - 4.22. The OpenShift Container Platform version must be within the Red Hat supported lifecycle. For details on which versions are supported, see the OpenShift Container Platform Life Cycle Policy | Supports x86_64 and ARM64 architectures. The cluster must be configured for disconnected operation. For minimum cluster sizing, seeCluster requirements. |
| Ansible Automation Platform | Deployed on a separate cluster within the disconnected network | Review theRed Hat Ansible Automation Platform system requirements for the minimum supported version. Must be reachable on port 443 within the disconnected network. |
| Database | PostgreSQL 15 | Customer-provided, within the disconnected network. Sizemax_connections based on the number of backend replicas. |
| Internal container registry | Any container registry accessible from the OpenShift cluster | Required. Stores mirrored container images and the Red Hat operators catalog. |
oc-mirror |
OpenShift CLI plugin for mirroring images | Required on a connected workstation. SeeMirroring images for a disconnected installation using the oc-mirror plugin for version compatibility. |
| S3-compatible storage | Any S3-compatible object storage provider | Optional. Must be within the disconnected network. |
| LLM provider | Any locally hosted OpenAI-compliant API provider | Optional. Must be within the disconnected network. Cloud-hosted providers are not available. |
Air-gapped network ports and protocols
Review the network ports and protocols used by automation orchestrator in an air-gapped deployment to configure firewall rules within the disconnected network.
Review network ports within the disconnected network
All traffic in this topology stays within the disconnected network. No outbound internet access is required after the initial image mirroring.
| Port | Protocol | Source | Destination | Purpose |
|---|---|---|---|---|
| 443 | HTTPS | External clients | OpenShift Route | All external user and API traffic to automation orchestrator. TLS terminates at the Route. |
| 443 | HTTPS | Automation orchestrator backend | Automation gateway | OIDC authentication and job dispatch to automation controller within the disconnected network. |
| 5432 | TCP | Automation orchestrator backend | PostgreSQL database | Application data storage within the disconnected network. |
| 443 or 5000 | HTTPS | OpenShift cluster nodes | Internal container registry | Container image pulls. Port depends on your registry configuration. |
| 443 | HTTPS | Automation orchestrator backend | S3-compatible storage | Workflow artifact storage. Required only if S3 storage is configured within the disconnected network. |
| 443 | HTTPS | Automation orchestrator backend | Local LLM provider | Large language model API requests. Required only if a locally hosted LLM provider is configured. |
Review internal network ports
The following ports handle traffic between automation orchestrator components within the cluster. All internal traffic is secured with mutual TLS (mTLS) using operator-generated certificates.
| Port | Protocol | Source | Destination | Purpose |
|---|---|---|---|---|
| 6379 | TCP | Automation orchestrator backend | Redis | Caching and internal message queuing. |
| 8443 | TCP | OpenShift monitoring | Automation orchestrator metrics endpoint | Prometheus metrics scraping for the operator pod. The operator creates an allow-metrics-traffic NetworkPolicy to allow cross-namespace traffic on this port. For workload pod metrics and the full list of operator-managed NetworkPolicies, see Automation orchestrator operator-managed NetworkPolicies. |
For the complete list of NetworkPolicy resources that the operator creates for each component, see Automation orchestrator operator-managed NetworkPolicies.
Air-gapped example custom resource
Use this example AutomationOrchestrator custom resource as a starting point for an air-gapped deployment in a disconnected environment.
Review the example custom resource
The following example shows an AutomationOrchestrator custom resource (CR) configured for an air-gapped deployment. All referenced services must be within the disconnected network. Edit the values to match your environment before you apply the CR.
apiVersion: aap.ansible.com/v1alpha1
kind: AutomationOrchestrator
metadata:
name: my-orchestrator
namespace: automation-orchestrator
spec:
postgres:
host: pg.internal.example.com
port: 5432
sslMode: verify-full
backendDatabase:
secretRef:
name: orchestrator-pg-credentials
temporalDatabase:
secretRef:
name: temporal-pg-credentials
temporalVisibilityDatabase:
secretRef:
name: temporal-visibility-pg-credentials
caCertSecretRef:
name: orchestrator-pg-ca
ingress:
host: orchestrator.apps.internal.example.com
imagePullSecrets:
- name: internal-registry-pull-secret
backend:
replicas: 2
ui:
replicas: 2
worker:
replicas: 2Configure required fields
Configure the following fields for every air-gapped deployment.
- postgres
-
Connection details for your external PostgreSQL 15 database host within the disconnected network. You must provide separate credential secrets for three databases:
orchestrator(backend),temporal, andtemporal_visibility. Useverify-fullSSL mode with a CA certificate to secure the database connection. Automation orchestrator does not share Ansible Automation Platform databases. - ingress.host
-
The hostname for the OpenShift Route. Set this to a DNS name that resolves within the disconnected network.
- imagePullSecrets
-
A reference to a Kubernetes secret containing credentials for your internal container registry. Required if the registry requires authentication.
Create the registry pull secret
Create a Kubernetes secret for the internal registry credentials before you apply the CR.
oc create secret docker-registry internal-registry-pull-secret
--namespace automation-orchestrator
--docker-server=registry.internal.example.com
--docker-username=REPLACE_WITH_USERNAME
--docker-password=REPLACE_WITH_PASSWORDConfigure optional fields
Uncomment and configure the following fields based on your requirements. In an air-gapped deployment, all optional services must be within the disconnected network.
- fileStorage
-
S3-compatible object storage for workflow artifacts and context files used by agent task nodes. Must be within the disconnected network. If you omit this section, file upload operations return an error.
- otel
-
OpenTelemetry export configuration for sending audit events to a collector. Requires a network-accessible OpenTelemetry Collector endpoint on port 4318 within the disconnected network.
- secrets
-
References to pre-created secrets for JWT signing keys, the credential encryption key, the Redis password, and the initial admin password. The operator auto-generates these secrets if you do not provide them.
- tls
-
References to customer-provided internal TLS certificates. The operator generates a self-signed CA and per-service certificates if you do not provide them.
Mirror images for a disconnected environment
Mirror the automation orchestrator container images and operator catalog to an internal registry so that you can install in an air-gapped environment.
Before you begin
- A connected workstation with internet access and
oc-mirrorinstalled. - An internal container registry within the disconnected network that is accessible from the OpenShift cluster.
- A method to transfer files across the air gap (removable media, one-way data transfer, or similar).
ocCLI access to the disconnected OpenShift cluster.
About this task
Automation orchestrator is delivered through the Red Hat operators catalog provided by OpenShift Container Platform. You mirror this catalog and the required container images to your internal registry by using oc-mirror. This follows the standard Red Hat operator mirroring procedure.
Procedure
Results
The automation orchestrator container images and operator catalog are available in the internal registry.
What to do next
Install the operator from the OpenShift CLI. The operator pulls images from the internal registry instead of external registries.